Log in

Formally modeling and verifying a software component retrieval system using mCRL2

  • Original Article
  • Published:
International Journal of System Assurance Engineering and Management Aims and scope Submit manuscript

Abstract

Software reuse is the process of building a new software application by using existing software components. Component-based software engineering is one of the approaches that is based on reusability concepts. It helps to improve the software quality and performance. Effective storage and retrieval scheme are two of the essential factors in the software reuse process. It reduces maintenance costs and easily upgrades a large and complex software system. The selection of appropriate components becomes more complex due to unexpected requirements. To overcome these problems, many researchers have developed different types of software component storage and retrieval techniques. However, all the techniques do not give the proper satisfaction of the developer requirements. In this paper, we proposed a software component retrieval schema which is built on different group of repositories namely metadata repository, description repository, component repository, and ontology repository. These repositories give semantic information related to the component. For the correctness of the proposed system, we proposed a formal model of that system which verifies the correct flow of a sequence of these repositories for finding the desired component. Formal specification and verification technique helps to determine the correct matching component from the repository. This new system improves searching results for the developer to develop the software project. We used mCRL2 process algebra for describing the behavior of storing and retrieving system. The requirement of the proposed system has written in a modal mu-calculus. It has been verified by using the mCRL2 toolset.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Germany)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  • Almeida JB, Frade MJ, Pinto JS, de Sousa SM (2011) An overview of formal methods tools and techniques. In: Rigorous software development, pp 15–44

  • Aman N et al (2014) Component retrieval techniques-a systematic review. Int J Sci Eng Res 5(1):1699–1706

    MathSciNet  Google Scholar 

  • Bakshi A, Bawa S (2013) A survey for effective search and retrieval of components from software repositories. IJERT Int J Eng Res Technol

  • Bawa R, Kaur I (2016) Algorithmic approach for efficient retrieval of component repositories in component based software engineering. Indian J Sci Technol 9(48):27–70

    Article  Google Scholar 

  • Bibi N, Rana T, Maqbool A, Alkhalifah T, Khan WZ, Bashir AK, Zikria YB (2022) Reusable component retrieval: a semantic search approach for low resource languages. In: Transactions on Asian and low-resource language information processing

  • Bunte O, Groote JF, Keiren JJ, Laveaux M, Neele T, de Vink EP, Wesselink W, Wijs A, Willemse TA (2019) The mCRL2 toolset for analysing concurrent systems: improvements in expressivity and usability. In: Tools and algorithms for the construction and analysis of systems: 25th international conference, TACAS 2019, Held as part of the european joint conferences on theory and practice of software, ETAPS 2019, Prague, Czech Republic, April 6–11, 2019, Proceedings, Part II 25, Springer, pp 21–39

  • Chang C-T, Chu WC, Liu C-S, Yang H (1997) A formal approach to software components classification and retrieval. In: Proceedings twenty-first annual international computer software and applications conference (COMPSAC’97). IEEE, pp. 264–269

  • Chapman JW, Reynolds D, Shreeves SA (2009) Repository metadata: approaches and challenges. Cat Classif Q 47(3–4):309–325

    Google Scholar 

  • Chatterjee R, Rathi H (2014) A prolific approach towards automating component repository search. In: 2014 Seventh international conference on contemporary computing (IC3). IEEE, pp 547–552

  • Chythanya NK, Reddy C (2021) A survey on mechanisms of reusable code component retrieval from component repository. In: 2021 2nd international conference on smart electronics and communication (ICOSEC). IEEE, pp 764–769

  • Cranen S, Groote JF, Keiren JJ, Stappers FP, De Vink EP, Wesselink W, Willemse TA (2013) An overview of the mCRL2 toolset and its recent advances. In: International conference on tools and algorithms for the construction and analysis of systems. Springer, pp. 199–213

  • Desouky E, El-Khouly M (2015) A survey on clustering software components for efficient component retrieval. J Inf Soc, ISSN 2356–9328

  • Dixit A, Saxena P (2009) Software component retrieval using genetic algorithms. In: 2009 International conference on computer and automation engineering. IEEE, pp 151–155

  • El-Ansari A, Beni-Hssane A, Saadi M, El Fissaoui M (2021) Papir: privacy-aware personalized information retrieval. J Ambient Intell Humaniz Comput 12:9891–9907

    Article  Google Scholar 

  • Gajala G (2013) Implementation of attribute value & faceted value classification scheme for constructing reuse repository. Int J Comput Trends Technoly (IJCTT), vol 4(1). ISSN 2231–2803

  • Gavrilović N, Mishra A (2021) Software architecture of the internet of things (IoT) for smart city, healthcare and agriculture: analysis and improvement directions. J Ambient Intell Humaniz Comput 12(1):1315–1336

    Article  Google Scholar 

  • Groote JF, Keiren J, Mathijssen A, Ploeger B, Stappers F, Tankink C, Usenko Y, van Weerdenburg M, Wesselink W, Willemse T et al. (2008) The mCRL2 toolset. In: Proceedings of the international workshop on advanced software development tools and techniques (WASDeTT 2008), p 53

  • Groote JF, Mathijssen A, Reniers M, Usenko Y, Van Weerdenburg M (2007) The formal specification language mCRL2. In: Dagstuhl Seminar Proceedings, Schloss Dagstuhl-Leibniz-Zentrum für Informatik

  • Guo J et al. (1999) Toward automated retrieval for a software component repository. In: Proceedings ECBS’99. IEEE conference and workshop on engineering of computer-based systems. IEEE, pp. 99–105

  • Guo J. et al. (2000) A survey of software reuse repositories. In: Proceedings seventh IEEE international conference and workshop on the engineering of computer-based systems (ECBS 2000). IEEE, pp 92–100

  • Gupta S, Kumar A (2013) Reusable software component retrieval system. Int J Appl Innov Eng Manag 2(1):187–94

    Google Scholar 

  • Hojjat H, Mousavi MR, Sirjani M (2011) Formal analysis of SystemC designs in process algebra. Fund Inform 107(1):19–42

    MathSciNet  Google Scholar 

  • Kavitha P, Vidhya Saraswathi P (2021) Content based satellite image retrieval system using fuzzy clustering. J Ambient Intell Humaniz Comput 12:5541–5552

    Article  Google Scholar 

  • Lewczuk K (2021) The study on the automated storage and retrieval system dependability. Eksploatacja i Niezawodność 23(4):709–718

    Article  Google Scholar 

  • Lucredio D, Gavioli A, do Prado AF, Biajiz M (2004) Component retrieval using metric indexing. In: Proceedings of the 2004 IEEE international conference on information reuse and integration, 2004. IRI 2004. IEEE, pp 79–84

  • Lucredio D, Prado AFd, de Almeida ES (2004) A survey on software components search and retrieval. In: Proceedings 30th Euromicro Conference, 2004. IEEE, pp 152–159

  • Man K, van der Wulp J (2008) Specification and analysis of hardware designs using mcrl2. In: 2008 Canadian conference on electrical and computer engineering. IEEE, pp 000211–000214

  • Nie L, Zhong L (2009) Component retrieval based on domain ontology and user interest. In: 2009 International conference on e-business and information system security. IEEE, pp 1–4

  • Shi H, Chen Y, Hu J-Y (2021) Deep learning on information retrieval using agent flow e-mail reply system for IoT enterprise customer service. J Ambient Intell Human Comput. https://doi.org/10.1007/s12652-021-02991-7

    Article  Google Scholar 

  • Singh S (2013) An experiment in software component retrieval based on metadata and ontology repository. Int J Comput Appl 61(14):1–8

    Google Scholar 

  • Vasanthi R, Jayavadivel R, Prasadh K, Vellingiri J, Akilarasu G, Sudhakar S, Balasubramaniam P (2021) A novel user interaction middleware component system for ubiquitous soft computing environment by using fuzzy agent computing system. J Ambient Intell Humaniz Comput 12:4827–4840

    Article  Google Scholar 

  • Xu B, An L, Thung F, Khomh F, Lo D (2020) Why reinventing the wheels? an empirical study on library reuse and re-implementation. Empir Softw Eng 25:755–789

    Article  Google Scholar 

  • Yahlali M (2022) Software components selection process: comparative study

  • Zhang L (2007) Software component repositories. In: Wiley encyclopedia of computer science and engineering

Download references

Funding

This research received no specific grant from any funding agency.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nisha Pal.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Human or animals rights

Research does not involve human participants and/or animals.

Informed consent

Research does not involve humans.

Additional information

Publisher's Note

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

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pal, N., Yadav, D.K. Formally modeling and verifying a software component retrieval system using mCRL2. Int J Syst Assur Eng Manag 14, 2485–2496 (2023). https://doi.org/10.1007/s13198-023-02098-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-023-02098-6

Keywords

Navigation