Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software Systems

Source code constitutes the static and human-readable component of a software system. It comprises an array of artifacts and features that collectively execute a specific set of tasks. Coding behaviours and patterns are formulated through the orchestrated utilization of distinct features in a specif...

Full description

Bibliographic Details
Main Author: Toosi Farshad Ghassemi
Format: Article
Language:English
Published: Sciendo 2023-12-01
Series:Applied Computer Systems
Subjects:
Online Access:https://doi.org/10.2478/acss-2023-0022
_version_ 1797323407032844288
author Toosi Farshad Ghassemi
author_facet Toosi Farshad Ghassemi
author_sort Toosi Farshad Ghassemi
collection DOAJ
description Source code constitutes the static and human-readable component of a software system. It comprises an array of artifacts and features that collectively execute a specific set of tasks. Coding behaviours and patterns are formulated through the orchestrated utilization of distinct features in a specified sequence, fostering inter-dependencies among these features. This study seeks to explore into the presence of specific coding behaviours and patterns within Java, which could potentially unveil the extent to which developers endeavour to leverage the facilities and services that exist in the programming language aggregatively. In pursuit of investigating behaviours and patterns, 436 open-source Java projects are selected, each having more than 150 Java files (Classes and Interfaces), in a semi-randomized manner. For every project, 39 features have been chosen, and the frequency of each individual feature has been independently assessed. By employing linear regression, the interrelationships among all features across the complete array of projects are scrutinized. This analysis intends to uncover the manifestation of distinct coding behaviours and patterns. Based on the selected features, preliminary findings suggest a notable collective incorporation of diverse coding behaviours among programmers, encompassing Encapsulation and Polymorphism. The findings also point to a distinct preference for using a specific commenting mechanism, JavaDoc, and the potential existence of Code-Clone and dead code. Overall, the results indicate a clear tendency among programmers to strongly adhere to the fundamental principles of Object -Oriented programming. However, certain less obvious attributes of object-oriented languages appear to receive relatively less attention from programmers.
first_indexed 2024-03-08T05:28:13Z
format Article
id doaj.art-aa9b5b8e22594471aa8d5824316f0286
institution Directory Open Access Journal
issn 2255-8691
language English
last_indexed 2024-03-08T05:28:13Z
publishDate 2023-12-01
publisher Sciendo
record_format Article
series Applied Computer Systems
spelling doaj.art-aa9b5b8e22594471aa8d5824316f02862024-02-06T09:09:30ZengSciendoApplied Computer Systems2255-86912023-12-0128222123110.2478/acss-2023-0022Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software SystemsToosi Farshad Ghassemi01Department of Computer Science, Munster Technological University, Cork, IrelandSource code constitutes the static and human-readable component of a software system. It comprises an array of artifacts and features that collectively execute a specific set of tasks. Coding behaviours and patterns are formulated through the orchestrated utilization of distinct features in a specified sequence, fostering inter-dependencies among these features. This study seeks to explore into the presence of specific coding behaviours and patterns within Java, which could potentially unveil the extent to which developers endeavour to leverage the facilities and services that exist in the programming language aggregatively. In pursuit of investigating behaviours and patterns, 436 open-source Java projects are selected, each having more than 150 Java files (Classes and Interfaces), in a semi-randomized manner. For every project, 39 features have been chosen, and the frequency of each individual feature has been independently assessed. By employing linear regression, the interrelationships among all features across the complete array of projects are scrutinized. This analysis intends to uncover the manifestation of distinct coding behaviours and patterns. Based on the selected features, preliminary findings suggest a notable collective incorporation of diverse coding behaviours among programmers, encompassing Encapsulation and Polymorphism. The findings also point to a distinct preference for using a specific commenting mechanism, JavaDoc, and the potential existence of Code-Clone and dead code. Overall, the results indicate a clear tendency among programmers to strongly adhere to the fundamental principles of Object -Oriented programming. However, certain less obvious attributes of object-oriented languages appear to receive relatively less attention from programmers.https://doi.org/10.2478/acss-2023-0022object oriented principlesource code analysissource code feature extraction
spellingShingle Toosi Farshad Ghassemi
Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software Systems
Applied Computer Systems
object oriented principle
source code analysis
source code feature extraction
title Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software Systems
title_full Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software Systems
title_fullStr Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software Systems
title_full_unstemmed Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software Systems
title_short Source Code Features and their Dependencies: An Aggregative Statistical Analysis on Open-Source Java Software Systems
title_sort source code features and their dependencies an aggregative statistical analysis on open source java software systems
topic object oriented principle
source code analysis
source code feature extraction
url https://doi.org/10.2478/acss-2023-0022
work_keys_str_mv AT toosifarshadghassemi sourcecodefeaturesandtheirdependenciesanaggregativestatisticalanalysisonopensourcejavasoftwaresystems