IDEAS home Printed from https://ideas.repec.org/a/plo/pone00/0310840.html
   My bibliography  Save this article

Selecting optimal software code descriptors—The case of Java

Author

Listed:
  • Yegor Bugayenko
  • Zamira Kholmatova
  • Artem Kruglov
  • Witold Pedrycz
  • Giancarlo Succi

Abstract

Over the last 25 years, a considerable proliferation of software metrics and a plethora of tools have emerged to extract them. While this is indeed positive concerning the previous situations of limited data, it still leads to a significant problem arising both from a theoretical and a practical standpoint. From a theoretical perspective, several metrics are likely to result in collinearity, overfitting, etc. From a practical perspective, such a set of metrics is difficult to manage and companies, especially small ones, may feel overwhelmed and unable to select a viable subset of them. Still, so far it has not been fully understood what is a viable subset of metrics suitable to properly manage software projects and products. In this paper, we attempt to address this issue. We focus on the case of programs written in Java and we consider classes and methods. We use Sammon error as a measure of the similarity of metrics. Utilizing both Particle Swarm Optimization and Genetic Algorithm, we adapted a method for the identification of a viable subset of such metrics that could solve the mentioned problem. Furthermore, we experiment with our approach on 800 projects coming from GitHub and validate the results on 200 projects. With the proposed method we got optimal subsets of software engineering metrics. These subsets gave us low values of Sammon error at more than 70% at class and method levels on a validation dataset.

Suggested Citation

  • Yegor Bugayenko & Zamira Kholmatova & Artem Kruglov & Witold Pedrycz & Giancarlo Succi, 2024. "Selecting optimal software code descriptors—The case of Java," PLOS ONE, Public Library of Science, vol. 19(11), pages 1-23, November.
  • Handle: RePEc:plo:pone00:0310840
    DOI: 10.1371/journal.pone.0310840
    as

    Download full text from publisher

    File URL: https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0310840
    Download Restriction: no

    File URL: https://journals.plos.org/plosone/article/file?id=10.1371/journal.pone.0310840&type=printable
    Download Restriction: no

    File URL: https://libkey.io/10.1371/journal.pone.0310840?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
    ---><---

    References listed on IDEAS

    as
    1. Iftikhar Ahmad, 2015. "Feature Selection Using Particle Swarm Optimization in Intrusion Detection," International Journal of Distributed Sensor Networks, , vol. 11(10), pages 806954-8069, October.
    2. Amit Saxena & Nikhil R. Pal & Megha Vora, 2010. "Evolutionary Methods for Unsupervised Feature Selection Using Sammon's Stress Function," Fuzzy Information and Engineering, Taylor & Francis Journals, vol. 2(3), pages 229-247, September.
    3. Amit Saxena & Nikhil R. Pal & Megha Vora, 2010. "Evolutionary methods for unsupervised feature selection using Sammon’s stress function," Fuzzy Information and Engineering, Springer, vol. 2(3), pages 229-247, September.
    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.

      More about this item

      Statistics

      Access and download statistics

      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:plo:pone00:0310840. 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: plosone (email available below). General contact details of provider: https://journals.plos.org/plosone/ .

      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.