Skip to main content
Log in

Computer-aided discovery of formal specification behavioral requirements and requirement to implementation mappings

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. JUnit is a well-known standard Java testing framework; see www.junit.org.

  2. Coverage in this example was done using the Emma test coverage tool (www.eclemma.com).

References

  1. Clarke E, Wing J et al (1996) Formal methods: state of the art and future direction. ACM Comput Surv 28(4):626–643

    Article  Google Scholar 

  2. 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

  3. 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

  4. 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

  5. Dutertre B, Stavridou V (1997) Formal requirements analysis of an avionics control system. IEEE Trans Softw Eng 23(5):267–278

  6. 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

  7. 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)

  8. 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

    Article  Google Scholar 

  9. Havelund K, Rosu G (2004) An overview of the runtime verification tool java pathexplorer, vol 24., Formal methods in system designSpringer, Netherlands

    Google Scholar 

  10. 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

  11. Hoare CAR (1985) Communicating seqential processes., International series in computer scienceprentice hall, Englewood Cliffs

    Google Scholar 

  12. Hopcroft JE, Ullman JD (2006) Introduction to automata theory, languages, and computation. Addison Wesley, Menlo Park

    Google Scholar 

  13. Kodkod A (2006) Constraint solver for relational logic. http://alloy.mit.edu/kodkod/

  14. 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

  15. http://www.scientificamerican.com/article.cfm?id=world-changing-ideas-2011

  16. IEEE Transactions on Software Engineering - Special issue on formal methods in software practice Volume 23 Issue 5, May 1997.

  17. 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)

Download references

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

Authors

Corresponding author

Correspondence to Doron Drusinsky.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-014-0235-1

Keywords

Navigation