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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
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)
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)
Boehm, B.W.: Software engineering. IEEE Transactions on Computers, 1226–1241 (1976)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Davis, A.: Software Requirements: Objects, Functions and States. Prentice-Hall, Englewood Cliffs (1992)
Deutsch, M.S., Willis, R.R.: Software Quality Engineering. Prentice-Hall, Englewood Cliffs (1988)
Ghezzi, C., Jazayeri, M., Mandrioli., D.: Foundamentals of Software Engineering, 2nd edn. Prentice-Hall, Englewood Cliffs (2003)
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)
Halbwachs, N.: Non-functional requirements in the software development process. Software Quality 5(4), 285–294 (1995)
Halbwachs, N.: About synchronous programming and abstract interpretation. Science of Computer Programming 31(1), 75–89 (1998)
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)
Hughes, S.: Compile-time garbage collection for higher-order functional languages. Journal of Logic and Computation 2(4), 483–509 (1992)
IEEE. IEEE Recommended Practice for Software Requirement Specification (1988)
Spivey, J.M.: The Z notation. Prentice-Hall, Englewood Cliffs (1992)
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)
Karlsson, J.: Managing software requirements using quality function deployment. Software Quality Control 6(4), 311–326 (1997)
Kotonya, G., Sommerville, I.: Requirements Engineering - Processes and Techniques. Wiley, Chichester (1998)
Kozen, D., Palsberg, J., Schwartzbach, M.I.: Efficient inference of partial types. Journal of Computer and System Sciences 49(2), 306–324 (1994)
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)
Métayer, D.L.: Program analysis for software engineering: New applications, new requirements, new tools. ACM Computing Surveys 28(4es), 167 (1996)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Professional Technical Reference. Prentice-Hall, Englewood Cliffs (1997)
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
Monniaux, D.: Abstracting cryptographic protocols with tree automata. Science of Computer Programming 47(2–3), 177–202 (2003)
Pessaux, F., Leroy, X.: Type-based analysis of uncaught exceptions. ACM Transactions on Programming Languages and Systems 22(2), 340–377 (2000)
Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2000)
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)