scholarly journals Internal Quality Evolution of Open-Source Software Systems

2021 ◽  
Vol 11 (12) ◽  
pp. 5690
Author(s):  
Mamdouh Alenezi

The evolution of software is necessary for the success of software systems. Studying the evolution of software and understanding it is a vocal topic of study in software engineering. One of the primary concepts of software evolution is that the internal quality of a software system declines when it evolves. In this paper, the method of evolution of the internal quality of object-oriented open-source software systems has been examined by applying a software metric approach. More specifically, we analyze how software systems evolve over versions regarding size and the relationship between size and different internal quality metrics. The results and observations of this research include: (i) there is a significant difference between different systems concerning the LOC variable (ii) there is a significant correlation between all pairwise comparisons of internal quality metrics, and (iii) the effect of complexity and inheritance on the LOC was positive and significant, while the effect of Coupling and Cohesion was not significant.

2015 ◽  
Vol 5 (4) ◽  
pp. 24-35 ◽  
Author(s):  
Mamdouh Alenezi ◽  
Fakhry Khellah

Software systems usually evolve constantly, which requires constant development and maintenance. Subsequently, the architecture of these systems tends to degrade with time. Therefore, stability is a key measure for evaluating an architecture. Open-source software systems are becoming progressively vital these days. Since open-source software systems are usually developed in a different management style, the quality of their architectures needs to be studied. ISO/IEC SQuaRe quality standard characterized stability as one of the sub-characteristics of maintainability. Unstable software architecture could cause the software to require high maintenance cost and effort. In this work, the authors propose a simple, yet efficient, technique that is based on carefully aggregating the package level stability in order to measure the change in the architecture level stability as the architecture evolution happens. The proposed method can be used to further study the cause behind the positive or negative architecture stability changes.


2014 ◽  
Author(s):  
Mariana Santos ◽  
Rodrigo Amador ◽  
Paulo Henrique De Souza Bermejo ◽  
Heitor Costa

Organizations are becoming increasingly concerned about software quality. In object-oriented (OO) systems, quality is characterized by measurements of internal quality attributes. An efficient and proper method to analyze software quality in the absence of fault-prone or defective data labels is cluster analysis. The aim of this paper is to find similarities among project structures by measuring characteristics of internal software quality. In a sample of 150 open-source software systems, we evaluated software using macro and micro categories. Results obtained using cluster analysis indicated that some domains such as Graphics, Games, and Development tend to have similarities in specialization, abstraction, stability, and complexity. These results exploit the ability of OO software metrics to find similar behavior across domains. The results provide an immediate view of the trends and characteristics of internal software quality of Java systems that need to be addressed so that software systems can continue to be maintainable.


2016 ◽  
Author(s):  
Mariana De Azevedo Santos ◽  
Paulo Henrique De Souza Bermejo ◽  
Heitor Costa

Although it is necessary, activities regarding quality assurance and maintenance of software are considered the longest and most complex in software development lifecycle. Taking advantage of this growing trend and of the benefits obtained from open-source initiative, researches on open-source software quality and maintainability have gained renewed interest. The use of robust statistical techniques, such as PLS-SEM to investigate and empirically validate software quality models has also been an efficient alternative to obtain information on open-source software quality. The aim of this study was evaluate and build a conceptual model to characterize the internal quality in Java open-source software in different domains, validated with the PLS-SEM technique. The study results indicate that there are domains with similarities among them and four factors can influence the internal quality of object-oriented software to present better maintainability (Complexity Reduce, Normalized Cohesion, Non-normalized Cohesion, and Increase of the Modularity Level). Besides, we identified some measures are more effective to evaluate internal quality in object-oriented open-source, such as, Fan-out (FOUT), Lack of Cohesion of Methods 2 (LCOM2), Response for Class (RFC), Tight Class Cohesion (TCC), and Loose Class Cohesion (LCC). Thus, this study aims at supporting software engineers and project managers to develop measurement strategies to ensure internal quality of source code and reduce maintenance costs.


2015 ◽  
Vol 8 (1) ◽  
pp. 62-81
Author(s):  
Héctor J. Macho ◽  
Gregorio Robles ◽  
Jesus M. González-Barahona

In today's world, management often rely on FLOSS (Free/Libre/Open Source Software) systems to run their organizations. However, the nature of FLOSS is different from the software they have been using in the last decades. Its development model is distributed, and its authors are diverse as many volunteers and companies may collaborate in the project. In this paper, the authors want to shed some light on how to evaluate a FLOSS system by looking at the Moodle platform, which is currently the most used learning management system among educational institutions worldwide. In contrast with other evaluation models that have been proposed so far, the one presented here is based on retrieving historical information that can be obtained publicly from the Internet, allowing the authors to study its evolution. As a result, they will show how using their methodology management can take informed decisions that lower the risk that organizations face when investing in a FLOSS system.


Author(s):  
G. L. Saini ◽  
Deepak Panwar ◽  
Sandeep Kumar ◽  
Vijander Singh ◽  
Ramesh Chandra Poonia

Component-based software development (CBSD) is an efficient approach used by software developers to develop new software. The commercial off the shelf (COTS) and open-source software (OSS) are two styles to implement CBSD. The COTS provides the interface and depicts the black-box behavior, but does not support several software quality characteristics. On the other hard, OSS is a more efficient approach compared to COTS due to its source code availability. This research aims to identify the reusability level of OSS components from an online repository of OSS. The OSS components are classified based on Chidamber and Kemerer reusability metrics (CK-metrics). This paper proposed a mathematical model to establish the relationship between the reusability of CK-metrics. Reusability level of OSS component has been measured and most effective CK-metrics obtained by applying the Taguchi design and analysis of variance (ANOVA). The input parameters for the experimental design are evaluated based on the OSS repository. Performance analysis has been carried out based upon the interaction effect between the reusability of CK-metrics. Main effect plots are created to identify the most reusable component of the OSS. The genetic algorithm (GA) is used to predict the optimized value of the different control parameters. The results indicate that the OSS component reusability level is 0.698194. The reusability of software has a significant effect on the quality of software. The quality of software can be improved by increasing the reusability of software components.


Author(s):  
Rod Hilton ◽  
Ellen Gethner

Software engineers are able to measure the quality of their code using a variety of metrics that can be derived directly from analyzing the source code. These internal quality metrics are valuable to engineers, but the organizations funding the software development effort find external quality metrics such as defect rates and time to develop features more valuable. Unfortunately, external quality metrics can only be calculated after costly software has been developed and deployed for end-users to utilize. Here, we present a method for mining data from freely available open source codebases written in Java to train a Random Forest classifier to predict which files are likely to be external quality hotspots based on their internal quality metrics with over 75% accuracy. We also used the trained model to predict hotspots for a Java project whose data was not used to train the classifier and achieved over 75% accuracy again, demonstrating the method’s general applicability to different projects.


2021 ◽  
pp. 109634802098888
Author(s):  
Dan Jin ◽  
Robin B. DiPietro ◽  
Nicholas M. Watanabe

As customers’ consumption is increasingly dominated by technology-driven systems, online self-verification becomes an important aspect of customers’ online purchasing behavior and plays a significant role in shaping social interactions in the online community. Across two studies, we examine whether online self-verification with an identity versus without an identity will lead to the different quality of online reviews. Study 1 used topic modeling with actual data stripped from Facebook and TripAdvisor customer online review sites and showed no difference between customer reviews underpinned with an identity or without. Likewise, Study 2 used an experimental design and found no significant difference between customer reviews with or without an identity. However, significant mediation effects of social ties and social capital were found when measuring the relationship between online self-verification and customer reviews. The findings build on the literature of user-generated online reviews and have important implications for academics and hospitality practitioners.


Sign in / Sign up

Export Citation Format

Share Document