Towards specifying pragmatic software reuse
Paper in proceedings, 2015
© 2015 ACM. Software reuse has numerous benefits, including reduced de-velopment time, defect density, and increased developer pro-ductivity. Numerous approaches to software reuse have been developed and we can divide them into two categories: pre-planned approaches, where software artifacts are developed to be reused; and pragmatic approaches, that facilitate the reuse of software artifacts not necessarily designed for reuse. In this paper, we specify the general approach to pragmatic software reuse, which consists of three steps:i) feature loca-tion, which identifies the source code of an individual fea-ture; ii) code analysis and modification, which fixes conicts that can happen when achieving reuse; and iii) feature in-tegration, which achieves reuse by integrating code into the target system. We also discuss how certain steps in the process are used in current state-of-The-Art pragmatic reuse approaches. In addition, based on the experience of devel-oping an approach to pragmatically reusing web application features, we identify general challenges in pragmatic reuse approaches.