Abstract
This paper presents two computer-aided techniques for discovering formal specification behavioral requirements and for mapping components and methods within an implementation to their driving requirements. The first technique is an informal technique while the second technique is formal. The first technique uses a system reference model abstraction and a set of existing formal specifications to discover implementation components that are not well covered by the formal specification set. This technique also provides a mapping between requirements and code segments driven by those requirements. The second technique uses a bounded constraint solver to match a set of tests with a generic formal specification taken from a small library.
Similar content being viewed by others
Notes
JUnit is a well-known standard Java testing framework; see www.junit.org.
Coverage in this example was done using the Emma test coverage tool (www.eclemma.com).
References
Clarke E, Wing J et al (1996) Formal methods: state of the art and future direction. ACM Comput Surv 28(4):626–643
Clarke EM, Emerson EA (1981) Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen D (ed) Proc. workshop on logic of programs, LNCS vol. 131. Springer, pp 52–71
Drusinsky D (2006) Modeling and verification using UML statecharts—a working guide to reactive system design. Runtime monitoring and execution-based model checking. Elsevier, Amsterdam
Drusinsky D (2011) Practical UML-based specification, validation, and verification of mission-critical software. Space exploration and defense software examples in practice. ISBN: 978-145750-494-5
Dutertre B, Stavridou V (1997) Formal requirements analysis of an avionics control system. IEEE Trans Softw Eng 23(5):267–278
Drusinsky D, Michael JB, Otani T, Shing M (2008) Validating UML statechart-based assertions libraries for improved reliability and assurance. In: Proc. \(2^{nd}\) international conf. on secure system integration and reliability improvement, Yokohama, Japan, 14–17 July 2008, pp 47–51
Drusinsky D, Michael JB, Otani T, Shing M (2008) Validating UML statechart-based assertions libraries for improved reliability and assurance. In: Proceedings of the second international conference on secure system integration and reliability improvement (SSIRI 2008), Yokohama, Japan, 14–17 July 2008, pp 47–51 (Best paper award)
Easterbrook S, Lutz R, Covington R, Kelly J, Ampo Y, Hamilton D (1998) Experiences using lightweight formal methods for requirements modeling. IEEE Trans Softw Eng 24(1):4–14
Havelund K, Rosu G (2004) An overview of the runtime verification tool java pathexplorer, vol 24., Formal methods in system designSpringer, Netherlands
Hinchey MG, Rash JL, Rouff CA (2005) Requirements to design to code: towards a fully formal approach to automatic code generation. NASA tech. monograph TM-2005, 212774
Hoare CAR (1985) Communicating seqential processes., International series in computer scienceprentice hall, Englewood Cliffs
Hopcroft JE, Ullman JD (2006) Introduction to automata theory, languages, and computation. Addison Wesley, Menlo Park
Kodkod A (2006) Constraint solver for relational logic. http://alloy.mit.edu/kodkod/
Malik S, Zhang L (2002) The quest for efficient boolean satisfiability solvers. In: Proc. 14\(^{th }\) conf. on computer aided verification (CAV2002), Copenhagen, Denmark, July 2002, pp 17–36
http://www.scientificamerican.com/article.cfm?id=world-changing-ideas-2011
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice Volume 23 Issue 5, May 1997.
Wing JM, Woodcock J (2000) Special issues for FM ’99: the first World Congress on formal methods in the development of computing systems. IEEE Trans Softw Eng 26(8)
Acknowledgments
This research was funded by a Grant Numbers N0001413AF00002 and N0001414AF00002 from the Office of Naval Research. The views expressed in t his document are those of the author and do not reflect the official policy or position of the Department of Defense or the U.S. Government.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Drusinsky, D. Computer-aided discovery of formal specification behavioral requirements and requirement to implementation mappings. Innovations Syst Softw Eng 10, 271–281 (2014). https://doi.org/10.1007/s11334-014-0235-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-014-0235-1