Evolution Impact on Architecture Stability in Open-Source Projects

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.

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.


2017 ◽  
Vol 7 (1.1) ◽  
pp. 421 ◽  
Author(s):  
Pooja Dehraj ◽  
Arun Sharma ◽  
P S. Grover

Autonomic computing covers few self-abilities like self-configuration, self-healing, self-optimization, self-protection, self-adaptability, self-awareness, self-openness etc. in software systems. These self-abilities will lead towards lowering the overall maintenance cost of the software because of minimum level of human intervention. The term Autonomicity refers to the level of autonomic (self) features implemented in the system. The International software quality standard ISO 9126 is now replaced by new software product quality standard ISO/IEC 25010:2011 which defines the framework/model to specify and evaluate the quality of software as a product. However, this does not take into account the self-* features (autonomic aspects) and trust factor of modern day software systems. The present paper proposes here that autonomic characteristics of any system must be considered while assessing the quality of any software product. This autonomic-oriented quality model may be used to assess the software quality in a number of domains. Therefore, a new enhanced software quality model is proposed which considers autonomicity and trustworthiness as a factor of quality.


Author(s):  
Feidu Akmel ◽  
Ermiyas Birihanu ◽  
Bahir Siraj

Software systems are any software product or applications that support business domains such as Manufacturing,Aviation, Health care, insurance and so on.Software quality is a means of measuring how software is designed and how well the software conforms to that design. Some of the variables that we are looking for software quality are Correctness, Product quality, Scalability, Completeness and Absence of bugs, However the quality standard that was used from one organization is different from other for this reason it is better to apply the software metrics to measure the quality of software. Attributes that we gathered from source code through software metrics can be an input for software defect predictor. Software defect are an error that are introduced by software developer and stakeholders. Finally, in this study we discovered the application of machine learning on software defect that we gathered from the previous research works.


2015 ◽  
Vol 19 (4) ◽  
pp. 791-813 ◽  
Author(s):  
Zilia Iskoujina ◽  
Joanne Roberts

Purpose – This paper aims to add to the understanding of knowledge sharing in online communities through an investigation of the relationship between individual participant’s motivations and management in open source software (OSS) communities. Drawing on a review of literature concerning knowledge sharing in organisations, the factors that motivate participants to share their knowledge in OSS communities, and the management of such communities, it is hypothesised that the quality of management influences the extent to which the motivations of members actually result in knowledge sharing. Design/methodology/approach – To test the hypothesis, quantitative data were collected through an online questionnaire survey of OSS web developers with the aim of gathering respondents’ opinions concerning knowledge sharing, motivations to share knowledge and satisfaction with the management of OSS projects. Factor analysis, descriptive analysis, correlation analysis and regression analysis were used to explore the survey data. Findings – The analysis of the data reveals that the individual participant’s satisfaction with the management of an OSS project is an important factor influencing the extent of their personal contribution to a community. Originality/value – Little attention has been devoted to understanding the impact of management in OSS communities. Focused on OSS developers specialising in web development, the findings of this paper offer an important original contribution to understanding the connections between individual members’ satisfaction with management and their motivations to contribute to an OSS project. The findings reveal that motivations to share knowledge in online communities are influenced by the quality of management. Consequently, the findings suggest that appropriate management can enhance knowledge sharing in OSS projects and online communities, and organisations more generally.


Author(s):  
Zulaima Chiquin ◽  
Kenyer Domínguez ◽  
Luis E. Mendoza ◽  
Edumilis Méndez

This chapter presents a Model to Estimate the Human Factor Quality in Free/Libre Open Source Software (FLOSS) Development, or EHFQ-FLOSS. The model consists of three dimensions: Levels (individual, community, and foundation), Aspects (internal or contextual), and Forms of Evaluation (self-evaluation, co-evaluation, and hetero-evaluation). Furthermore, this model provides 145 metrics applicable to all three levels, as well as an algorithm that guides their proper application to estimate the systemic quality of human resources involved in the development of FLOSS, guide the decision-making process, and take possible corrective actions.


Author(s):  
Utku Köse

Using open software in e-learning application is one of the most popular ways of improving effectiveness of e-learning-based processes without thinking about additional costs and even focusing on modifying the software according to needs. Because of that, it is important to have an idea about what is needed while using an e-learning-oriented open software system and how to deal with its source codes. At this point, it is a good option to add some additional features and functions to make the open source software more intelligent and practical to make both teaching-learning experiences during e-learning processes. In this context, the objective of this chapter is to discuss some possible applications of artificial intelligence to include optimization processes within open source software systems used in e-learning activities. In detail, the chapter focuses more on using swarm intelligence and machine learning techniques for this aim and expresses some theoretical views for improving the effectiveness of such software for a better e-learning experience.


Sign in / Sign up

Export Citation Format

Share Document