The Journal of Supercomputing

, Volume 75, Issue 4, pp 2027–2057 | Cite as

A dynamic control technique to enhance the flexibility of software artifact reuse in large-scale repository

  • Doohwan Kim
  • Seungwoo Nam
  • Jang-Eui HongEmail author


Reuse is the activity of developing new software systems using software components (or artifacts) that are already proven and reliable. However, traditional reuse-based software development has difficulties in finding the components that have the proper information (feature) to match the developers’ needs, or reusing a component without modification, because it has various and mixed information (features). In order to solve these problems, this paper proposes a dynamic control technique to enhance the reusability of software components. In particular, this technique focuses on the reuse of software documents that are created during the software research and development processes. We define a new unit of document reuse as a microComponent; this is a basic unit of reuse defined with a section of a software document. Based on the microComponent, it is possible to fast find more suitable components from a large-scale document repository; to control the reuse granularity from a section to an entire document; and finally, to improve the reusability of existing reusable assets.


Software artifact reuse Flexible reuse microComponent Dynamic reuse control 



The authors would like to thank the researchers of Software Engineering Laboratory, Chungbuk National University, and the engineers who provided the documents of the software development projects that have been performed at other laboratories in our organization and also admire their great effort to register them into the repository. This study was funded by National Research Foundation of Korea, funded by the Ministry of Science and ICT (NRF-2014M3C4A7030505).

Compliance with ethical standards

Conflict of interest

The authors declare that they have no conflict of interest.


  1. 1.
    Agresti WW (2011) Software reuse: developers’ experiences and perceptions. J Softw Eng Appl 4(1):48–58CrossRefGoogle Scholar
  2. 2.
    Alexander J, Cockburn A (2008) Characterizing electronic document use, reuse, coverage and multi-document interaction. In: New Zealand Computer Science Research Student Conference, pp 1–8Google Scholar
  3. 3.
    Bu HH, Kim NC, Moon CJ, Kim JH (2017) Content-based image retrieval using combined color and texture features extracted by multi-resolution multi-direction filtering. J Inf Process Syst 13(3):464–475. Google Scholar
  4. 4.
    Capiluppi A et al (2011) Software reuse in open source: a case study. Int J Open Source Softw Process 3(3):10–35CrossRefGoogle Scholar
  5. 5.
    Choi JH, Shin HS, Nasridinov A (2016) A comparative study on data mining classification techniques for military applications. J Converg 7:10–18Google Scholar
  6. 6.
    Filho SM et al (2012) Context-aware adaptation of component-based systems: an active repository approach. J Comput Netw Commun. Google Scholar
  7. 7.
    Frakes WB, Kang K (2005) Software reuse research: status and future. IEEE Trans Softw Eng 31(7):529–536CrossRefGoogle Scholar
  8. 8.
    Gao S, Sperberg-McQueen CM, Thompson H (2012) W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures, W3CGoogle Scholar
  9. 9.
    Guerrieri E (1998) Software document reuse with XML. In: International Conference on Software Reuse, pp 246–254Google Scholar
  10. 10.
    Hage W (2009) Producing documentation and reusing information in XML, Part 2, Reuse information in XML documentation, IBM developerWorksGoogle Scholar
  11. 11.
    IEC 61511-1 (2016) Functional safety—safety instrumented systems for the process industry sector—Part 1: Framework, definitions, system, hardware and application programming requirements. International Electrotechnical CommissionGoogle Scholar
  12. 12.
    ISO 26262-6 (2011) Road vehicles—functional safety—Part 6: Product development at the software level. International Organization for StandardGoogle Scholar
  13. 13.
    James M, Walter L (2017) Scrum reference card. Accessed 17 Jan 2017
  14. 14.
    Kim DH, Hong J, Yoon I, Lee S (2016) Code refactoring techniques for reducing energy consumption in embedded computing environment. Cluster Comput. Google Scholar
  15. 15.
    Kim D, Kim S, Hong J (2016) A microComponent-based reuse technique for reusing software architecture. In: Asia Pacific International Conference on Information Science and Technology, pp 209–212Google Scholar
  16. 16.
    Kim D, Kim S, Jung W, Hong J (2017) A context-aware architecture pattern to enhance the flexibility of software artifacts reuse. In: Advances in Computer Science and Ubiquitous Computing (LNEE 421), pp 654–659Google Scholar
  17. 17.
    Kim G et al (2016) The DevOps handbook: how to create world-class agility, reliability, and security in technology organizations, IT Revolution PressGoogle Scholar
  18. 18.
    Lim W (1994) Effect of reuse on quality. Product Econ IEEE Softw 11(5):23–30CrossRefGoogle Scholar
  19. 19.
    Martin RC (2002) Agile software development: principles, patterns, and practices. Pearson Publisher, CarmelGoogle Scholar
  20. 20.
    McMillian C et al (2013) Portfolio: searching for relevant functions and their usages in millions of lines of code. ACM Trans Softw Eng Methodol 22(4):1–30CrossRefGoogle Scholar
  21. 21.
    Nesic S (2009) Semantic document model to enhance data and knowledge interoperability. Web 2.0 & Semantic Web, vol 6, pp 135–160Google Scholar
  22. 22.
    OMG (2005) Reusable Asset Specification OMG Available Specification Version 2.2, formal/05-11-02, Object Management GroupGoogle Scholar
  23. 23.
    OASIS (2011) Open Document Format for Office Applications (OpenDocument), Version 1.2, OASIS StandardGoogle Scholar
  24. 24.
    OMG (2015) OMG Unified Modeling Language (OMG UML) Version 2.5, formal/2015-03-01, Object Management GroupGoogle Scholar
  25. 25.
    OMG (2015) XML Metadata Interchange (XMI) Specification Version 2.5.1, formal/2015-06-07, Object Management GroupGoogle Scholar
  26. 26.
    Riffat N, Khan MNA (2015) Rapid applications development techniques: a critical review. Int J Softw Eng Appl 9(11):163–176. Google Scholar
  27. 27.
    Schmidt DC (1999) Why Software Reuse has Failed and How to Make It Work for You, C++ Report magazine, January 1999Google Scholar
  28. 28.
    Stephenson D (2004) XML Schema best practices. HP InventGoogle Scholar
  29. 29.
    Uren V et al (2006) Semantic annotation for knowledge management: requirements and a survey of the state of the art. J Web Semant Sci Serv Agents World Wide Web 4(1):14–28CrossRefGoogle Scholar
  30. 30.
    Vijayarajan V, Dinakaran M, Priyam T, Mayank L (2016) A generic framework for ontology-based information retrieval and image retrieval in web data. Hum Centric Comput Inf Sci 6(18):1–30. Google Scholar
  31. 31.
    Weide BW, Ogden WF, Zweben SH (1991) Advance in computers: reusable software components. Academic Press, CambridgeGoogle Scholar
  32. 32.
    Ye Y (2001) Supporting component-based software development with active component repository system. Ph.D Dissertation, University of ColoradoGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceChungbuk National UniversityCheongjuSouth Korea

Personalised recommendations