Investigation of the effects of reuse on software quality inan industrial setting

Deniz, Berkhan
Software reuse is a powerful tool in order to reduce development and maintenance time and cost. Any software life cycle product can be reused, not only fragments of source code. A high degree of reuse correlates with a low defect density. In the literature, many theoretical and empirical researches have examined the relationship of software reuse and quality. In this thesis, the effects of reuse on software quality are investigated in an industrial setting. Throughout this study, we worked with Turkey’s leading defense industry company: Aselsan’s software engineering department. We aimed to explore their real-life software projects and interpret reuse and quality relations for their projects. With this intention, we defined four different hypotheses to determine reuse and quality relations; and in order to confirm these hypotheses; we designed three separate case studies. In these case studies, we collected and calculated reuse and quality metrics i.e. Object-oriented quality metrics, reuse rates and performance measures of individual modules, fault-proneness of software components, and productivity rates of different products. Finally, by analyzing these measurements, we developed suggestions to further benefit from reuse in Aselsan through systematic improvements to the reuse infrastructure and process. Similar case studies have been reported in the literature, however, in Turkey, there are not many case studies using real-life project data, particularly in the defense industry.


Testing effectiveness and effort in software product lines
Çöteli, Mert Burkay; Bilgen, Semih; Department of Electrical and Electronics Engineering (2013)
Software product lines (SPL) aim to decrease the total software development cost by the help of reusability and variability. However, the increasing number of variations for the delivery types of products would result in increasing cost of the verification and validation process. Total testing cost of development can also be decreased by reusing test cases and scripts. The main objective of this study is to increase testing effectiveness while minimizing testing effort. Four different cases consisting of As...
An Ontology based approach to requirements reuse problem in software product lines
Karataş, Elif Kamer; Birtürk, Ayşenur; Department of Computer Engineering (2012)
With new paradigms in software engineering such as Software Product Lines, scope of reuse is enlarged from implementation upto design, requirements, test-cases, etc. In this thesis an ontology-based approach is proposed as a solution to systematic requirement reuse problem in software product lines, and the approach is supported with a reuse automation tool. A case study is performed on the projects of an industrial software product line using hereby proposed solution and then based on the evaluated metrics...
An Empirical Study of Software Reuse and Q uality in an Industrial Setting
Deniz, Berkhan; Bilgen, Semih (2014-07-03)
Software reuse is known to be generally effective in reducing development and maintenance time and cost as well as increasing quality. In this paper, the effects of reuse on software quality in an industrial setting are empirically investigated within the framework of three different case studies. Throughout this study, we worked with Turkey's leading defense industry company Aselsan's software engineering department. We collected and calculated reuse and quality metrics as well as performance measures of i...
An Action research of achievements in a software product line implementation
Ergül, Muhittin Erdem; Bilgen, Semih; Department of Electrical and Electronics Engineering (2014)
Software product lines emphasize, with an innovative approach, the idea of predictive re-use. In this way, significant improvements are provided in cost, time-to-market and quality and market dominance is enabled in the target area. The majority of the academic studies in this area are case studies. In this study it is also intended to provide scientific data to the literature about the achievements brought about by software product lines. First, the challenges in the software development activities perform...
A Dynamic software configuration management system
Kandemir, Fatma Gülşah; Doğru, Ali Hikmet; Erbaş, Cengiz; Department of Computer Engineering (2012)
Each software project requires a specialized management to handle software development activities throughout the project life cycle successfully and efficiently. Software governance structures provide easy and efficient ways to handle software development activities. Software configuration management is an important software development activity, and while selecting the right strategy in configuration management, its conformity to the software governance should be considered as well. Software configuration ...
Citation Formats
B. Deniz, “Investigation of the effects of reuse on software quality inan industrial setting,” M.S. - Master of Science, Middle East Technical University, 2013.