Skip to main content

Investigating the Use of Object-Oriented Design Patterns in Open-Source Software: A Case Study

  • Conference paper

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 230))

Abstract

During the last decade open source software communities are thriving. Nowadays, several open source projects are so popular that are considered as a standard in their domain. Additionally, the amount of source code that is freely available to developers, offer great reuse opportunities. One of the main concerns of the reuser is the quality of the code that is being reused. Design patterns are well known solutions that are expected to enhance software quality. In this paper we investigate the extent to which object-oriented design patterns are used in open-source software, across domains.

This paper is an extended and revised version of the paper entitled “An Empirical Study on Design Pattern Usage on Open-Source Software”, published in ENASE 2010.

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   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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. Ampatzoglou, A., Charalampidou, S., Savva, K., Stamelos, I.: An empirical study on design pattern employment in open-source software. In: 5th Working Conference on the Evaluation of Novel Approaches in Software Engineering, pp. 275–284. INSTICC, Athens (2010)

    Google Scholar 

  2. Ampatzoglou, A., Chatzigeorgiou, A.: Evaluation of object-oriented design patterns in game development. Information and Software Technology 49(5), 445–454 (2007)

    Article  Google Scholar 

  3. Arnout, K., Meyer, B.: Pattern componentization: the factory example. Innovations in Systems and Software Technology 2(2), 65–79 (2006)

    Article  Google Scholar 

  4. Bansiya, J., Davis, C.: A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transaction on Software Engineering 28(1), 4–17 (2002)

    Article  Google Scholar 

  5. Basili, V.R., Selby, R.W., Hutchens, D.H.: Experimentation in Software Engineering. IEEE Transactions on Software Engineering 12(7), 733–743 (1986)

    Article  Google Scholar 

  6. Bieman, J.M., Jain, D., Yang, H.J.: OO design patterns, design structure, and program changes: an industrial case study. In: 17th International Conference on Software Maintenance, ICSM 2001, pp. 580–591. IEEE Computer Society, Florence (2001)

    Chapter  Google Scholar 

  7. Chatzigeorgiou, A.: Object-Oriented Design: UML, Principles, Patterns and Heuristics, 1st edn. Kleidarithmos, Athens (2005)

    Google Scholar 

  8. Di Penta, M., Cerulo, L., Gueheneuc, Y.G., Antoniol, G.: An Empirical Study of Relationships between Design Pattern Roles and Class Change Proneness. In: 24th International Conference on Software Maintenance, ICSM 2008, pp. 217–226. IEEE Computer Society, Beijing (2008)

    Chapter  Google Scholar 

  9. Feller, J., Fitzgerald, B.: Understanding open source software development, 1st edn. Addison-Wesley Longman, Boston (2002)

    Google Scholar 

  10. Gamma, E., Helms, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software, 1st edn. Addison-Wesley Professional, Reading (1995)

    Google Scholar 

  11. Hsueh, N.L., Chu, P.H., Chu, W.: A quantitative approach for evaluating the quality of design patterns. Journal of Systems and Software 81(8), 1430–1439 (2008)

    Article  Google Scholar 

  12. Huston, B.: The effects of design pattern application on metric scores. Journal of Systems and Software 58(3), 261–269 (2001)

    Article  Google Scholar 

  13. Khomh, F., Gueheneuc, Y.G.: Do design patterns impact software quality positively? In: 12th European Conference on Software Maintenance and Reengineering, CSMR 2008, pp. 274–278. IEEE Computer Society, Athens (2008)

    Chapter  Google Scholar 

  14. Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case Studies for Method and Tool Evaluation. IEEE Software 12(4), 52–62 (1995)

    Article  Google Scholar 

  15. McShaffry, M.: Game Coding Complete. Paraglyph Press, Arizona (2003)

    Google Scholar 

  16. Meyer, B., Arnout, K.: Componentization: The Visitor Example. IEEE Computer 39(7), 23–30 (2006)

    Article  Google Scholar 

  17. Prechelt, L., Unger, B., Tichy, W.F., Brossler, P., Votta, L.G.: A controlled experiment in maintenance comparing design patterns to simpler solutions. IEEE Transactions on Software Engineering 27(12), 1134–1144 (2001)

    Article  Google Scholar 

  18. Samoladas, I., Stamelos, I., Angelis, L., Oikonomou, A.: Open source software development should strive for even greater code maintainability. Communications of the ACM 47(12), 83–87 (2004)

    Article  Google Scholar 

  19. Sowe, S.K., Angelis, L., Stamelos, I., Manolopoulos, Y.: Using Repository of Repositories (RoRs) to Study the Growth of F/OSS Projects: A Meta-Analysis Research Approach. In: OSS 2007, Open Source Software Conference, pp. 147–160. Springer, Limerick (2007)

    Google Scholar 

  20. Tsantalis, N., Chatzigeorgiou, V., Stephanides, G., Halkidis, S.T.: Design Pattern Detection using Similarity Scoring. IEEE Transaction on Software Engineering 32(11), 896–909 (2006)

    Article  Google Scholar 

  21. Vokác, M., Tichy, W., Sjøberg, D.I.K., Arisholm, E., Aldrin, M.: A Controlled Experiment Comparing the Maintainability of Programs Designed with and without Design Patterns - A Replication in a Real Programming Environment. Empirical Software Engineering 9(3), 149–195 (2003)

    Article  Google Scholar 

  22. Wendorff, P.: Assessment of Design Patterns during Software Reengineering: Lessons Learned from a Large Commercial Project. In: 5th European Conference on Software Maintenance and Reengineering, CSMR 2001, pp. 77–84. IEEE Computer Society, Lisbon (2001)

    Google Scholar 

  23. Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experimentation in Software Engineering, 1st edn. Kluwer Academic Publishers, Boston (2000)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ampatzoglou, A., Charalampidou, S., Stamelos, I. (2011). Investigating the Use of Object-Oriented Design Patterns in Open-Source Software: A Case Study. In: Maciaszek, L.A., Loucopoulos, P. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2010. Communications in Computer and Information Science, vol 230. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23391-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23391-3_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23390-6

  • Online ISBN: 978-3-642-23391-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics