Software safety is critical to many projects conducted by both private industry and the government. After the Challenger accident, NASA adopted a safety policy based on a National Research Council report that requires every project to take an organized and systematic approach to identify safety hazards or unsafe situations and practices, and to follow appropriate steps to assure adequate safety. At the REU site to be established undergraduates participate in research on verification and validation for software safety: from, initially, a series of training seminars on the necessary background knowledge, to becoming involved in one of several specially designed research topics according to their interests. Topics include safety analysis, model construction and simulation, validation test generation and execution, etc. Interaction between the students and faculty mentors is emphasized. Follow-ups are also conducted with the students after the summer program to prepare their results for presentation at conferences and publication in journals.
The research subject is software safety with a focus on the analysis and integration of failure conditions with functional specifications, the use of assertions in formal specifications, and validation not only for testing software under normal conditions but also for showing that unsafe states cannot be generated by the software as the result of single or multiple erroneous inputs. This project allows students from underrepresented groups or universities with limited research opportunities to experience cutting-edge research in software engineering and to gain proficiency in a broadly applicable skill set, including critical thinking, research methods, problem solving, and oral and written communication -- all of which are very important for success in graduate programs and careers in science and technology research.
For software-intensive systems in which failures can have life-threatening consequences, software safety is a principal consideration. Engineers of such systems must understand techniques for verification and validation of software safety and be aware of emerging developments in the area. That being said, instead of teaching engineers about software safety once they are already in the workforce, it is more logical for the principles of software safety to be built into the very fundamentals of their body of knowledge, i.e., while the engineer is in becoming. Therefore, we must ensure that software safety-related knowledge is imparted to students starting from the undergraduate level. We have taken one such step in this direction by hosting an NSF-sponsored summer REU program on "Verification and Validation for Software Safety". Not only will undergraduate students be introduced to software safety, but they would also gain experience conducting research at an earlier stage of their academic development. The primary goals of this REU project are to: provide students with research opportunities focusing on "verification and validation for software safety", help students develop a broad skill set including oral and written communication, research methods, critical thinking, and problem solving, encourage students to complete graduate-level education, especially underrepresented groups (women, minorities, persons with disabilities), and students at undergraduate institutions with limited research opportunities, and motivate students to pursue a career in the high-demand fields of computer science or software engineering Specially designed research projects and support from our industry partners provide a unique experience for our REU students no matter their level of experience with software safety. In particular, they are introduced to relevant industrial practices for testing software safety to build the complex, safety-critical software of our future. Field trips to Lockheed Martin Aeronautics, HP, Raytheon, etc. have also helped REU students better understand how software safety is verified and validated in practice for real-life applications. Students had a chance to communicate with practitioners to receive a direct account of the work environments and lifestyles in the industry. REU students also attended workshops on professional writing and oral presentation to improve their proficiency in preparing technical reports and delivering research results. Videos and PowerPoint slides for students’ presentations as well as lectures on software safety and ethics have been posted at YouTube and/or our REU website for convenient reference and greater dissemination. Of the 30 REU students (10 each year), 40% were from UTD and the remaining 60% from other universities including three HBCUs (Historically Black Colleges and Universities), two HSIs (Hispanic-Serving Institutions), and one American Indian Tribal College. With respect to gender, one-third was female and the rest was male. As for the ethnicity, about one-half (53.3%) were Caucasian, 20% black, 10% Hispanic, 15% Asian, and 3.3% American Indian. Based on this data, our REU site has a very diverse group of students with different ethnic backgrounds. Students from underrepresented groups as well as institutions with limited research opportunities are well represented. About 50% of our REU alumni are currently pursuing or plan to pursue a more advanced degree. 50% of the UTD students who attended our summer REU program continued their research under the supervision of Professor Wong (the PI) the following semesters by taking three credits of independent study. Some non-UTD students also continued their research after returning to their home institutions. Our REU alumni have received an NSF Graduate Research Fellowship (GRFP), an Undergraduate Research Scholar Award at UT-Dallas, an LSMAMP Senior Female Award, and a Student Travel Award from the Emerging Researchers National (ERN) Conference in Science, Technology, Engineering and Mathematics (STEM). Results from our REU research projects have led to improvements in our software engineering curriculum to reflect the growing importance of software safety. A set of modules on "Testing for Software Safety" have been added to undergraduate courses such as SE 4367 (Software Testing and Quality Assurance) – a requirement for the Software Engineering major. Significant changes have also been made to SE 4485 (Software Engineering Project) – a mandatory capstone project course – where impacts to the software development lifecycle due to software safety requirements must be considered, and questions such as "How should software processes, methods and tool support be adjusted?" and "What are the relative costs?" must be answered. A contribution unique to our REU site is the feedback collected from students to improve the training materials (Foundational Requirements for Competency in Software Safety), currently in use by industry affiliates of our NSF co-funded I/UCRC (Industry/University Cooperative Research Center) for in-house training of their employees. This cooperation between industry and academia, funded by both government and private sectors, creates the maximum benefit for our REU students. This would not be possible without a close connection between two high-synergy projects (this REU project and our I/UCRC project) both focusing on Software Safety.