scholarly journals Similar Characteristics of Internal Software Quality Attributes for Object-Oriented Open-Source Software Projects

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.


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.


2019 ◽  
Vol 214 ◽  
pp. 05007
Author(s):  
Marco Canaparo ◽  
Elisabetta Ronchieri

Software quality monitoring and analysis are among the most productive topics in software engineering research. Their results may be effectively employed by engineers during software development life cycle. Open source software constitutes a valid test case for the assessment of software characteristics. The data mining approach has been proposed in literature to extract software characteristics from software engineering data. This paper aims at comparing diverse data mining techniques (e.g., derived from machine learning) for developing effective software quality prediction models. To achieve this goal, we tackled various issues, such as the collection of software metrics from open source repositories, the assessment of prediction models to detect software issues and the adoption of statistical methods to evaluate data mining techniques. The results of this study aspire to identify the data mining techniques that perform better amongst all the ones used in this paper for software quality prediction models.


Author(s):  
Himanshi Vashisht ◽  
Sanjay Bharadwaj ◽  
Sushma Sharma

Code refactoring is a “Process of restructuring an existing source code.”. It also helps in improving the internal structure of the code without really affecting its external behaviour”. It changes a source code in such a way that it does not alter the external behaviour yet still it improves its internal structure. It is a way to clean up code that minimizes the chances of introducing bugs. Refactoring is a change made to the internal structure of a software component to make it easier to understand and cheaper to modify, without changing the observable behaviour of that software component. Bad smells indicate that there is something wrong in the code that have to refactor. There are different tools that are available to identify and emove these bad smells. A software has two types of quality attributes- Internal and external. In this paper we will study the effect of clone refactoring on software quality attributes.


Author(s):  
Maria Ulan ◽  
Welf Löwe ◽  
Morgan Ericsson ◽  
Anna Wingkvist

AbstractA quality model is a conceptual decomposition of an abstract notion of quality into relevant, possibly conflicting characteristics and further into measurable metrics. For quality assessment and decision making, metrics values are aggregated to characteristics and ultimately to quality scores. Aggregation has often been problematic as quality models do not provide the semantics of aggregation. This makes it hard to formally reason about metrics, characteristics, and quality. We argue that aggregation needs to be interpretable and mathematically well defined in order to assess, to compare, and to improve quality. To address this challenge, we propose a probabilistic approach to aggregation and define quality scores based on joint distributions of absolute metrics values. To evaluate the proposed approach and its implementation under realistic conditions, we conduct empirical studies on bug prediction of ca. 5000 software classes, maintainability of ca. 15000 open-source software systems, and on the information quality of ca. 100000 real-world technical documents. We found that our approach is feasible, accurate, and scalable in performance.


2015 ◽  
Author(s):  
Martin Fenner

Last week I wrote about software.lagotto.io, an instance of the lagotto open source software collecting metrics for the about 1,400 software repositories included in Sciencetoolbox. In this post I want to report the first results analyzing the data.Number of software repositories (out of 1,404) ...


Sign in / Sign up

Export Citation Format

Share Document