Skip to main content

A Framework for Ranking of Software Design Patterns

  • Conference paper
  • First Online:
Complex, Intelligent, and Software Intensive Systems (CISIS 2017)

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

Included in the following conference series:

Abstract

Several software design patterns have been familiarized either in canonical or as variant solutions in order to solve a problem. Novice designers mostly adopt patterns without considering their ground reality and relevancy with design problems, which may cause to increase the development and maintenance efforts. In order to realize the ground reality and to automate the selection process, the existing automated systems for the selection of design patterns either need formal specification or precise learning through training the numerous classifiers. In order to address this issue, we propose an approach on the base of a supervised learning technique named ‘Learning to Rank’, to rank the design patterns with respect to text similarity with the description of the given design problems. Subsequently, we also propose an evaluation model in order to assess the effectiveness of the proposed approach. We evaluate the effectiveness of the proposed approach in the context of several design pattern collections and relevant design problems. The promising experimental results indicate the applicability of the proposed approach.

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 259.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 329.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

Notes

  1. 1.

    http://sites.labic.icmc.usp.br/torch/msd2011/jpretext/.

  2. 2.

    http://www.opencalais.com/opencalais-demo/.

References

  1. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley Professional, Upper Saddle River (2012)

    Google Scholar 

  2. Wood, W.G.: A practical example of applying attribute-driven design (ADD), Version 2.0, Technical report, Software Engineering Institute (2007)

    Google Scholar 

  3. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)

    MATH  Google Scholar 

  4. Bouhours, C., Leblance, H., Percebois, C.: Spoiled patterns: how to extend the GoF. Softw. Qual. J. 23, 661–694 (2015)

    Article  Google Scholar 

  5. Booch, G.: Handbook of Software Architecture (2006). http://handbookofsoftwarearchitecture.com/

  6. Baraki, H., Kurt, G., Voigtmann, C., Hoffman, A., Kniewel, R., Macek, B-E., Zirfas, J.: Interdisciplinary design patterns for socially aware computing. In: Proceeding of 37th International Conference on Software Engineering (ICSE) (2015)

    Google Scholar 

  7. Kim, D.K., Khawand, C.E.: An approach to precisely specifying the problem domain of design patterns. J. Vis. Lang. Comput. 18, 560–591 (2007)

    Article  Google Scholar 

  8. Hsueh, N.L., Lin, C.-C., Kuo, J.-Y.: Object-oriented design: a goal-driven and pattern-based approach. J. Softw. Syst. Model. 8(1), 1–18 (2007)

    Google Scholar 

  9. Kim, D.K., Shen, W.: Evaluating pattern conformance of UML models: a divide and conquer approach and case studies. Softw. Qual. J. 16(3), 329–359 (2008)

    Article  Google Scholar 

  10. Hasso, S., Carlson, C.R.: A theoretically-based process for organizing design patterns. In: Proceedings of 12th Pattern Language of Patterns (2005)

    Google Scholar 

  11. Hotho, A., Nurnberger, A., Paab, G.: A brief survey of text mining. J. Comput. Linguist. Lang. Technol. 20, 19–62 (2005)

    Google Scholar 

  12. Khoury, P.E., Mokhtari, A., Coquery, E., Hacid, M.S.: An ontological interface for software developers to select security patterns. In: Proceedings of 19th International Conference on Database and Expert Systems Application, (DEXA 2008), pp. 297–301 (2008)

    Google Scholar 

  13. Hasheminejad, S.M.H., Jalili, S.: Design patterns selection: an automatic two-phase method. J. Syst. Softw. 85, 408–424 (2012)

    Article  Google Scholar 

  14. Hussain, S., Khan, A.A.K., Ebo, K.B.: A methodology to automate the selection of design patterns. In: Proceeding of 40th Annual Computer Software and Applications Conference (COMPSAC) (2016)

    Google Scholar 

  15. Hussain, S., Khan, A.A.K.: Software design patterns classification and selection using text categorization approach. Appl. Soft Comput. (2017). doi:10.1016/j.asoc.2017.04.043

    Google Scholar 

  16. Uysal, A.K.: An improved global feature selection scheme for text classification. Expert Syst. Appl. 43, 82–92 (2016)

    Article  Google Scholar 

  17. Li, H.: A short introduction to ‘Learning to Rank’. IEICE Trans. Inf. Syst. 94(10), 1854–1862 (2011)

    Article  Google Scholar 

  18. Wu, Q., Burges, C.J.C., Svore, K.M., Gao, J.: Adapting boosting for information retrieval measures. ‘Learning to Rank’ for Information Retrieval, Microsoft Research (2009)

    Google Scholar 

  19. Porter, M.F.: An algorithm for Suffix Stripping. J. Prog. Electron. Libr. Inf. Syst. 40, 211–218 (2006)

    Google Scholar 

  20. Huang, A.: Similarity measures for text document clustering. In: Proceedings of NZCSRSC (2008)

    Google Scholar 

  21. Douglass, B.P.: Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison-Wesley/Longman Publishing Co. Inc., Boston (2002)

    Google Scholar 

  22. Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 6th edn. Addison-Wesley, Reading (2002)

    MATH  Google Scholar 

  23. Shalloway, A., Trott, R.: Design Pattern Explained: A new Perspective on Object Oriented Design. Addison Wesley, Reading (2001)

    Google Scholar 

Download references

Acknowledgments

This research is supported by the City University of Hong Kong research funds (Project No. 7004683, 7004474 and 7200354).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shahid Hussain .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Cite this paper

Hussain, S., Keung, J., Khan, A.A. (2018). A Framework for Ranking of Software Design Patterns. In: Barolli, L., Terzo, O. (eds) Complex, Intelligent, and Software Intensive Systems. CISIS 2017. Advances in Intelligent Systems and Computing, vol 611. Springer, Cham. https://doi.org/10.1007/978-3-319-61566-0_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-61566-0_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-61565-3

  • Online ISBN: 978-3-319-61566-0

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics