Metrics for quantifying evolutionary changes in Z specifications

This article proposes metrics for quantifying changes throughout the evolution of formal software specifications in long living systems. Formal specifications play an important role in the software development life‐cycle by supporting refinement and proof and by providing a basis for comprehension and maintenance activities. However, specifications also undergo evolutionary changes, and these changes are hard to assess because of a lack of suitable measures.

[1]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[2]  Shari Lawrence Pfleeger,et al.  Investigating the Influence of Formal Methods , 1997, Computer.

[3]  Andreas Bollin,et al.  Is There Evolution Before Birth? Deterioration Effects of Formal Z Specifications , 2011, ICFEM.

[4]  Mary Jean Harrold,et al.  Slicing object-oriented software , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[5]  Germán Vidal,et al.  Dynamic slicing based on redex trails , 2004, PEPM '04.

[6]  Ingo Brückner,et al.  Slicing Concurrent Real-Time System Specifications for Verification , 2007, IFM.

[7]  Tim Miller,et al.  CZT Support for Z Extensions , 2005, IFM.

[8]  Felix Naumann,et al.  Data fusion , 2009, CSUR.

[9]  Alan Wassyng Who Are We, and What Are We Doing Here? , 2012, FM.

[10]  Egon Börger,et al.  Formal Methods for Industrial Applications , 1996, Lecture Notes in Computer Science.

[11]  Petra Malik,et al.  A retrospective on CZT , 2011, Softw. Pract. Exp..

[12]  Andreas Bollin The efficiency of specification fragments , 2004, 11th Working Conference on Reverse Engineering.

[13]  Yves Ledru,et al.  Object Oriented Concepts Identification from Formal B Specifications , 2005, Electron. Notes Theor. Comput. Sci..

[14]  M. Eliantonio,et al.  Private Parties and the Annulment Procedure: Can the Gap in the European System of Judicial Protection Be Closed? , 2010 .

[15]  Tiziana Margaria,et al.  Software engineering and formal methods , 2008, CACM.

[16]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[17]  Ian J. Hayes,et al.  Specification case studies , 1987 .

[18]  Achim D. Brucker,et al.  HOL-Z 2.0: A Proof Environment for Z-Specifications , 2003, J. Univers. Comput. Sci..

[19]  Josep Silva,et al.  A vocabulary of program slicing-based techniques , 2012, CSUR.

[20]  Donglin Liang,et al.  Slicing objects using system dependence graphs , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[21]  Heike Wehrheim,et al.  Slicing Object-Z Specifications for Verification , 2005, ZB.

[22]  Abdelhamid Bouchachia,et al.  Reverse Engineering of Rule-based Systems , 2006, SEKE.

[23]  Mark Harman,et al.  Slice-based measurement of coupling , 1997 .

[24]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[25]  Andrea De Lucia,et al.  Program slicing: methods and applications , 2001, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation.

[26]  David W. Binkley,et al.  An empirical study of slice-based cohesion and coupling metrics , 2007, TSEM.

[27]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[28]  Thomas W. Reps,et al.  Program Specialization via Program Slicing , 1996, Dagstuhl Seminar on Partial Evaluation.

[29]  Roland Mittermeir,et al.  Demand-Driven Specification Partitioning , 2003, JMLC.

[30]  Tong Yi,et al.  Slicing Z specifications , 2004, SIGP.

[31]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1994, FME.

[32]  Francisco Curbera,et al.  Web services description language (wsdl) version 1. 2 , 2001 .

[33]  Abdollah Tabareh Predictive Software Measures Based on Formal Z Specifications , 2012 .

[34]  Matthew B. Dwyer,et al.  Slicing Software for Model Construction , 2000, High. Order Symb. Comput..

[35]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[36]  Luís Soares Barbosa,et al.  Higher-Order Lazy Functional Slicing , 2007, J. Univers. Comput. Sci..

[37]  P.E. Ross The exterminators [software bugs] , 2005, IEEE Spectrum.

[38]  Mark David Weiser,et al.  Program slices: formal, psychological, and practical investigations of an automatic program abstraction method , 1979 .

[39]  Tornohiro ODA,et al.  Specification slicing in formal methods of software development , 1993, Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93.

[40]  Linda M. Ott,et al.  Slice based metrics for estimating cohesion , 1993, [1993] Proceedings First International Software Metrics Symposium.

[41]  Hsinchun Chen,et al.  Building Large-Scale Digital Libraries - Guest Editors' Introduction , 1996, Computer.

[42]  Martin R. Woodward,et al.  Slicing algebraic specifications , 1998, Inf. Softw. Technol..

[43]  Mangala Gowri Nanda,et al.  Interprocedural slicing of multithreaded programs with applications to Java , 2006, TOPL.

[44]  Bev Littlewood,et al.  Measurement for software control and assurance , 1989 .

[45]  David Garlan Preconditions for understanding , 1991, IWSSD '91.

[46]  Jingde Cheng,et al.  Slicing Concurrent Programs - A Graph-Theoretical Approach , 1993, AADEBUG.

[47]  Antoni Diller,et al.  Z - an introduction to formal methods , 1990 .

[48]  Jonathan P. Bowen Formal Specification and Documentation Using Z: A Case Study Approach , 1996 .

[49]  Carl A. Gunter,et al.  Dynamic slicing in higher-order programming languages , 1997 .

[50]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[51]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[52]  Alexander M. Fedorec,et al.  Measuring the comprehensibility of Z specifications , 1998, J. Syst. Softw..

[53]  Burkhart Wolff,et al.  Specifying and Verifying Hysteresis Signature System with HOL-Z , 2005 .

[54]  David A. Carrington,et al.  A Formal Mapping between UML Models and Object-Z Specifications , 2000, ZB.

[55]  Rance Cleaveland,et al.  Using formal specifications to support testing , 2009, CSUR.

[56]  Tao Wang,et al.  Dynamic slicing on Java bytecode traces , 2008, TOPL.

[57]  W. B. Samson,et al.  Predictive software metrics based on a formal specification , 1987 .

[58]  Linda M. Ott,et al.  The relationship between slices and module cohesion , 1989, ICSE '89.

[59]  Thomas Noll,et al.  Slicing AADL Specifications for Model Checking , 2010, NASA Formal Methods.

[60]  Kuo-Chung Tai A program complexity metric based on data flow information in control graphs , 1984, ICSE '84.

[61]  Andreas Bollin,et al.  Maintaining formal specifications - decomposition of large Z-specifications , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[62]  Robert Glück,et al.  Selected Papers from the International Seminar on Partial Evaluation , 1996 .

[63]  Michael R. Clarkson,et al.  Formal Methods Application: An Empirical Tale of Software Development , 2002, IEEE Trans. Software Eng..

[64]  Andreas Bollin,et al.  Slice-based Formal Specification Measures - Mapping Coupling and Cohesion Measures to Formal Z , 2010, NASA Formal Methods.

[65]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[66]  Stephan Merz,et al.  Transformation of B specifications into UML class diagrams and state machines , 2006, SAC '06.

[67]  Andreas Bollin,et al.  Predictive Software Measures based on Z Specifications - A Case Study , 2012, WS-FMDS.

[68]  Egon Börger,et al.  Formal methods for industrial applications : specifying and programming the steam boiler control , 1996 .

[69]  Andreas Bollin Concept location in formal specifications , 2008, J. Softw. Maintenance Res. Pract..