Award Abstract # 1513717
SHF: Medium: RUI: Collaborative Research: Advanced Traceability for Composing Product Line Safety Cases

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLOGY
Initial Amendment Date: June 17, 2015
Latest Amendment Date: June 17, 2015
Award Number: 1513717
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: July 1, 2015
End Date: June 30, 2021 (Estimated)
Total Intended Award Amount: $423,894.00
Total Awarded Amount to Date: $423,894.00
Funds Obligated to Date: FY 2015 = $423,894.00
History of Investigator:
  • Robyn Lutz (Principal Investigator)
    rlutz@iastate.edu
Recipient Sponsored Research Office: Iowa State University
1350 BEARDSHEAR HALL
AMES
IA  US  50011-2103
(515)294-5225
Sponsor Congressional District: 04
Primary Place of Performance: Iowa State University
IA  US  50011-1040
Primary Place of Performance
Congressional District:
Unique Entity Identifier (UEI): DQDBM7FGJPC5
Parent UEI: DQDBM7FGJPC5
NSF Program(s): Software & Hardware Foundation
Primary Program Source: 01001516DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7924, 7944, 9150, 9251
Program Element Code(s): 779800
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

In order to reduce time-to-market and development costs, families of safety-critical software systems are increasingly developed as product lines. Examples include the software in medical devices, airplanes, assistive robots, and self-driving vehicles. Product lines provide structured reuse of a wide range of software artifacts including requirements, architecture, design, code, and test cases. For safety-critical product lines, a safety case must be constructed for each product to provide evidence that it is safe for use. Constructing these safety cases is time-consuming and slows industries? time-to-market of new products. This project develops a solution for product lines that partially automates the construction of a product?s safety case from existing software artifacts and that guides the developer through the needed safety analysis and refinement steps. The goal of the project is to reduce the cost and effort of developing a safety case while leveraging product-line reuse to increase the quality and safety of delivered products.

The ability to reuse variability-aware safety assets can transform the way manufacturers of safety-critical product lines analyze the safety of their products and construct safety cases. Solutions are evaluated on real-world product lines with industrial collaborators. The underlying traceability techniques and tools, developed under this grant, will benefit a broad set of software-intensive systems by addressing the ongoing problems of trace link evolution and safe reuse. The project cross-trains students in traceability, software safety and product lines, and produces training materials to encourage transition to practice of the solutions developed.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

(Showing: 1 - 10 of 11)
A. Agrawal, S. Khoshmanesh, M. Vierhauser, M. Rahimi, J. ClelandHuang and R. Lutz, "Leveraging Artifact Trees to Evolve and Reuse Safety Cases" 1st ACM/IEEE International Conference on Software Engineering (ICSE19) , 2019
Lathrop, James I. and Lutz, Robyn R. and Brecount, Cameron and Potter, Hugh and Rohlfing, Kathryn and Slater, Jesse and Wallin, Joshua "SafeWalk: a Simulation Tool Kit for Exploring Software Requirements in a Safety-Critical Product Line" 30th IEEE International Requirements Engineering Conference RE 2022 , 2022 https://doi.org/10.1109/RE54965.2022.00038 Citation Details
Michael Vierhauser, Sean Bayley, Jane Wyngaard, Wandi Xiong, Jinghui Cheng, Joshua Huseman, Robyn R. Lutz and Jane Cleland-Huang "Interlocking Safety Cases for Unmanned Autonomous Systems in Shared Airspaces" IEEE Trans. Software Eng , v.47 , 2021 , p.899 10.1109/TSE.2019.2907595
M. Vierhauser, S. Bayley, J. Wyngaard, W. Xiong, J. Cheng, J. Huseman, R. Lutz, and J. Cleland-Huang "Interlocking Safety Cases for Unmanned Autonomous Systems in Shared Airspaces" IEEE Transactions on Software Engineering (TSE) , 2019 10.1109/TSE.2019.2907595
R. Lutz "Safe-AR: Reducing Risk While Augmenting Reality" 29th IEEE International Symposium on Software Reliability Engineering (ISSRE) , 2018 , p.70 10.1109/ISSRE.2018.00018
Robyn R. Lutz and Jane Cleland{-}Huang "The Risk of Overly Strict Requirements" {IEEE} Software , v.34 , 2017 , p.26--29 10.1109/MS.2017.53
Robyn R. Lutz and Jane Cleland{-}Huang "The Risk of Overly Strict Requirements" {IEEE} Software , v.34 , 2017 , p.26--29 10.1109/MS.2017.53
Robyn R. Lutz, James I. Lathrop, Cameron Brecount, Kendal Gast, Kathryn Rohlfing andJoshua Wallin "Using an Astronaut Jetpack Project to Teach Human-CPS Requirements Engineering" 10th International Workshop on Requirements Engineering Education and Training, REET@RE 2020 , 2020 , p.9 10.1109/REET51203.2020.00008
Seyedehzahra Khoshmanesh and Robyn R. Lutz "Does Link Prediction Help Find Feature Interactions in Software Product Lines?" 7th IEEE International Workshop on Artificial Intelligence for Requirements Engineering, AIRE@RE 2020 , 2020 , p.87 10.1109/AIRE51212.2020.00020
S. Khoshmanesh and R. Lutz "The Role of Similarity in Detecting Feature Interaction in Software Product Lines" 10th Int'l Workshop on Software Aging and Rejuvenation (WoSAR) , 2018 , p.286 10.1109/ISSREW.2018.00020
Thomas R. Devine and Katerina Goseva{-}Popstojanova and Sandeep Krishnan and Robyn R. Lutz "Assessment and cross-product prediction of software product line quality: accounting for reuse across products, over multiple releases" Autom. Softw. Eng. , v.23 , 2016 , p.253--302 10.1007/s10515-014-0160-4
(Showing: 1 - 10 of 11)

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

The goal of this project was to develop a solution for safety-critical software product lines that partially automated the initial construction of a new product’s safety case. The project aimed to provide guidance to developers in the reuse of safety assets such as safety-case elements across multiple releases of a safety-critical product line as appropriate. We developed, experimentally evaluated, and delivered several new techniques toward this goal. 

Software product lines use structured reuse of software assets from existing products to reduce the time-to-market and development costs of new products in the line.  Many product lines are safety-critical, including the software in medical devices, airplanes, helping robots, and self-driving vehicles. A safety case is built for a new product that assembles evidence showing that it is safe for use when used as planned.  Constructing these safety cases is time-consuming and costly for industry and can be a drag on innovation.

As a product line grows, new products and versions can introduce unintended changes that are unsafe.  For example, new features (units of functionality in the software) often interact in ways that are contrary to the developers’ intent and may be unsafe.   New products frequently operate in new contexts, such as different users, platforms, or environments, so assumptions used in previous products may be inappropriately reused rather than updated in the new product.  This can jeopardize or even invalidate the safety case for the new product.   To address this, we collaboratively introduced and tested a new technique that uses the traceability required by many certifying bodies to identify assumptions that were omitted or incorrectly retained in new products.

We investigated an important class of change that increasingly challenges safety case construction, namely, the composition of potentially mismatched components, exemplified in the interaction between small unpiloted aerial vehicles and ground stations in an urban airspace. We collaboratively developed a general framework to construct interlocking safety cases between the individual unpiloted aerial vehicles and the urban airspace’s overarching safety case. We delivered algorithms to monitor and respond to changes that violated safety assumptions.

Toward automating the safety analysis for a new software product’s safety case, we developed techniques to automatically learn unsafe feature interactions earlier in the development process.  We did this using machine learning models based on similarity measures of the software assets of existing products in the product line. 

 We further developed a new approach that detects unsafe feature interactions using program analysis to extract machine-learning models from source code.  Where specifications of constraints on feature interactions are undocumented, the constraints are inferred using feature-related data-flow dependency information. We extended our work to highly configurable systems where very high numbers of options lead existing techniques to miss unsafe configurations.  We experimentally evaluated our solutions on product-line benchmarks and a real-world configurable system. The project contribution was to support developers by improving the detection of feature combinations in a new product or version that could interact in unsafe or unknown ways.

More broadly, the project developed new techniques for increasing the safety of a delivered software product-line system and decreasing the work needed to build its safety case.  The project trained two graduate students in product line and safety case research.  We worked with multiple undergraduate students to develop research and educational material inspired by a NASA astronaut jetpack product line and published a paper with several of them. We also developed a new undergraduate course in software system safety, which has now been taught three times.  The algorithms, experimental data, and software from this project are publicly available to support future research and transition to industry.

 

 


Last Modified: 07/24/2021
Modified by: Robyn R Lutz

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page