Skip to main content

An Empirical Study of the Impact of OCL Smells and Refactorings on the Understandability of OCL Specifications

  • Conference paper
Book cover Model Driven Engineering Languages and Systems (MODELS 2007)

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

Abstract

The Object Constraint Language (OCL) is a OMG standard that plays an important role in the elaboration of precise models. However, it is not hard to find models and metamodels containing overly complex OCL expressions. Refactoring is a technique that can be used in this context since its goal is to reduce complexity by incrementally improving the internal software quality. Indeed several refactorings have already been proposed to improve the quality of OCL expressions. This paper presents the results of an empirical study that investigates the impact of poor OCL constructs, also known as OCL Smells, and OCL refactoringson the understandability of OCL expressions. Current results show that most refactorings significantly improve the understandability of OCL specifications.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. OMG: Model Driven Architecture (MDA) Guide, document number omg/2003-06-01 (June 2003)

    Google Scholar 

  2. Warmer, J., Kleppe, A.: The Object Constraint Language – Getting Your Models Ready for MDA. Addison-Wesley, Reading (2003)

    Google Scholar 

  3. OMG: MOF QVT Final Adopted Specification. Document ptc/05-11-01 (November 2005)

    Google Scholar 

  4. Woodcock, J., Davis, J.: Using Z. Specification, Refinement and Proof. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  5. Jones, C.B.: Systematic Software Development Using VDM. Prentice-Hall, Englewood Cliffs (1989)

    Google Scholar 

  6. Correa, A., Werner, C.: Applying Refactoring Techniques to UML/OCL Models. In: Baar, T., Moreira, A., Strohmeier, A., Mellor, S. (eds.) UML 2004. LNCS, vol. 3273, pp. 173–187. Springer, Heidelberg (2004)

    Google Scholar 

  7. Correa, A., Werner, C.: Refactoring Object Constraint Language Specifications. In: Journal of Software and Systems Modeling (SoSyM), Springer, Heidelberg (2006)

    Google Scholar 

  8. OMG: Unified Modeling Language (UML) Infrastructure Specification, version 2.0, Object Management Group, ptc/03-09-15 (2003)

    Google Scholar 

  9. OMG: Unified Modeling Language (UML) Superstructure Specification, version 2.0, Object Management Group, ptc/03-08-02 (2003)

    Google Scholar 

  10. Roberts, D.B.: Practical Analysis for Refactoring. PhD thesis, University of Illnois at Urbana-Champaign (1999)

    Google Scholar 

  11. Mens, T., Tourwe, T.: A Survey of Software Refactoring. IEEE Transactions on Software Engineering 30(2), 126–139 (2004)

    Article  Google Scholar 

  12. Jeanneret, C., Eyer, L., Markovic, S., Baar, T.: RocIET – Refactoring OCL Expressions by Transformations. In: 19th International Conference on Software & Systems Engineering and their Applications (2006)

    Google Scholar 

  13. Kataoka, Y., Imai, T., Andou, H., Fukaya, T.: A Quantitative Evaluation of Maintainability Enhancement by Refactoring. In: ICSM. Proceedings of the International Conference on Software Maintainance, Montreal, Canada (2002)

    Google Scholar 

  14. Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experimentation in Software Engineering – An Introduction. Kluwer, Dordrecht (2000)

    MATH  Google Scholar 

  15. Finney, K., Fenton, N., Fedorec, A.: Effects of structure on the comprehensibility of formal specifications. IEE Proceedings – Software 146(4), 193–202 (1999)

    Article  Google Scholar 

  16. Briand, L., Labiche, Y., Penta, M., et al.: An Experimental Investigation of Formality in UML-Based Development. IEEE Transactions on Software Engineering 31(10), 833–849 (2005)

    Article  Google Scholar 

  17. Snook, C., Harrison, R.: Experimental Comparison of the Comprehensibility of a Z Specification and its Implementation. In: EASE 01. Proceedings of the Conference on Empirical Assessment in Software Engineering, England (April 2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gregor Engels Bill Opdyke Douglas C. Schmidt Frank Weil

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Correa, A., Werner, C., Barros, M. (2007). An Empirical Study of the Impact of OCL Smells and Refactorings on the Understandability of OCL Specifications. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds) Model Driven Engineering Languages and Systems. MODELS 2007. Lecture Notes in Computer Science, vol 4735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75209-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75209-7_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75208-0

  • Online ISBN: 978-3-540-75209-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics