Logical dependencies: extraction from the versioning system and usage in key classes detection
- Politehnica University, Piaţa Victoriei Nr. 2
300006 Timişoara, jud. Timiş, România
stana.adelina.diana@gmail.com; ioana.sora@cs.upt.ro
Abstract
The version control system of every software product can provide important information about how the system is connected. In this study, we first propose a language-independent method to collect and filter dependencies from the version control, and second, we use the results obtained in the first step to identify key classes from three software systems. To identify the key classes, we are using the dependencies extracted from the version control system together with dependencies from the source code, and also separate. Based on the results obtained we can say that compared with the results obtained by using only dependencies extracted from code, the mix between both types of dependencies provides small improvements. And, by using only dependencies from the version control system, we obtained results that did not surpass the results previously mentioned, but are still acceptable. We still consider this an important result because this might open an important opportunity for software systems that use dynamically typed languages such as JavaScript, Objective-C, Python, and Ruby, or systems that use multiple languages. These types of systems, for which the code dependencies are harder to obtain, can use the dependencies extracted from the version control to gain better knowledge about the system.
Key words
logical dependencies; logical coupling; mining software repositories; versioning system; key classes; co-changing entities; software evolution
Digital Object Identifier (DOI)
https://doi.org/10.2298/CSIS220518025S
Publication information
Volume 20, Issue 3 (June 2023)
Year of Publication: 2023
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium
Full text
Available in PDF
Portable Document Format
How to cite
Stana, A. D., Şora, I.: Logical dependencies: extraction from the versioning system and usage in key classes detection. Computer Science and Information Systems, Vol. 20, No. 3, 1015–1035. (2023), https://doi.org/10.2298/CSIS220518025S