Partially Introducing Formal Methods into Object-Oriented Development: Case Studies Using a Metrics-Driven Approach

Among researchers and practitioners, there are disputations about whether, where, and to which degree formal methods worth their cost. Based on our experiences of industrial software projects over the last years, we develop an empirical approach of partially introducing formal methods into object-oriented software development. Once an initial architecture design is available, object-oriented metrics can be useful criteria for selecting core parts of software systems for formal treatment. Case studies of the application of our approach show that partially adopting formal methods could achieve a satisfying balance between investment and product quality in a cost-effective way.

[1]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[2]  Jos Warmer,et al.  The object constraint language , 1998 .

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

[4]  David Bellin,et al.  Object-oriented metrics: an overview , 1994, CASCON.

[5]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[6]  Lionel C. Briand,et al.  Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs , 2001, Empirical Software Engineering.

[7]  Tracy Hall,et al.  A Critical Analysis of Current OO Design Metrics , 1999, Software Quality Journal.

[8]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[9]  Ralf Kneuper Limits of formal methods , 2005, Formal Aspects of Computing.

[10]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[11]  Jeffrey C. Carver,et al.  An empirical methodology for introducing software processes , 2001, ESEC/FSE-9.

[12]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.

[13]  Michael Daskalantonakis,et al.  A Practical View of Software Measurement and Implementation Experiences Within Motorola , 1992, IEEE Trans. Software Eng..

[14]  Yujun Zheng,et al.  An extension of COCOMO II for the B-Method , 2006, EDSER '06.

[15]  Judith Barnard,et al.  A new reusability metric for object-oriented software , 1998, Software Quality Journal.

[16]  Dan Craigen,et al.  An International Survey of Industrial Applications of Formal Methods , 1992, Z User Workshop.

[17]  Martin Gogolla,et al.  Benefits and Problems of Formal Methods , 2004, Ada-Europe.

[18]  Catherine Stringfellow,et al.  Quantitative Analysis of Development Defects to Guide Testing: A Case Study , 2001, Software Quality Journal.

[19]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[20]  Li Hai-ying B-method based approach for designing ballistic computers , 2005 .

[21]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[22]  Stephen R. Schach,et al.  Prediction of Run-Time Failures Using Static Product Quality Metrics , 2004, Software Quality Journal.

[23]  Constance L. Heitmeyer,et al.  Developing High Quality Software with Formal Methods: What Else Is Needed? , 2005, FORTE.

[24]  Harlan D. Mills,et al.  Cleanroom Software Engineering , 1987, IEEE Software.