Skip to main content

Is There Evolution Before Birth? Deterioration Effects of Formal Z Specifications

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2011)

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

Included in the following conference series:

Abstract

Formal specifications are not an exception for aging. Furthermore, they stay valid resources only in the case when they have been kept up to date during all evolutionary changes taking place. As specifications are then not just written once, an interesting aspect is whether they do also deteriorate or not. In order to answer this question, this paper addresses the issues on various kinds of changes in the development of formal specifications and how they could be measured. For this, a set of semantic-based measures is introduced and then used in a longitudinal study, assessing the specification of the Web-Service Definition Language. By analyzing all 139 different revisions of it, it is shown that specifications can deteriorate and that it takes effort to keep them constantly at high quality. The results yield in a refined model of software evolution exemplifying these recurring changes.

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. Bennet, K., Rajlich, V.: Software Maintenance and Evolution: a Roadmap. In: ICSE 2000: Proceedings of the Conference on The Future of Software Engineering, pp. 73–89. ACM, New York (2000)

    Google Scholar 

  2. Black, S., Boca, P.P., Bowen, J.P., Gorman, J., Hinchey, M.: Formal Versus Agile: Survival of the Fittest. IEEE Computer 42(9), 37–54 (2009)

    Article  Google Scholar 

  3. Bollin, A.: Specification Comprehension – Reducing the Complexity of Specifications. Ph.D. thesis, AAU Klagenfurt (April 2004)

    Google Scholar 

  4. Bollin, A.: Concept Location in Formal Specifications. Journal of Software Maintenance and Evolution – Research and Practice 20(2), 77–105 (2008)

    Article  Google Scholar 

  5. Bollin, A.: Slice-based Formal Specifiation Measures – Mapping Coupling and Cohesion Measures to Formal Z. In: Muñoz, C. (ed.) Proceedings of the Second NASA Formal Methods Symposium, NASA/CP-2010-216215, NASA, Langley Research Center, pp. 24–34 (April 2010)

    Google Scholar 

  6. Carrington, D., Duke, D., Hayes, I., Welsh, J.: Deriving modular designs from formal specifications. In: ACM SIGSOFT Software Engineering Notes, vol. 18, pp. 89–98. ACM, New York (1993)

    Google Scholar 

  7. Chang, J., Richardson, D.J.: Static and Dynamic Specification Slicing. Tech. rep., Department of Information and Computer Science, University of California (1994)

    Google Scholar 

  8. Clarke, E.M., Wing, J.M.: Formal Methods: State of the Art and Future Directions. Tech. rep., Carnegie Mellon University, CMU-CS-96-178 (1996)

    Google Scholar 

  9. Collins, B.P., Nicholls, J.E., Sorensen, I.H.: Introducing formal methods: the cisc experience with z. In: Mathematical Structures for Software Engineering, pp. 153–164. Clarendon Press, Oxford (1991)

    Google Scholar 

  10. Harman, M., Okulawon, M., Sivagurunathan, B., Danicic, S.: Slice-based measurement of coupling. In: Proceedings of the IEEE/ACM ICSE workshop on Process Modelling and Empirical Studies of Software Evolution, pp. 28–32. IEEE Computer Society Press, Los Alamitos (1997)

    Google Scholar 

  11. Hierons, R.M., Bogdanov, K., Bowen, J.P., Cleaveland, R., Derrick, J., Dick, J., Gheorghe, M., Harman, M., Kapoor, K., Krause, P., Lüttgen, G., Simons, A.J.H., Vilkomir, S., Woodward, M.R., Zedan, H.: Using formal specifications to support testing. ACM Comput. Surv. 41(2), 1–76 (2009)

    Article  Google Scholar 

  12. Hinchey, M., Jackson, M., Cousot, P., Cook, B., Bowen, J.P., Margaria, T.: Software engineering and formal methods. Communications of the ACM 51(9), 54–59 (2008)

    Article  Google Scholar 

  13. Jackson, D.: Software Abstractions - Logic, Language, and Analysis. The MIT Press, Cambridge (1996)

    Google Scholar 

  14. Lehman, M.M.: On understanding laws, evolution, and conservation in the large-program life cycle. Journal of Systems and Software 1(1), 213–221 (1979)

    Article  Google Scholar 

  15. Meyers, T.M., Binkley, D.: An Empirical Study of Slice-Based Cohesion and Coupling Metrics. ACM Transactions on Software Engineering and Methodology 17(1), 2:1–2:27 (2007)

    Google Scholar 

  16. Mittermeir, R.T., Bollin, A.: Demand-Driven Specification Partitioning. In: Böszörményi, L., Schojer, P. (eds.) JMLC 2003. LNCS, vol. 2789, pp. 241–253. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  17. Mittermeir, R.T., Bollin, A., Pozewaunig, H., Rauner-Reithmayer, D.: Goal-Driven Combination of Software Comprehension Approaches for Component Based Development. In: Proceedings of the ACM Symposium on Software Reusability Software Engineering Notes, SSR 2001, Software Engineering Notes, vol. 26, pp. 95–102. ACM Press, New York (2001)

    Google Scholar 

  18. Nogueira, J.C., Luqi, Berzins, V., Nada, N.: A formal risk assessment model for software evolution. In: Proceedings of the 2nd International Workshop on Economics-Driven Software Engineering Research, EDSER-2 (2000)

    Google Scholar 

  19. Oda, T., Araki, K.: Specification slicing in a formal methods software development. In: 17th Annual International Computer Software and Applications Conference, pp. 313–319. IEEE Computer Society Press, Los Alamitos (1993)

    Google Scholar 

  20. Ott, L.M., Thus, J.J.: The Relationship between Slices and Module Cohesion. In: 11th International Conference on Software Engineering, pp. 198–204. IEEE Computer Society, Los Alamitos (1989)

    Chapter  Google Scholar 

  21. Pirker, H., Mittermeir, R., Rauner-Reithmayer, D.: Service Channels - Purpose and Tradeoffs. In: COMPSAC 1998: Proceedings of the 22nd International Computer Software and Applications Conference, pp. 204–211 (1998)

    Google Scholar 

  22. Roberto Chinnici, S.M., Moreau, J.J., Ryman, A., Weerawarana, S.: Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language (2007), http://www.w3.org/TR/wsdl20

  23. Ross, P.E.: The Exterminators. IEEE Spectrum 42(9), 36–41 (2005)

    Article  Google Scholar 

  24. Samson, W., Nevill, D., Dugard, P.: Predictive software metrics based on a formal specification. Information and Software Technology 29(5), 242–248 (1987)

    Article  Google Scholar 

  25. Vinter, R., Loomes, M., Kornbrot, D.: Applying software metrics to formal specifications: A cognitive approach. In: 5th International Symposium on Software Metrics, pp. 216–223. IEEE Computer Society Press, Bethesda (1998)

    Google Scholar 

  26. Weiser, M.: Program slices: formal, psychological, and practical investigations of an automatic program abstraction method. Ph.D. thesis, University of Michigan (1979)

    Google Scholar 

  27. Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449. IEEE Press, Piscataway (1982)

    Google Scholar 

  28. Woodcock, J., Davis, J.: Using Z: Specification, Refinement, and Proof. Prentice-Hall International Series in Computer Science. Prentice Hall, Hemel Hempstead (1996)

    MATH  Google Scholar 

  29. Wu, F., Yi, T.: Slicing Z Specifications. ACM SIGPLAN Notices 39(8), 39–48 (2004)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bollin, A. (2011). Is There Evolution Before Birth? Deterioration Effects of Formal Z Specifications. In: Qin, S., Qiu, Z. (eds) Formal Methods and Software Engineering. ICFEM 2011. Lecture Notes in Computer Science, vol 6991. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24559-6_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24559-6_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24558-9

  • Online ISBN: 978-3-642-24559-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics