Skip to main content
Log in

A methodology to rank the design patterns on the base of text relevancy

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

Several software design patterns have cataloged either with canonical or as variants to solve a recurring design problem. However, novice designers mostly adopt patterns without considering their ground reality and relevance to design problems, which causes to increase the development and maintenance efforts. The existing automated systems to select the design patterns need either high computing effort and time for the formal specification or precise learning through the training of several classifiers with large sample size to select the right design patterns realized on the base of their ground reality. In order to discuss this issue, we propose a method on the base of a supervised learning technique named ‘Learning to Rank’, to rank the design patterns via the text relevancy with the description of the given design problems. Subsequently, we also propose an evaluation model to assess the effectiveness of the proposed method. We evaluate the efficacy of the proposed method in the context of several design pattern collections and relevant design problems. The promising experimental results indicate the applicability of the proposed method as a recommendation system to select the right design pattern(s).

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

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

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

  3. https://www.lemurproject.org/.

  4. https://docs.google.com/document/d/1sWzdLaPdvaFR7grmi3vmyhg4ksq3y1TqXt-Jm0zQgFM/edit?usp=sharing.

References

  • Baraki H et al (2015) Interdisciplinary design patterns for socially aware computing. In: Proceeding of 37th international conference on software engineering (ICSE)

  • Bass L, Clements P, Kazman R (2012) Software architecture in practice, 3rd edn. Addison-Wesley Professional, Boston

    Google Scholar 

  • Birukou A (2010) A survey of existing approaches for pattern search and selection. In: Proceeding of PLoP

  • Blomqvist E (2008) Pattern ranking for semiautomatic ontology construction. In: Proceedings of SAC

  • Booch G (2006) Handbook of software architecture, 2004. IBM Corporation. http://handbookofsoftwarearchitecture.com/

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

    Article  Google Scholar 

  • Buschmann F, Henney K, Schmidt DC (2007a) Pattern-oriented software architecture, vol 4. A pattern language for distributed computing. Wiley, New York

    Google Scholar 

  • Buschmann F, Henney K, Schmidt DC (2007b) Pattern-oriented software architecture, vol 5. On patterns and pattern languages. Wiley, New York

    Google Scholar 

  • Douglass BP (2002) Real-time design patterns: robust scalable architecture for real-time systems. Addison-Wesley, Boston

    Google Scholar 

  • Duyne V et al (2003) The design of sites: patterns, principles and processes for crafting a customer-centered web experience. Addison Wesley, Boston

    Google Scholar 

  • Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Boston

    MATH  Google Scholar 

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

    Article  Google Scholar 

  • Hasso S, Carlson CR (2005) A theoretically-based process for organizing design patterns. In: Proceedings of 12th pattern language of patterns

  • Henninger S, Correa V (2007) Software pattern communities: current practices and challenges. In: Proceedings of the 14th conference on pattern languages of programs

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

    Google Scholar 

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

    Google Scholar 

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

  • Hussain S et al (2016) A methodology to automate the selection of design patterns. In: Proceeding of 40th annual computer software and applications conference (COMPSAC)

  • Hussain S, Keung J, Khan AA (2017a) Software design patterns classification and selection using text categorization approach. Appl Soft Comput 58:225–244

    Article  Google Scholar 

  • Hussain S, Keung J, Khan AA (2017) A framework for ranking of software design patterns. In: Proceedings of 11th international conference on complex, intelligent, and software intensive systems, Jul 10–12, 2017

  • Issaoui I, Bouassida N, Abdallah HB (2015) A new approach for interactive design pattern recommendation. Lect Notes Softw Eng 3(3):173

    Article  Google Scholar 

  • Khoury PE, Mokhtari A, Coquery E, Hacid MS (2008) An ontological interface for software developers to select security patterns. In: Proceedings of 19th international conference on database and expert systems application, (DEXA’08), pp 297–301

  • Kim DK, Khawand CE (2007) An approach to precisely specifying the problem domain of design patterns. J Vis Lang Comput 18:560–591

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Kircher M, Jain O (2004) Pattern-oriented software architecture, vol 3. Patterns for resource management. Wiley, New York

    Google Scholar 

  • Li H (2011) A short introduction to ‘learning to rank’. IEICE Trans Inf Syst 94(10):1854–1862

    Article  Google Scholar 

  • Medhat W, Hassan A, Korashy H (2014) Sentiment analysis algorithms and applications: a survey. Ain Shams Eng J 5:1093–1113

    Article  Google Scholar 

  • Metzler D, Croft WB (2007) Linear feature-based models for information retrieval. Inf Retr 10(3):257–274

    Article  Google Scholar 

  • Palma F, Farzin H, Gueheneuc Y-G (2012) Recommendation system for design patterns in software development: an DRP Ovrview. In: Proceeding of RSSE

  • Schmidt DC, Stal M, Rohnert H, Buschmann F (2000) Pattern-oriented software architecture, vol 2. Patterns for concurrent and networked objects. Wiley, New York

    MATH  Google Scholar 

  • Schumacher M, Fernandez E, Hybertson D, Buschmann F (2006) Security patterns: integrating security and systems engineering. Wiley, New York

    Google Scholar 

  • Shalloway A, Trott R (2001) Design pattern explained: a new perspective on object oriented design. Addison Wesley, Boston

    Google Scholar 

  • Silberschatz A, Galvin PB, Gagne G (2002) Operating System Concepts, 6th edn. Wiley, USA

    MATH  Google Scholar 

  • Uysal AK (2016) An improved global feature selection scheme for text classification. Expert Syst Appl 43:82–92

    Article  Google Scholar 

  • van Welie M (2006) Patterns in interaction design. http://www.welie.com/. Updated: 27 June 2006

  • Velasco-Elizondo P, Marin-Pina R, Vazquez-Reyes S, Mora-Soto A, Mejia J (2016) Knowledge representation and information extraction for analyzing architectural patterns. Sci Comput Program 121:176–189

    Article  Google Scholar 

  • Wood WG (2007) A practical example of applying attribute-driven design (ADD), version 2.0, technical report, SE Institute

  • Wu Q, Burges CJC, Svore K, Gao J (2007) Adapting boosting for information retrieval measures. J Inf Retr 13(3):254–270

    Article  Google Scholar 

  • Xu J, Li H (2007) AdaRank: a boosting algorithm for information retrieval. In: Proceedings of SIGIR, pp 391–398

  • Zhang C, Wu X, Niu Z, Ding W (2014) Authorship identification from unstructured texts. Knowl Based Syst 66:99–111

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Shahid Hussain or Arif Ali Khan.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

Informed consent

Since in the article there is no human involvement for data gathering, consequently informed consent is not required.

Additional information

Communicated by V. Loia.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hussain, S., Keung, J., Sohail, M.K. et al. A methodology to rank the design patterns on the base of text relevancy. Soft Comput 23, 13433–13448 (2019). https://doi.org/10.1007/s00500-019-03882-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-019-03882-y

Keywords

Navigation