IDEAS home Printed from https://ideas.repec.org/a/spr/infosf/v22y2020i6d10.1007_s10796-019-09948-4.html
   My bibliography  Save this article

Mining Reusable Software Components from Object-Oriented Source Code using Discrete PSO and Modeling Them as Java Beans

Author

Listed:
  • Amit Rathee

    (National Institute of Technology)

  • Jitender Kumar Chhabra

    (National Institute of Technology)

Abstract

Object-based software development in the IT-industry during the last decade has focused on reusing the already developed elements. Current software development models and technologies promote software reuse by utilizing component-oriented programming. Component-oriented programming provides more effective reuse as compared to its object-oriented language counterpart. This is because a component provides more abstractness in terms of the functionality in contrast to the object-oriented software element (e.g. class/ interface). The component-based development is highly dependent on the availability of the component library that contains well-defined and already tested functionality in terms of the available components. However, the suitable availability of such component library is still a problem. The lack of a suitable component library is tackled either by designing new components from scratch or by identifying them from the existing software systems. These identified components must be transformed as per component models, such as a Java Bean, in order to increase software reuse and faster software development, and little research has been carried out in this direction. Although many approaches have been proposed to identify components from existing systems and build a component library. But, such approaches lack in transforming the identified components as per specifications of a component model. Further identification of reusable elements also needs to be more accurate and efficient. Accuracy is dependent on the structural and semantic properties of a component. A component can consist of a single or a group of individual elements of the software, and thus identifying components from a set of all elements becomes an exponentially growing problem. Such problems can be more efficiently solved using metaheuristic algorithms. Therefore, this paper targets identifying accurately the components from a singular existing software system and transform those identified components to the Java Bean component model standard. The component identification approach of this paper is based on clustering the underlying software system by utilizing a metaheuristic search-based PSO algorithm. The clusters are identified as a group containing 2/ 3/ 4 software elements. Moreover, the used fitness function is based on the structural (based on usage for member variables) and semantic relations belonging to a software. Since the PSO algorithm is generally applied to continuous problems, whereas our formulated component identification problem is discrete (due to the representation of particles) in nature. Therefore, we have also provided a mechanism through which the PSO algorithm is modified to become applicable to discrete problems. From the obtained clusters (components), the interfaces of the components are identified by identifying independent chains in call-graphs of the underlying components. Finally, these components are transformed as per the Java Bean component model specifications. The proposed approach is validated experimentally on 7 open-source object-oriented Java software systems and results are compared with competitive approaches. The obtained results confirm the correctness of the transformed component and hence their reusability.

Suggested Citation

  • Amit Rathee & Jitender Kumar Chhabra, 2020. "Mining Reusable Software Components from Object-Oriented Source Code using Discrete PSO and Modeling Them as Java Beans," Information Systems Frontiers, Springer, vol. 22(6), pages 1519-1537, December.
  • Handle: RePEc:spr:infosf:v:22:y:2020:i:6:d:10.1007_s10796-019-09948-4
    DOI: 10.1007/s10796-019-09948-4
    as

    Download full text from publisher

    File URL: http://link.springer.com/10.1007/s10796-019-09948-4
    File Function: Abstract
    Download Restriction: Access to the full text of the articles in this series is restricted.

    File URL: https://libkey.io/10.1007/s10796-019-09948-4?utm_source=ideas
    LibKey link: if access is restricted and if your library uses this service, LibKey will redirect you to where you can use your library subscription to access this item
    ---><---

    As the access to this document is restricted, you may want to search for a different version of it.

    References listed on IDEAS

    as
    1. Congcong Gong & Haisong Chen & Weixiong He & Zhanliang Zhang, 2017. "Improved multi-objective clustering algorithm using particle swarm optimization," PLOS ONE, Public Library of Science, vol. 12(12), pages 1-19, December.
    2. Noyan Ilk & J. Leon Zhao & Paulo Goes & Paul Hofmann, 2011. "Semantic enrichment process: An approach to software component reuse in modernizing enterprise systems," Information Systems Frontiers, Springer, vol. 13(3), pages 359-370, July.
    3. Lifeng Mu & Vijayan Sugumaran & Fangyuan Wang, 0. "A Hybrid Genetic Algorithm for Software Architecture Re-Modularization," Information Systems Frontiers, Springer, vol. 0, pages 1-29.
    4. Martin Garriga & Alan De Renzis & Ignacio Lizarralde & Andres Flores & Cristian Mateos & Alejandra Cechich & Alejandro Zunino, 2018. "A structural-semantic web service selection approach to improve retrievability of web services," Information Systems Frontiers, Springer, vol. 20(6), pages 1319-1344, December.
    5. Marcus Kessel & Colin Atkinson, 2016. "Ranking software components for reuse based on non-functional properties," Information Systems Frontiers, Springer, vol. 18(5), pages 825-853, October.
    Full references (including those not matched with items on IDEAS)

    Most related items

    These are the items that most often cite the same works as this one and are cited by the same works as this one.
    1. Thouraya Bouabana-Tebibel & Stuart H. Rubin, 2016. "Towards common reusable semantics," Information Systems Frontiers, Springer, vol. 18(5), pages 819-823, October.
    2. Bae, Hyeong-Ohk & Ha, Seung-Yeal & Kang, Myeongju & Lim, Hyuncheul & Min, Chanho & Yoo, Jane, 2022. "A constrained consensus based optimization algorithm and its application to finance," Applied Mathematics and Computation, Elsevier, vol. 416(C).
    3. Doruk Şen & Cem Çağrı Dönmez & Umman Mahir Yıldırım, 2020. "A Hybrid Bi-level Metaheuristic for Credit Scoring," Information Systems Frontiers, Springer, vol. 22(5), pages 1009-1019, October.
    4. Amit V. Deokar & Jie Tao, 2021. "OrgMiner: A Framework for Discovering User-Related Process Intelligence from Event Logs," Information Systems Frontiers, Springer, vol. 23(3), pages 753-772, June.
    5. Amit V. Deokar & Jie Tao, 0. "OrgMiner: A Framework for Discovering User-Related Process Intelligence from Event Logs," Information Systems Frontiers, Springer, vol. 0, pages 1-20.
    6. Martin Garriga & Alan De Renzis & Ignacio Lizarralde & Andres Flores & Cristian Mateos & Alejandra Cechich & Alejandro Zunino, 0. "A structural-semantic web service selection approach to improve retrievability of web services," Information Systems Frontiers, Springer, vol. 0, pages 1-26.
    7. Doruk Şen & Cem Çağrı Dönmez & Umman Mahir Yıldırım, 0. "A Hybrid Bi-level Metaheuristic for Credit Scoring," Information Systems Frontiers, Springer, vol. 0, pages 1-11.
    8. Chulhwan Chris Bang, 2015. "Information systems frontiers: Keyword analysis and classification," Information Systems Frontiers, Springer, vol. 17(1), pages 217-237, February.
    9. Martin Garriga & Alan De Renzis & Ignacio Lizarralde & Andres Flores & Cristian Mateos & Alejandra Cechich & Alejandro Zunino, 2018. "A structural-semantic web service selection approach to improve retrievability of web services," Information Systems Frontiers, Springer, vol. 20(6), pages 1319-1344, December.
    10. Yukun Dong & Yu Zhang & Fubin Liu & Zhengjun Zhu, 2022. "Research on an Optimization Method for Injection-Production Parameters Based on an Improved Particle Swarm Optimization Algorithm," Energies, MDPI, vol. 15(8), pages 1-18, April.

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:spr:infosf:v:22:y:2020:i:6:d:10.1007_s10796-019-09948-4. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    If CitEc recognized a bibliographic reference but did not link an item in RePEc to it, you can help with this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: Sonal Shukla or Springer Nature Abstracting and Indexing (email available below). General contact details of provider: http://www.springer.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.