Skip to main content

Evolution, Adaptation, and the Quest for Incrementality

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7539))

Abstract

Software is constantly evolving. Evolution becomes necessary to respond to changes that may occur in the requirements and/or in the environment in which it is embedded. A consequence of changes is that several activities (such as analysis, verification, code generation, deployment) need to be redone, over and over. This paper focuses on verification. Incrementality comes into play because often changes are local to restricted parts. In order to save time, it would be beneficial if instead of redoing activities from scratch after each change, the results of previous processing may be reused and composed with the results of processing restricted portions of the changed software. Incrementality becomes even more necessary when changes occur at runtime and the software itself is responsible for reacting in a self-managed manner. In this setting, the processing that needs to be performed after each change is subject to severe time constraints. The paper is a position statement on incrementality in the context of self-adaptive systems. It starts by motivating the need for incrementality and then reviews three main approaches to incremental verification that have been proposed earlier, compares their potential, and outlines promising research directions.

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

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alves, A., Arkin, A., Askary, S., Bloch, B., Curbera, F., Goland, Y., Kartha, N., Sterling, König, D., Mehta, V., Thatte, S., van der Rijn, D., Yendluri, P., Yiu, A.: Web services business process execution language version 2.0. OASIS Committee Draft (May 2006)

    Google Scholar 

  2. Baier, C., Haverkort, B., Hermanns, H., Katoen, J.-P.: Model-checking algorithms for continuous-time markov chains. IEEE Transactions on Software Engineering 29, 524–541 (2003)

    Article  Google Scholar 

  3. Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press (2008)

    Google Scholar 

  4. Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and run-time. In: FoSER 2010, New York, USA (2010)

    Google Scholar 

  5. Belady, L., Lehman, M.: A model of large program development. IBM Systems Journal (1976)

    Google Scholar 

  6. Bruni, R., Corradini, A., Gadducci, F., Lluch Lafuente, A., Vandin, A.: A Conceptual Framework for Adaptation. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 240–254. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  7. Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Communications of the ACM (accepted for publication)

    Google Scholar 

  8. Conway, C.L., Namjoshi, K.S., Dams, D.R., Edwards, S.A.: Incremental Algorithms for Inter-procedural Analysis of Safety Properties. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 449–461. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. Daws, C.: Symbolic and Parametric Model Checking of Discrete-Time Markov Chains. In: Liu, Z., Araki, K. (eds.) ICTAC 2004. LNCS, vol. 3407, pp. 280–294. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  10. Di Nitto, E., Ghezzi, C., Metzger, A., Papazoglou, M., Pohl, K.: A journey to highly dynamic, self-adaptive service-based applications. In: ASE (2008)

    Google Scholar 

  11. Distefano, S., Filieri, A., Ghezzi, C., Mirandola, R.: A compositional method for reliability analysis of workflows affected by multiple failure modes. In: Proceedings of the 14th International ACM Sigsoft Symposium on Component Based Software Engineering, CBSE 2011, pp. 149–158. ACM, New York (2011)

    Chapter  Google Scholar 

  12. Ershov, A.: On the partial computation principle. Information Processing Letters (1977)

    Google Scholar 

  13. Filieri, A., Ghezzi, C., Mandrioli, D.: Sidecar: Syntax-driven incremental compositional verification (unpublished internal report, 2012)

    Google Scholar 

  14. Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: Proceedings of the 33rd International Conference on Software Engineering (2011)

    Google Scholar 

  15. Ghezzi, C., Mandrioli, D.: Incremental parsing. ACM Transactions on Programming Languages and Systems (1979)

    Google Scholar 

  16. Ghezzi, C., Mandrioli, D.: Augmenting parsers to support incrementality. Journal of the ACM (1980)

    Google Scholar 

  17. Ghezzi, C., Tamburrelli, G.: Reasoning on non-functional requirements for integrated services. In: RE 2009. Proceedings of the International Conference on Requirements Engineering (2009)

    Google Scholar 

  18. Hahn, E.M., Hermanns, H., Zhang, L.: Probabilistic Reachability for Parametric Markov Models. In: Păsăreanu, C.S. (ed.) Model Checking Software. LNCS, vol. 5578, pp. 88–106. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  19. Henzinger, T.A., Jhala, R., Majumdar, R., Sanvido, M.A.A.: Extreme Model Checking. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 332–358. Springer, Heidelberg (2004)

    Google Scholar 

  20. Jackson, M., Zave, P.: Deriving specifications from requirements: An example. In: ICSE 1995, p. 1005 (1995)

    Google Scholar 

  21. Jalili, F.: A general incremental evaluator for attribute grammars. Science of Computer Programming (1985)

    Google Scholar 

  22. Jones, C.: Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems (1983)

    Google Scholar 

  23. Katoen, J.-P., Khattri, M., Zapreev, I.S.: A Markov reward model checker. In: QEST, pp. 243–244. IEEE Computer Society, Los Alamos (2005)

    Google Scholar 

  24. Krishnamurthi, S., Fisler, K.: Foundations of incremental aspect model-checking. ACM Trans. Softw. Eng. Methodol. 16(2) (2007)

    Google Scholar 

  25. Kwiatkowska, M., Norman, G., Parker, D.: Prism 2.0: a tool for probabilistic model checking. In: Proceedings. First International Conference on the Quantitative Evaluation of Systems, QEST 2004, pp. 322–323 (2004)

    Google Scholar 

  26. Kwiatkowska, M., Norman, G., Parker, D., Qu, H.: Assume-Guarantee Verification for Probabilistic Systems. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 23–37. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  27. Lehman, M.: Life cycles, and laws of software evolution. Proceedings of the IEEE (1980)

    Google Scholar 

  28. Parnas, D.: On the criteria to be used in decomposing systems into modules. Communications of the ACM (1972)

    Google Scholar 

  29. Rushby, J.: An Overview of Formal Verification for the Time-Triggered Architecture. In: Damm, W., Olderog, E.-R. (eds.) FTRTFT 2002. LNCS, vol. 2469, pp. 83–105. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  30. Zave, P., Jackson, M.: Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Methodology (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ghezzi, C. (2012). Evolution, Adaptation, and the Quest for Incrementality. In: Calinescu, R., Garlan, D. (eds) Large-Scale Complex IT Systems. Development, Operation and Management. Monterey Workshop 2012. Lecture Notes in Computer Science, vol 7539. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34059-8_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-34059-8_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-34058-1

  • Online ISBN: 978-3-642-34059-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics