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

  • Apostolos Ampatzoglou
  • Sofia Charalampidou
  • Ioannis Stamelos
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 230)


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.


Open source software Design patterns Empirical study 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    Ampatzoglou, A., Chatzigeorgiou, A.: Evaluation of object-oriented design patterns in game development. Information and Software Technology 49(5), 445–454 (2007)CrossRefGoogle Scholar
  3. 3.
    Arnout, K., Meyer, B.: Pattern componentization: the factory example. Innovations in Systems and Software Technology 2(2), 65–79 (2006)CrossRefGoogle Scholar
  4. 4.
    Bansiya, J., Davis, C.: A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transaction on Software Engineering 28(1), 4–17 (2002)CrossRefGoogle Scholar
  5. 5.
    Basili, V.R., Selby, R.W., Hutchens, D.H.: Experimentation in Software Engineering. IEEE Transactions on Software Engineering 12(7), 733–743 (1986)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 7.
    Chatzigeorgiou, A.: Object-Oriented Design: UML, Principles, Patterns and Heuristics, 1st edn. Kleidarithmos, Athens (2005)Google Scholar
  8. 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)CrossRefGoogle Scholar
  9. 9.
    Feller, J., Fitzgerald, B.: Understanding open source software development, 1st edn. Addison-Wesley Longman, Boston (2002)Google Scholar
  10. 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. 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)CrossRefGoogle Scholar
  12. 12.
    Huston, B.: The effects of design pattern application on metric scores. Journal of Systems and Software 58(3), 261–269 (2001)CrossRefGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case Studies for Method and Tool Evaluation. IEEE Software 12(4), 52–62 (1995)CrossRefGoogle Scholar
  15. 15.
    McShaffry, M.: Game Coding Complete. Paraglyph Press, Arizona (2003)Google Scholar
  16. 16.
    Meyer, B., Arnout, K.: Componentization: The Visitor Example. IEEE Computer 39(7), 23–30 (2006)CrossRefGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 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)CrossRefGoogle Scholar
  19. 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. 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)CrossRefGoogle Scholar
  21. 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)CrossRefGoogle Scholar
  22. 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. 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)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Apostolos Ampatzoglou
    • 1
  • Sofia Charalampidou
    • 1
  • Ioannis Stamelos
    • 1
  1. 1.Aristotle University of ThessalonikiThessalonikiGreece

Personalised recommendations