CURRENT THESIS TOPICS IN SYSTEM ENGINEERING, SAFETY ENGINEERING,
AND SOFTWARE SAFETY
The following list includes Master's and Ph.D. level research
and thesis topics that are currently funded or that I think are
important and would like to supervise. Most of the topics could be
at the master's or Ph.D. level, depending on the depth and type of
research done. A few are appropriate for UROP (undergraduate research)
or senior theses. Each of these topics includes multiple theses or
dissertations and research at various levels. The ordering of topics
is random.
- Hybrid models: Determine how to specify, simulate, and analyze
system models that include both discrete and continuous aspects
(M.S., Ph.D.).
- Design better specification languages and safety analysis tools
to work on formal system and software models (Ph.D.).
- Architect and build a better toolset to build SpecTRM-RL models
and perform safety analysis on them (M.Eng.).
- Design visualization techniques and tools to assist engineers in
understanding complex state-machine models. In addition to assisting
engineers in design and validation, these techniques might also be
useful in assisting pilots and other operators in learning about and
understanding complex automation (accidents are starting to occur
due to pilot misunderstanding about the design of the automation)
(M.Eng, M.S., Ph.D.).
- Define new types of requirements coupling and traceability to
reduce the impact of requirements changes on the development of
safety-critical, software-intensive systems. This topic also
includes specification and design techniques to lessen the cost
of reanalysis and verification of safety for proposed changes to
the software (Ph.D. or a very good M.S. thesis). [NASA Ames has
just given us a new 3-year grant to support research on this topic.]
- Design backward safety analysis algorithms for SpecTRM-RL (M.S.,
Ph.D).
- Define and implement timing analysis on SpecTRM-RL models
(M.S.).
- Define test data coverage for blackbox state-machine models in the
same way that structural coverage has been defined for code. Devise
techniques and tools for generating test data to various coverage
levels, for evaluating the coverage achieved in the software testing
process, or for determining the regression testing necessary after
software requirements changes (M.S. or Ph.D.).
- Implement tools (including nice GUIs) for backward safety analysis,
software deviation analysis, test data generation, safety information
systems, and completeness analysis on SpecTRM-RL models (M.Eng, M.S.,
maybe UROP)
- Apply our modeling and safety analysis tools experimentally to
a complex engineered system to evaluate the feasibility and effectiveness
and to determine future research directions and topics (M.Eng, M.S.,
UROP).
- Survey and evaluate current accident and human error models and
determine the requirements for and potential basis for a new accident
model that includes hardware, software, human error, and
management/organizational factors (M.Eng, M.S.) [This is a deliverable
due to NASA by June, 2000.]
- Devise and validate a new accident model that includes hardware,
software, human error, and management/organization error. This model will
probably be based on concepts from system theory, previous models,
and real accidents and incidents. Define new hazard analysis techniques
for this model. Determine how to define safety metrics using this
model (M.S., Ph.D.). [John Hansman and I just got a 3-year grant from
the NASA Software IV&V Center to support this work.]
- Determine how to use SpecTRM-RL models, intent specifications,
and the results of hazard analysis to design safer human-computer
interaction. This topic includes analysis for potential mode
confusion, other aspects of situation awareness, task allocation
between the human and the computer, and determination of what
information humans need and when they need it in order to work in
a safe and effective partnership with computers (M.S., Ph.D.). [Currently
funded by NSF]
- Devise a methodology for integrating the design of human-computer
interaction into the system and software design process. Includes
defining the integration of human-computer requirements specification
and design into intent specifications (M.S., Ph.D.).
- Survey and evaluate public policy approaches to ensuring public
safety in software-intensive systems. Potential approaches include
licensing of software engineers, government certification of safety-critical
software, voluntary certification (e.g., UL certification), tort law,
certification of educational programs, and the use of standards
(M.S., M.Eng., senior thesis). [John Knight at the University of
Virginia and I are currently co-chairing a special ACM Task Force to
report on these issues -- the student would assist with this research
effort.]
- Other topics on system and software safety??