A controlled experiment in assessing and estimating software maintenance tasks
نویسندگان
چکیده
Context: Software maintenance is an important software engineering activity that has been reported to account for the majority of the software total cost. Thus, understanding the factors that influence the cost of software maintenance tasks helps maintainers to make informed decisions about their work. Objective: This paper describes a controlled experiment of student programmers performing maintenance tasks on a C++ program. The objective of the study is to assess the maintenance size, effort, and effort distributions of three different maintenance types and to describe estimation models to predict the programmer's effort spent on maintenance tasks. Method: Twenty three graduate students and a senior majoring in computer science participated in the experiment. Each student was asked to perform maintenance tasks required for one of the three task groups. The impact of different LOC metrics on maintenance effort was also evaluated by fitting the data collected into four estimation models. Results: The results indicate that corrective maintenance is much less productive than enhancive and reductive maintenance and program comprehension activities require as much as 50% of the total effort in corrective maintenance. Moreover, the best software effort model can estimate the time of 79% of the programmers with the error of or less than 30%. Conclusions: Our study suggests that the LOC added, modified, and deleted metrics are good predictors for estimating the cost of software maintenance. Effort estimation models for maintenance work may use the LOC added, modified, deleted metrics as the independent parameters instead of the simple sum of the three. Another implication is that reducing business rules of the software requires a sizable proportion of the software maintenance effort. Finally, the differences in effort distribution among the maintenance types suggest that assigning maintenance tasks properly is important to effectively and efficiently utilize human resources. A Controlled Experiment in Assessing and Estimating Software Maintenance Tasks Vu Nguyen *,a , Barry Boehm a , Phongphan Danphitsanuphan b a Computer Science Department, University of Southern California, Los Angeles, USA b Computer Science Department, King Mongkut's University of Technology North Bangkok, Bangkok, Thailand
منابع مشابه
Two Controlled Experiments Assessing the Usefulness of Design Pattern Information During Program Maintenance
This paper reports on two controlled and repeatable experiments investigating whether software design patterns improve software quality and programmer productivity during software maintenance. Subjects performed maintenance tasks on two programs ranging from 360 to 560 LOC including comments. Both programs contained design patterns. The controlled variable was whether the design patterns were d...
متن کاملTwo Controlled Experiments Assessing the Usefulness of Design Pattern Information in Program Maintenance
A major hypothesis underlying design pattern research is that use of design patterns improves programmer productivity and software quality. This paper reports on a first experimental test of this hypothesis. Subjects performed maintenance tasks on two programs ranging from 360 to 560 LOC including comments. Both programs contained design patterns. The controlled variable was whether the design ...
متن کاملTwo Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance
ÐUsing design patterns is claimed to improve programmer productivity and software quality. Such improvements may manifest both at construction time (in faster and better program design) and at maintenance time (in faster and more accurate program comprehension). This paper focuses on the maintenance context and reports on experimental tests of the following question: Does it help the maintainer...
متن کاملAssessment of the adecuacy of KIM-LHC method in assessing the risk level based on biomechanical loads for manual lifting tasks: A laboratory study
Introduction: Manual Material handling includes activities in which pushing, pulling, lifting, lowering, carrying, and holding the load, the most common of which is lifting. This study aimed to evaluate the reliability of the KIM-LHC method to identify high-risk manual load lifting tasks. Material and Methods: This cross-sectional study was performed on healthy male workers with a history of m...
متن کاملValue-driven Software Maintenance
This paper extends the concept of value-based software engineering as proposed by Boehm to the field of software maintenance. The various approaches to assessing the value of software products and to calculating the return of investment (ROI) on software projects are reviewed. The authors propose a methodology of value-driven software maintenance for assessing the value of software maintenance ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Information & Software Technology
دوره 53 شماره
صفحات -
تاریخ انتشار 2011