Example: biology

A Quantitative Approach for Evaluating Software ...

A Quantitative Approach for EvaluatingSoftware maintenance ServicesHumberto Marques-NetoDept. of Computer SciencePontifical Catholic Universityof Minas Gerais (PUC Minas)Belo Horizonte J. AparecidoDept. of Computer SciencePontifical Catholic Universityof Minas Gerais (PUC Minas)Belo Horizonte Tulio ValenteDept. of Computer ScienceUniversidade Federal deMinas Gerais (UFMG)Belo Horizonte ever-increasing representativeness of Software mainte-nance in the daily effort of Software team requires initiativesfor enhancing the activities accomplished to provide a goodservice for users who request a Software improvement. Thisarticle presents a Quantitative Approach for Evaluating soft-ware maintenance services based on cluster analysis tech-niques.

A Quantitative Approach for Evaluating Software Maintenance Services Humberto Marques-Neto Dept. of Computer Science Pontifical Catholic University

Tags:

  Approach, Maintenance, Software, Quantitative, Evaluating, Quantitative approach for evaluating software, Quantitative approach for evaluating software maintenance

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of A Quantitative Approach for Evaluating Software ...

1 A Quantitative Approach for EvaluatingSoftware maintenance ServicesHumberto Marques-NetoDept. of Computer SciencePontifical Catholic Universityof Minas Gerais (PUC Minas)Belo Horizonte J. AparecidoDept. of Computer SciencePontifical Catholic Universityof Minas Gerais (PUC Minas)Belo Horizonte Tulio ValenteDept. of Computer ScienceUniversidade Federal deMinas Gerais (UFMG)Belo Horizonte ever-increasing representativeness of Software mainte-nance in the daily effort of Software team requires initiativesfor enhancing the activities accomplished to provide a goodservice for users who request a Software improvement. Thisarticle presents a Quantitative Approach for Evaluating soft-ware maintenance services based on cluster analysis tech-niques.

2 The proposed Approach provides a compact charac-terization of the services delivered by a maintenance orga-nization, including characteristics such as service, waiting,and queue time. The ultimate goal is to help organizationsto better understand, manage, and improve their currentsoftware maintenance process. We also report in this pa-per the usage of the proposed Approach in a medium-sizedorganization throughout 2010. This case study shows that72 Software maintenance requests can be grouped in sevendistinct clusters containing requests with similar character-istics. The in-depth analysis of the clusters found with ourapproach can foster the understanding of the nature of therequests and, consequently, it may improve the process fol-lowed by the Software maintenance and Subject [ Software Engineering]: Metrics complexity mea-sures, performance measures.

3 [Information SystemsApplications]: MiscellaneousGeneral TermsMeasurementKeywordsSoftware maintenance , Quantitative Software Evaluation, maintenance Management and Measurement, MaintenancePlanning, maintenance ProcessPermission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a 13 March 18-22, 2013, Coimbra, 2013 ACM 978-1-4503-1656-9/13/03 ..$ INTRODUCTIONS oftware maintenance is an important, costly, and com-plex phase in the Software lifecycle [10].

4 Some works [13, 17]point out that Software maintenance activities can represent40-80% of all effort spent during this lifecycle. Thus, plan-ning and managing Software maintenance is a challengingtask for most Software organizations because, while the ini-tial phases of the Software lifecycle target the developmentof new products, Software maintenance is better describedin terms of a service provided to the users of existing soft-ware [2, 11].According to this view, the users are customers that re-quest changes to Software systems, including both correc-tions and enhancements. Such incoming requests are pro-cessed by the supplier organization ( the maintainer), typ-ically using an adaptation of a Software development ultimate goal is to deliver a new release of the targetsystem that implements the changes requested by maintenance is viewed as a service, we can lever-age from the vast theory proposed to study queue systemsin order to model and evaluate Software maintenance pro-cesses.

5 Particularly, in this article we present a quantitativeapproach that adapts to Software maintenance a method-ology originally proposed to characterize the workload ofe-commerce services [9]. Our adaptation relies on conceptssuch as waiting time and service time ( the queue time)to evaluate the quality of the services provided by softwaremaintenance precisely, our Approach requires the representationof each maintenance request as a state transition graph,called maintenance Model Graph (MMG). This graph mod-els the workflow followed by the maintainer to process theincoming change requests, including information about thestarting and finishing dates of each maintenance activity(such as planning, design, implementation, testing etc).

6 Fi-nally, the proposed Approach uses a clustering algorithm togenerate a representative model for the requests processedby the maintainer in a given time frame. Therefore, insteadof having to analyze a full array of requests, Software main-tenance managers can rely on a compact representation in-cluding only requests that are very similar in terms of somecharacteristics, such as their waiting and service order to illustrate the usage of the proposed Approach ,we present the results of a case study which shows its appli-cation in a real dataset of Software maintenance requests of amedium-sized organization. We analyzed seven MMGs clus-tered from a set of 72 Software maintenance requests han-dled by the Information Technology Division of an Brazilianuniversity in 2010.

7 We show the similar characteristics ofrequests which were grouped together, the average hoursfor the waiting time, service time, and queue time of eachcluster and we also present the difference among the foundclusters in order to help the Software maintenance team tounderstand the nature of the requests posted by their remainder of this paper is organized as follows. Wepresent the Quantitative Approach for Evaluating softwaremaintenance services in Section 2. A case study of its usageis discussed in Section 3. Related work is pointed out inSection 4 and the final remarks are offered in Section THE PROPOSED APPROACHThe proposed Approach for Evaluating Software mainte-nance services has the following major steps: MMG Defini-tion (Subsection ), MMG Instantiation (Subsection ),and MMG Clusterization (Subsection ).

8 Defining the maintenance Model GraphsTo apply the proposed Approach , the first task is to definethe maintenance Model Graph (MMG). The MMG is a di-rected graph representing the workflow followed to processthe requests of Software maintenance . More specifically, thenodes in a MMG represent the possible states of a requestand the edges represent the transitions between such , there are three types of states: (a) states associatedto the Software engineering activities used to process a re-quest ( request under analysis/planning, request underimplementation, request under validation etc); (b) waitingstates ( request waiting for analysis/planning, requestwaiting for implementation etc); and (c) final states ( re-quest successfully deployed or request canceled).

9 Figure 1 presents a typical MMG for a maintenance or-ganization where the following engineering activities are se-quentially performed to process a request: planning, imple-mentation, validation, and deployment. More specifically,the MMG presented in this figure expresses that when aclient requests a maintenance , this request remains in a wait-ing state (State 1). After the planning and analysis activitieshave been performed (State 2), the request can be suspended(State 3), canceled (State 4), or it can move to the imple-mentation phase (State 5). After implementation and incase of failures, the request can be suspended (State 6) orcanceled (State 4). Otherwise, it moves to validation (State7).

10 After validation, the request can return to the planningstate (State 2) or move to deployment (States 9 and 10).Finally, the whole process finishes and the maintenance isconsidered deployed (State 11). Instantiating the maintenance ModelGraphsIn the second step of our Approach , a single MMG iscreated for each request considered in the time frame ofthe evaluation. The states of such MMG instances shouldbe decorated with the following information (normally ex-tracted from an issue tracking system): Starting and ending timestamps, information aboutthe date and time the request has reached and exitedeach 1: MMG Example Number of times the state has been visited when pro-cessing the request.


Related search queries