Please use this identifier to cite or link to this item: http://dspace.dtu.ac.in:8080/jspui/handle/repository/16678
Title: DESIGN AND DEVELOPMENT OF MODELS FOR ANALYZING SOFTWARE EVOLUTION
Authors: UMMAT, MEGHA
Keywords: SOFTWARE EVOLUTION
PREDICTION MODEL
CHANGE-PRONE PARTS
OBJECT-ORIENTED METRICS
Issue Date: Jul-2019
Series/Report no.: TD-4470;
Abstract: Software systems are important business assets of any organization. However, in order to maintain the value of these assets, software evolution i.e. the process of planning and implementing change to the existing software systems is a crucial activity. One of the prime concerns while implementing changes is to maintain the quality of the software product as there are fewer resources and rigid deadlines, which may result in poor processes and software quality degradation. In such a scenario, the responsibility of a software practitioner is to envisage methods which provide good quality software with ideal resource usage at optimum costs. One such cost effective approach is to develop models for predicting change-prone parts of a software as these parts are considered as sources of changes and defects in a software. Detectionofchange-pronepartsintheinitialstagesofsoftwaredevelopmentlifecyclewill help software developers in outlining competent resource usage during maintenance activities,planningremedialactionsforsoftwarerestructuringandimplementingcorrective actions for early removal of software defects. Prediction of change-prone parts in an object-oriented software involves the use of various object-oriented metrics as predictor variables, which are representative of software characteristics such as size, coupling, cohesion and inheritance. Furthermore,weneedaclassificationtechniquefordevelopinganefficientpredictionmodel which is able to distinguish between change-prone and not change-prone parts of a software. The various elements involved in the creation of software change prediction models need to be assessed and improved to yield efficient change-prediction models. This thesis verifiesand validates the relationship between several object-oriented metrics and change-proneness attribute of an object-oriented class to develop effective prediction models. We also analyze the trends of object-oriented metrics in an evolvingsoftwareinordertoascertainhowthestructuralcharacteristicsofasoftware changewithitsevolution. Thethesisalsoevaluatestheuseofaspecificsetofprocess metrics, which are named as evolution-based metrics. These metrics encapsulate the evolution history of a class in an object-oriented software. Furthermore, the effectiveness of a combined set of object-oriented metrics and evolution-based metrics have also been investigated for determining the change-prone nature of a class in an object-oriented software. Apartfrompredictorvariables,thethesisalsoevaluatesseveralcategoriesofdata analysis techniques, which can be used for developing software change prediction models. Theinvestigatedcategoriesincludestatisticaltechniquesandmachinelearning techniques, which have been used by several researchers in this domain. However, a new class of techniques i.e. search-based algorithms and their hybridized versionshaverecentlygainedpopularity. Wefirstreviewthecapabilities,advantages and the experimental set-ups required to use this set of algorithms. Furthermore, weexploretheircapabilityfordevelopingmodelswhichdeterminethechange-prone nature of a class. The thesis also proposes a new set of classification algorithms based onensemble methodology, usingasearch-basedalgorithmasabase-classifier. The proposed algorithms produce outputs by aggregating a number of constituent classifiers, which are fitness variants of the same base-classifier namely Constricted ParticleSwarmOptimization. Wealsoproposeauniqueclassifier, whichoutputsthe bestclassifieramongstanensembleofclassifiersforeachdatapoint(object-oriented class). The thesis also evaluates the scenario when the historical data used for developing a change prediction model is imbalanced in nature. A dataset is said to be of imbalanced nature, when the ratio of category of classes (change-prone and not change-prone)isdisproportionate. Ingeneral,asthenumberofchange-proneclasses is few as compared to the number of not change-prone classes, effective learning is problematic. This is because the learning algorithm is provided with very few instances of change-prone classes, therefore, it is unable to learn their characteristics properly resulting in lower accuracy while determining change-prone classes. The thesis investigates the use of sampling methods and MetaCost learners for developing efficient change prediction models from imbalanced training data. Apart from determining the change-prone nature of classes, it is also important to determine the impact of change in a software. We determine the change-impact of bug correction in a software i.e. the number of classes that would be affected when a specific software bug is corrected. Additionally, the thesis also proposes a categorization of software bugs into different levels on the basis of maintenance effort and change impact values in order to optimize maintenance resources.
URI: http://dspace.dtu.ac.in:8080/jspui/handle/repository/16678
Appears in Collections:Ph.D. Computer Engineering

Files in This Item:
File Description SizeFormat 
2k13phdco05 Megh Thesis may2019.pdf12.77 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.