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

  • Yujun Zheng
  • Jinquan Wang
  • Kan Wang
  • Jinyun Xue
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4085)


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.


Formal Method Software Quality Defect Prediction Model Software Defect Prediction Metrics Selection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kneuper, R.: Limits of Formal Methods. Formal Aspects of Computing 9(4), 379–394 (1997)CrossRefGoogle Scholar
  2. 2.
    Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004)Google Scholar
  3. 3.
    Mills, H.D., Dyer, M., Linger, R.C.: Cleanroom Software Engineering. IEEE Software 4(5), 19–24 (1987)CrossRefGoogle Scholar
  4. 4.
    Vienneau, R.L.: A Review of Formal Methods. In: Dorfman, M., Thayer, R.H. (eds.) Software Engineering, pp. 181–192. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  5. 5.
    Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  6. 6.
    Clarke, E.M., Wing, J.M.: Formal Methods: State of the Art and Future Directions. CMU-CS-96-178, Carnegie-Mellon University, Pittsburgh, PA (1996)Google Scholar
  7. 7.
    Heitmeyer, C.L.: Developing High Quality Software with Formal Methods: What Else Is Needed? In: Wang, F. (ed.) FORTE 2005. LNCS, vol. 3731, pp. 13–19. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Craigen, D., Gerhart, S., Ralston, T.: An International Survey of Industrial Applications of Formal Methods. NIST GCR 93/626, National Technical Information Service, VA (1993)Google Scholar
  9. 9.
    Kan, S.H.: Metrics and Models in Software Quality Engineering, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  10. 10.
    Boehm, B.: COCOMO II Definition Manual. Univ. of Southern California (1997), available at:
  11. 11.
    Zheng, Y.J., Wang, K., Xue, J.Y.: An Extension of COCOMO II for the B-Method. In: Proceedings of 7th International Workshop on Economics-Driven Software Engineering Research. ACM Press, New York (2006)Google Scholar
  12. 12.
    Shull, F., Carver, J., Travassos, G.H.: An Empirical Methodology for Introducing Software Processes. In: Proceedings of European Software Engineering Conference, pp. 288–296. ACM Press, New York (2001)Google Scholar
  13. 13.
    Barnard, J.: A New Reusability Metric for Object-Oriented Software. Software Quality Journal 7(1), 35–50 (1998)CrossRefGoogle Scholar
  14. 14.
    Chidamber, S.R., Kemerer, C.F.: A Metrics Suite for Object-Oriented Design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)CrossRefGoogle Scholar
  15. 15.
    Lorenz, M., Kidd, J.: Object-Oriented Software Metrics: A Practical Guide. Prentice-Hall, New York (1994)Google Scholar
  16. 16.
    Deck, M.: Cleanroom and Object-Oriented Software Engineering: A Unique Synergy. In: Proceedings of 8th Annual Software technology Conference, Salt Lake City, UT (1996)Google Scholar
  17. 17.
    Andrews, A., Stringfellow, C.: Quantitative Analysis of Development Defects to Guide Testing: A Case Study. Software Quality Journal 9(3), 195–214 (2001)CrossRefGoogle Scholar
  18. 18.
    Binkley, A.B., Schach, S.R.: Prediction of Run-time Failures using Static Product Quality Metrics. Software Quality Journal 7(2), 141–147 (1998)CrossRefGoogle Scholar
  19. 19.
    Zhang, Z.Q., Zheng, Y.J., Li, H.Y.: B-Method based approach for designing ballistic computers. Computer Engineering and Design 26(12), 3295–3298 (2005)Google Scholar
  20. 20.
    Bellin, D., Tyagi, M., Tyler, M.: Object-Oriented Metrics: An Overview. In: Proceedings of 1994 Conference on the Centre for Advanced Studies on Collaborative Research. IBM Press, Carlsbad (1994)Google Scholar
  21. 21.
    Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling with UML, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  22. 22.
    Henry, S.M., Kafura, D.: Software Structure Metrics Based on Information Flow. IEEE Transactions on Software Engineering 7(5), 510–518 (1981)CrossRefGoogle Scholar
  23. 23.
    Daskalantonakis, M.K.: A Practical View of Software Measurement and Implementation Experiences within Motorola. IEEE Transactions on Software Engineering 18(11), 998–1010 (1992)CrossRefGoogle Scholar
  24. 24.
    Gogolla, M.: Benefits and Problems of Formal Methods. In: Llamosí, A., Strohmeier, A. (eds.) Ada-Europe 2004. LNCS, vol. 3063, pp. 1–15. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  25. 25.
    Mayer, T., Hall, T.: A critical analysis of OO design metrics. Software Quality Journal 8(2), 97–110 (1999)CrossRefGoogle Scholar
  26. 26.
    Fenton, N.E., Neil, M.: A Critique of Software Defect Prediction Models. IEEE Transactions on Software Engineering 25(2), 675–689 (1999)CrossRefGoogle Scholar
  27. 27.
    Briand, L.C., Wust, J., Lounis, H.: Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs. Empirical Software Engineering 6(1), 11–58 (2001)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Yujun Zheng
    • 1
    • 2
  • Jinquan Wang
    • 1
  • Kan Wang
    • 3
  • Jinyun Xue
    • 2
    • 4
  1. 1.Systems Engineering Institute of Engineer EquipmentBeijingChina
  2. 2.Institute of SoftwareChinese Academy of SciencesBeijingChina
  3. 3.Academy of Armored Force EngineeringBeijingChina
  4. 4.College of Computer Information and EngineeringJiangxi Normal UniversityNanchangChina

Personalised recommendations