ABSTRACT
Traceability is defined by the Center of Excellence for Software Traceability as "the ability to interrelate any uniquely identifiable software engineering artifact to any other, maintain required links over time, and use the resulting network to answer questions of both the software product and its development process". It is an essential element in the software development process, especially for Safety-Critical systems where trace links are used to demonstrate that all hazards and faults are mitigated in the delivered system. Maintaining trace links as a software system evolves over time is difficult, error-prone and costly. As a result, trace links tend to become outdated and safety-cases, which rely on trace links and associated data to compose arguments and evidence for system safety are invalidated. In practice, software developers must therefore painstakingly update trace links in order to re-validate safety-cases whenever they seek re-certification of their product. While a significant body of work exists in the area of trace link creation, very limited research has focused on the problem of link evolution. The goal of this dissertation is therefore to deliver an accurate, scalable, and practical approach for supporting trace link evolution across a diverse set of software artifacts including requirements, source code and safety cases.
- H. U. Asuncion, A. Asuncion, and R. N. Taylor. Software traceability with topic modeling. In 32nd ACM/IEEE International Conference on Software Engineering (ICSE), pages 95--104, 2010. Google ScholarDigital Library
- B. Berenbach, D. Gruseman, and J. Cleland-Huang. Application of just in time tracing to regulatory codes. In Proceedings of the Conference on Systems Engineering Research, 2010.Google Scholar
- J. Cleland-Huang, C. K. Chang, and Y. Ge. Supporting event based traceability through high-level recognition of change events. In Computer Software and Applications Conference, 2002. COMPSAC 2002. Proceedings. 26th Annual International, pages 595--600. IEEE, 2002. Google ScholarDigital Library
- J. Cleland-Huang, O. Gotel, J. H. Hayes, P. Mäder, and A. Zisman. Software traceability: trends and future directions. In FOSE, pages 55--69, 2014. Google ScholarDigital Library
- J. Cleland-Huang, M. Rahimi, and P. Mäder. Achieving lightweight trustworthy traceability. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pages 849--852, 2014. Google ScholarDigital Library
- RePa15: Fifth international workshop on requirements patterns, http://re.cs.depaul.edu/papers/RePa15-submission-5.pdf.Google Scholar
- M. L. Collard, M. J. Decker, J. Maletic, et al. srcml: An infrastructure for the exploration, analysis, and manipulation of source code: A tool demonstration. In Software Maintenance (ICSM), 2013 29th IEEE International Conference on, pages 516--519. IEEE, 2013. Google ScholarDigital Library
- R. Dömges and K. Pohl. Adapting Tracability Environments to Project-Specific Needs. Communications of the ACM, 41(12):54--62, dec 1998. ISSN 0001-0782. Google ScholarDigital Library
- A. Etien and C. Salinesi. Managing requirements in a co-evolution context. In Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on, pages 125--134. IEEE, 2005. Google ScholarDigital Library
- FDA: U.s. food and drug administration, http://www.fda.gov/.Google Scholar
- M. Fowler. Refactoring: improving the design of existing code. Pearson Education India, 1999. Google ScholarDigital Library
- J. Hassine, J. Rilling, J. Hewitt, and R. Dssouli. Change impact analysis for requirement evolution using use case maps. In Principles of Software Evolution, Eighth International Workshop on, pages 81--90. IEEE, 2005. Google ScholarDigital Library
- P. Mäder and O. Gotel. Towards automated traceability maintenance. Journal of Systems and Software, 85(10):2205--2227, 2012. Google ScholarDigital Library
- P. Mader, P. L. Jones, Y. Zhang, and J. Cleland-Huang. Strategic traceability for safety-critical projects. Software, IEEE, 30(3):58--66, 2013. Google ScholarDigital Library
- B. Ramesh and M. Jarke. Toward reference models of requirements traceability. IEEE Transactions on Software Engineering, 27(1):58--93, 2001. Google ScholarDigital Library
- P. Rempel, P. Mäder, T. Kuschke, and J. Cleland-Huang. Mind the gap: assessing the conformance of software traceability to relevant guidelines. In Proceedings of the 36th International Conference on Software Engineering, pages 943--954. ACM, 2014. Google ScholarDigital Library
- PTC: Siemens train control systems, http://www.usa.siemens.com/.Google Scholar
- TCS: Tata consultancy services, http://www.tcs.com/.Google Scholar
- P. Weissgerber and S. Diehl. Identifying refactorings from source-code changes. In Automated Software Engineering, 2006. ASE'06. 21st IEEE/ACM International Conference on, pages 231--240. IEEE, 2006. Google ScholarDigital Library
- Z. Xing and E. Stroulia. Umldiff: an algorithm for object-oriented design differencing. In Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, pages 54--65. ACM, 2005. Google ScholarDigital Library
Index Terms
- Trace link evolution across multiple software versions in safety-critical systems
Recommendations
Integrated safety analysis of software-controlled critical systems
Software for safety-critical systems must deal with the hazards identified by safety analysis in order to make the system safe, risk-free and fail-safe. Certain faults in critical systems can result in catastrophic consequences such as death, injury or ...
Issues in the application of software safety standards
SCS '05: Proceedings of the 10th Australian workshop on Safety critical systems and software - Volume 55The application of software safety standards as part of the development of safety critical software is usually considered an essential element of any safety program. Yet it is fairly rare for safety practitioners to step back and critically evaluate both ...
A framework for software safety in safety-critical systems
Software for safety-critical systems must deal with the hazards identified by safety analysis in order to make the system safe, risk-free, and fail-safe. Because human lives may be lost and tremendous economic costs may result if the software fails, the ...
Comments