Skip to main content

Abstract Interpretation-Based Verification of Non-functional Requirements

  • Conference paper
Coordination Models and Languages (COORDINATION 2005)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 3454))

Included in the following conference series:

Abstract

The paper investigates a formal approach to the verification of non functional software requirements, e.g. portability, time and space efficiency, dependability/robustness. The key-idea is the notion of observable, i.e., an abstraction of the concrete semantics when focusing on a behavioral property of interest. By applying an abstract interpretation-based static analysis of the source program, and by a suitable choice of abstract domains, it is possible to design formal and effective tools for non-functional requirements validation.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  MATH  Google Scholar 

  2. Abrial, J.-R.: B#: Toward a synthesis between Z and B. In: Bert, D., P. Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 168–177. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  3. Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: A static analyzer for large safety-critical software. In: Proceedings of the 2003 ACM Conference on Programming Language Design and Implementation (PLDI 2003), june 2003, pp. 196–207. ACM Press, New York (2003)

    Chapter  Google Scholar 

  4. Boehm, B.W.: Software engineering. IEEE Transactions on Computers, 1226–1241 (1976)

    Google Scholar 

  5. Brauburger, J.: Automatic termination analysis for partial functions using polynomial orderings. In: Van Hentenryck, P. (ed.) SAS 1997. LNCS, vol. 1302, pp. 330–344. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  6. Cortesi, A., Le Charlier, B., van Hentenryck, P.: Combinations of abstract domains for logic programming. In: 21th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages POPL 1994, pp. 227–239. ACM-Press, New York (1994)

    Google Scholar 

  7. Cousot, P.: Types as abstract interpretations, invited paper. In: 24th ACM Symposium on Principles of Programming Languages (POPL 1997), January 1997, pp. 316–331. ACM Press, New York (1997)

    Google Scholar 

  8. Cousot, P.: The calculational design of a generic abstract interpreter. In: Broy, M., Steinbrüggen, R. (eds.) Calculational System Design. NATO ASI Series F. IOS Press, Amsterdam (1999)

    Google Scholar 

  9. Cousot, P.: Abstract interpretation based formal methods and future challenges. In: Wilhelm, R. (ed.) Informatics: 10 Years Back, 10 Years Ahead. LNCS, vol. 2000, pp. 138–156. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  10. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: 4th ACM Symposium on Principles of Programming Languages (POPL 1977), January 1977, pp. 238–252. ACM Press, New York (1977)

    Google Scholar 

  11. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: 6th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1979), pp. 269–282. ACM Press, New York (1979)

    Google Scholar 

  12. Cousot, P., Cousot, R.: Systematic design of program transformation frameworks by abstract interpretation. In: 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2002), January 2002, pp. 178–190. ACM Press, New York (2002)

    Chapter  Google Scholar 

  13. Cousot, P., Cousot, R.: An abstract interpretation-based framework for software watermarking. In: Conference Record of the Thirtyfirst Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Venice, Italy, January 14-16, pp. 173–185. ACM Press, New York (2004)

    Google Scholar 

  14. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: 5th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1978), pp. 84–97. ACM Press, New York (1978)

    Google Scholar 

  15. Davis, A.: Software Requirements: Objects, Functions and States. Prentice-Hall, Englewood Cliffs (1992)

    Google Scholar 

  16. Deutsch, M.S., Willis, R.R.: Software Quality Engineering. Prentice-Hall, Englewood Cliffs (1988)

    Google Scholar 

  17. Ghezzi, C., Jazayeri, M., Mandrioli., D.: Foundamentals of Software Engineering, 2nd edn. Prentice-Hall, Englewood Cliffs (2003)

    MATH  Google Scholar 

  18. Halbwachs, N.: Determination automatique de relations lineaires verifees par les variables d’un programme. In: These de 3eme cycle d’informatique, Universite scientifique et medicale de Grenoble (1979)

    Google Scholar 

  19. Halbwachs, N.: Non-functional requirements in the software development process. Software Quality 5(4), 285–294 (1995)

    Google Scholar 

  20. Halbwachs, N.: About synchronous programming and abstract interpretation. Science of Computer Programming 31(1), 75–89 (1998)

    Article  MATH  Google Scholar 

  21. Handjieva, M., Tzolovski, S.: Refining static analyses by trace-based partitioning using control flow. In: Levi, G. (ed.) SAS 1998. LNCS, vol. 1503, pp. 200–215. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  22. Hughes, S.: Compile-time garbage collection for higher-order functional languages. Journal of Logic and Computation 2(4), 483–509 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  23. IEEE. IEEE Recommended Practice for Software Requirement Specification (1988)

    Google Scholar 

  24. Spivey, J.M.: The Z notation. Prentice-Hall, Englewood Cliffs (1992)

    MATH  Google Scholar 

  25. Jones, N.D.: Combining abstract interpretation and partial evaluation. In: Van Hentenryck, P. (ed.) SAS 1997. LNCS, vol. 1302, pp. 396–405. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  26. Karlsson, J.: Managing software requirements using quality function deployment. Software Quality Control 6(4), 311–326 (1997)

    Article  Google Scholar 

  27. Kotonya, G., Sommerville, I.: Requirements Engineering - Processes and Techniques. Wiley, Chichester (1998)

    Google Scholar 

  28. Kozen, D., Palsberg, J., Schwartzbach, M.I.: Efficient inference of partial types. Journal of Computer and System Sciences 49(2), 306–324 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  29. Lacan, P., Monfort, J.N., Ribal, L.V.Q., Deutsch, A., Gonthier, A.: The software reliability verification process: The ariane 5 example. In: Proceedings DASIA 1998 – DAta Systems In Aerospace, Athens, GR, ESA Publications (1998)

    Google Scholar 

  30. Métayer, D.L.: Program analysis for software engineering: New applications, new requirements, new tools. ACM Computing Surveys 28(4es), 167 (1996)

    Article  Google Scholar 

  31. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Professional Technical Reference. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  32. Miné, A.: The octagon abstract domain. In: AST 2001 in WCRE 2001, October 2001. IEEE, pp. 310–319. IEEE CS Press, Los Alamitos (2001), http://www.di.ens.fr/~mine/publi/article-mine-ast01.pdf

    Google Scholar 

  33. Monniaux, D.: Abstracting cryptographic protocols with tree automata. Science of Computer Programming 47(2–3), 177–202 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  34. Pessaux, F., Leroy, X.: Type-based analysis of uncaught exceptions. ACM Transactions on Programming Languages and Systems 22(2), 340–377 (2000)

    Article  Google Scholar 

  35. Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2000)

    MATH  Google Scholar 

  36. Traub, K.R., Culler, D.E., Schauser, K.E.: Global analysis for partitioning non-strict programs into sequential threads. ACM LISP Pointers 5(1), 324–334 (1992); Proceedings of the 1992 ACM Conference on LISP and Functional Programming

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cortesi, A., Logozzo, F. (2005). Abstract Interpretation-Based Verification of Non-functional Requirements. In: Jacquet, JM., Picco, G.P. (eds) Coordination Models and Languages. COORDINATION 2005. Lecture Notes in Computer Science, vol 3454. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11417019_4

Download citation

  • DOI: https://doi.org/10.1007/11417019_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25630-4

  • Online ISBN: 978-3-540-32006-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics