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.

  1. Hybrid models: Determine how to specify, simulate, and analyze system models that include both discrete and continuous aspects (M.S., Ph.D.).
  2. Design better specification languages and safety analysis tools to work on formal system and software models (Ph.D.).
  3. Architect and build a better toolset to build SpecTRM-RL models and perform safety analysis on them (M.Eng.).
  4. 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.).
  5. 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.]
  6. Design backward safety analysis algorithms for SpecTRM-RL (M.S., Ph.D).
  7. Define and implement timing analysis on SpecTRM-RL models (M.S.).
  8. 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.).
  9. 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)
  10. 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).
  11. 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.]
  12. 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.]
  13. 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]
  14. 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.).
  15. 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.]
  16. Other topics on system and software safety??