Skip to main content

Impact of Selected Java Idioms on Source Code Maintainability – Empirical Study

  • Conference paper

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 286))

Abstract

Source code maintainability is a desired software feature. It can be achieved in many different ways. For example, software engineers recommend the use of patterns as commonly known and proven quality solutions to existing problems. Patterns are usually defined at three basic granularity levels, and are classified as architectural, design, and programming patterns (idioms). The paper presents the results of an experiment conducted at Wroclaw University of Technology which aimed at checking the influence of Java idioms on source code maintainability. The obtained results confirmed that using idioms is a beneficial practice, especially in corrective maintenance.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   219.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bandi, R.K., Vaishavi, V.K., Turk, D.E.: Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics. IEEE Trans. Softw. Eng. 29(1), 77–87 (2003)

    Article  Google Scholar 

  2. Basili, V.R., Caldiera, G., Rombach, D.H.: The Goal Question Metric Approach. Encyclopedia of Software Engineering. Wiley (1994)

    Google Scholar 

  3. Buschmann, F., Meunier, R., Rohnert, H., Sommerland, P., Stal, M.: Pattern-oriented software architecture. In: A System of Patterns, vol. 1, pp. 345–357. John Wiley & Sons, Chichester (1996)

    Google Scholar 

  4. Bloch, J.: Effective Java, 2nd edn., pp. 5–27, pp. 209–240. Pearson (2008)

    Google Scholar 

  5. Daly, D., Brooks, A., Miller, J., Roper, M., Wood, M.: The effect of inheritance on the maintainability of object-oriented software: an empirical study. In: Proc. International Conference on Software Maintenance, Washington, pp. 20–29 (1995)

    Google Scholar 

  6. Deissenbock, F.: Continuous Quality Control of Long-Lived Software Systems, der Technischen Univ. Munchen, p. 11 (2009), http://mediatum2.ub.tum.de/doc/737380/737380.pdf

  7. Goldschmidt, T., Reussner, R., Jochen, W.: A case study Evaluation of Maintainability and Performance of Persistency Techniques. In: Proc. The 30th International Conference on Software Engineering, New York, pp. 401–410 (2008)

    Google Scholar 

  8. Haase, A.: Java Idioms – Code Blocks and Control Flow. In: Rüping, A., Eckstein, J., Schwanninger, C. (eds.) Proc. The 6th European Conference on Pattern Languages of Programs (EuroPLoP 2001), pp. 227–250. UVK – Universitaetsverlag Konstanz (2002)

    Google Scholar 

  9. Haase, A.: Java Idioms – Exception Handling. In: O’Callaghan, A., Eckstein, J., Schwanninger, C. (eds.) Proc. The 7th European Conference on Pattern Languages of Programs (EuroPLoP 2002), pp. 41–70. UVK – Universitaetsverlag Konstanz (2003)

    Google Scholar 

  10. IEEE Computer Society 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology (1990), doi:10.1109/IEEESTD/1990/101064

    Google Scholar 

  11. ISO/IEC 9126-1 Software engineering – Product quality. Part I – Quality Model (2001)

    Google Scholar 

  12. ISO/IEC 25010. Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) – System and software quality models (2011)

    Google Scholar 

  13. Java idioms (2005), http://c2.com/ppr/wiki/JavaIdioms/JavaIdioms.html

  14. Kerievsky, J.: Refactoring to patterns. Addison-Wesley Professional (2004)

    Google Scholar 

  15. Martin, R.: Clean Code: A Handbook of Agile Software Craftsmanship, pp. 7–11. Prentice Hall PTR, Upper Saddle River (2008)

    Google Scholar 

  16. Pigoski, T.: Practical Software Maintenance: Best Practicies for Managing Your Software Investment, p. 51. John Wiley & Sons, New York (1996)

    Google Scholar 

  17. Prechelt, L., Unger, B., Tichy, W.F., Brössler, P.P., Volta, L.G.: A controlled experiment in maintenance: comparing design patterns to simpler solutions. Soft. Engineering 27(12), 1134–1144 (2001)

    Article  Google Scholar 

  18. Tichy, W., Sjøberg, D.I.K., Arisholm, E., Rombach, D.: A Controlled Experiment Comparing the Maintainability of Programs Designed with and without Design Patterns – A Replication in a Real Programming Environment. Empir. Soft. Engineering 9(3), 149–195 (2004)

    Article  Google Scholar 

  19. Wilking, D., Kahn, U.F., Kowalewski, S.: An Empirical Evaluation of Refactoring. e-Informatica Soft. Engineering J. 1(1), 27–42 (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bogumiła Hnatkowska .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Hnatkowska, B., Jaszczak, A. (2014). Impact of Selected Java Idioms on Source Code Maintainability – Empirical Study. In: Zamojski, W., Mazurkiewicz, J., Sugier, J., Walkowiak, T., Kacprzyk, J. (eds) Proceedings of the Ninth International Conference on Dependability and Complex Systems DepCoS-RELCOMEX. June 30 – July 4, 2014, Brunów, Poland. Advances in Intelligent Systems and Computing, vol 286. Springer, Cham. https://doi.org/10.1007/978-3-319-07013-1_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07013-1_23

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07012-4

  • Online ISBN: 978-3-319-07013-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics