[go: up one dir, main page]

Skip to main content

Towards Agile Verification

  • Chapter
  • First Online:
Perspectives on the Future of Software Engineering

Abstract

Advances in software verification techniques have been impressive in the past decade. Formal verification of large production software is now increasingly feasible and this is paving the way to transferring these techniques from research to practice. We argue, however, that there is still a serious mismatch between verification and modern development processes, which highly focus on agility and incremental, iterative development. To address this issue, verification has to become agile, and seamless introduction into agile processes has to become feasible. We envision new approaches that will support verification-driven development in the same way as test-driven development is possible today, for example through JUnit within an IDE like Eclipse. In this paper we discuss how agile verification can be achieved, and we show some promising initial steps in this direction.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The sum of the execution probabilities of the alternative behaviors shall equal to one.

  2. 2.

    For both SDs and MCs it is possible to also support hierarchical decompositions, where an SC message OR a MC transition is detailed by a sub-SC or a sub-MC, respectively. This is ignored here for the sake of simplicity.

  3. 3.

    For a discussion of qualitative versus quantitative verification, please refer to [23].

  4. 4.

    Note that in Fig. 4a we use a logarithmic scale.

  5. 5.

    Figure 4a shows linear growth on a logaritmic scale because the number of refined states grows exponentially with the number of levels.

References

  1. Baier, C., Katoen, J.-P.: Principles of Model Checking, vol. 26202649. MIT, Cambridge (2008)

    MATH  Google Scholar 

  2. Bianculli, D., Filieri, A., Ghezzi, C., Mandrioli, D.: A syntactic-semantic approach to incremental verification. In: Submitted for Publication (2013)

    Google Scholar 

  3. Breu, R., Hinkel, U., Hofmann, C., Klein, C., Paech, B., Rumpe, B., Thurner, V.: Towards a formalization of the unified modeling language. In: Aksit, M., Matsuoka, S. (eds.) ECOOP’97 Object-Oriented Programming, Jyväskylä. Lecture Notes in Computer Science, vol. 1241, pp. 344–366. Springer, Berlin/Heidelberg (1997)

    Chapter  Google Scholar 

  4. Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)

    Article  Google Scholar 

  5. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT, Cambridge (2000)

    Google Scholar 

  6. Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning assumptions for compositional verification. In: Proceedings of the 9th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’03, Warsaw, 2003, pp. 331–346

    Google Scholar 

  7. Cordy, M., Schobbens, P.-Y., Heymans, P., Legay, A.: Towards an incremental automata-based approach for software product-line model checking. In: Proceedings of the 16th International Software Product Line Conference—Volume 2, SPLC ’12, Salvador, 2012, pp. 74–81

    Google Scholar 

  8. Famelis, M., Salay, R., Chechik, M.: Partial models: towards modeling and reasoning with uncertainty. In: 34th International Conference on Software Engineering (ICSE), Zurich, June 2012, pp. 573–583

    Google Scholar 

  9. Filieri, A., Ghezzi, C.: Further steps towards efficient runtime verification: handling probabilistic cost models. In: 2012 Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA), Zurich, pp. 2–8. IEEE (2012)

    Google Scholar 

  10. Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: Proceedings of the 33rd International Conference on Software Engineering, Waikiki, Honolulu, pp. 341–350. ACM (2011)

    Google Scholar 

  11. Fisler, K., Krishnamurthi, S.: Modular verification of collaboration-based software designs. In: Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ESEC/FSE-9, Vienna, pp. 152–163. ACM, New York (2001)

    Google Scholar 

  12. Flanagan, C., Qadeer, S.: Assume-guarantee model checking. Technical report, Microsft Research (2003)

    Google Scholar 

  13. Fowler, M., Highsmith, J.: The agile manifesto. Softw. Dev. 9(8), 28–35 (2001)

    Google Scholar 

  14. Genest, B., Muscholl, A., Peled, D.: Message sequence charts. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) Lectures on Concurrency and Petri Nets. Lecture Notes in Computer Science, vol. 3098, pp. 537–558. Springer, Berlin/Heidelberg (2004)

    Chapter  Google Scholar 

  15. Ghezzi, C.: Evolution, adaptation, and the quest for incrementality. In: Monterey Workshop, Oxford, 2012, pp. 369–379

    Google Scholar 

  16. Ghezzi, C., Sharifloo, A.M.: Model-based verification of quantitative non-functional properties for software product lines. Inf. Softw. Technol. 55(3), 508–524 (2013)

    Article  Google Scholar 

  17. Ghezzi, C., Menghi, C., Sharifloo, A.M., Spoletini, P.: On requirements verification of evolving models. In: Submitted for publication (2013)

    Google Scholar 

  18. Giannakopoulou, D., Păsăreanu, C.S., Barringer, H.: Assumption generation for software component verification. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering, ASE ’02, Edinburgh, 2002

    Google Scholar 

  19. Harel, D.: Statecharts: a visual formalism for complex systems. Science Comput. Program. 8(3), 231–274 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  20. Henzinger, T., Qadeer, S., Rajamani, S.: You assume, we guarantee: methodology and case studies. In: Hu, A., Vardi, M. (eds.) Computer Aided Verification. Lecture Notes in Computer Science, vol. 1427, pp. 440–451. Springer, Berlin/Heidelberg (1998)

    Chapter  Google Scholar 

  21. Henzinger, T.A., Jhala, R., Majumdar, R., Sanvido, M.A.A.: Extreme model checking. In: Dershowitz, N. (ed.) Verification: Theory and Practice, pp. 180–181. Springer, Berlin/London (2004)

    Google Scholar 

  22. Object Management Group. The UML profile for MARTE: modeling and analysis of real-time and embedded systems. Online at: http://www.omgmarte.org/

  23. Kwiatkowska, M.: Quantitative verification: models, techniques and tools. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on Foundations of Software Engineering, Dubrovnik, pp. 449–458. ACM (2007)

    Google Scholar 

  24. Kwiatkowska, M., Norman, G., Parker, D.: Stochastic model checking. In: Bernardo, M., Hillston, J. (eds.) Formal Methods for Performance Evaluation, pp. 220–270. Springer, Berlin/New York (2007)

    Chapter  Google Scholar 

  25. Kwiatkowska, M., Norman, G., Parker, D.: Prism: probabilistic model checking for performance and reliability analysis. ACM Perform. Eval. Rev. 36(4), 40–45 (2009)

    Article  Google Scholar 

  26. Lauterburg, S., Sobeih, A., Marinov, D., Viswanathan, M.: Incremental state-space exploration for programs with dynamically allocated data. In: Proceedings of the 30th International Conference on Software Engineering, Leipzig, pp. 291–300. ACM (2008)

    Google Scholar 

  27. Păsăreanu, C.S., Dwyer, M.B., Huth, M.: Assume-guarantee model checking of software: a comparative case study. In: Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking, Trento/Toulouse, 1999, pp. 168–183

    Google Scholar 

  28. Salay, R., Chechik, M., Horkoff, J.: Managing requirements uncertainty with partial models. In: 20th IEEE International Requirements Engineering Conference (RE), Chicago, Sept 2012, pp. 1–10

    Google Scholar 

  29. Sharifloo, A.M., Spoletini, P.: Lover: light-weight formal verification of adaptive systems at run time. In: 9th International Symposium on Formal Aspects of Component Software, Mountain View, 2012, pp. 170–187

    Google Scholar 

  30. Thang, N.T., Katayama, T.: Towards a sound modular model checking of collaboration-based software designs. In: Tenth Asia-Pacific Software Engineering Conference, Chiang Mai, Dec 2003, pp. 88–97

    Google Scholar 

  31. Van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, Chichester (2009)

    Google Scholar 

  32. Yang, G., Dwyer, M.B., Rothermel, G.: Regression model checking. In: IEEE International Conference on Software Maintenance, 2009. ICSM 2009, Edmonton, pp. 115–124. IEEE (2009)

    Google Scholar 

  33. Young, M., Pezze, M.: Software Testing and Analysis: Process, Principles, and Techniques. Wiley, Hoboken (2008)

    Google Scholar 

Download references

Acknowledgements

This research has been partially funded by the European Commission, Programme IDEAS-ERC, Project 227977-SMScom.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlo Ghezzi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ghezzi, C., Sharifloo, A.M., Menghi, C. (2013). Towards Agile Verification. In: Münch, J., Schmid, K. (eds) Perspectives on the Future of Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37395-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37395-4_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-37394-7

  • Online ISBN: 978-3-642-37395-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics