Software Artifact Prioritization based on the Frequency of Use

Whenever there is more work to do than resources to overcome it, engineers usually tend to devise some kind of prioritization that ensures that effort is applied to the most important tasks. This is what Barry Boehm called the "value-based" approach. We propose a value-based methodology that prioritizes software artifacts taking into account the frequency of use. The main idea is to provide to maintainers with a "partial view" of the system containing only the code corresponding with the functionality that is really used by users, and thus to "ignore" the code which is not use. The objective of our proposal is to minimize the maintenance effort needed to maintain large systems, by means of reducing the size and complexity of such software. This process that we called "software reduction" is explained in detail in this paper.

[1]  Barry W. Boehm,et al.  Value-Based Software Engineering: Overview and Agenda , 2006, Value-Based Software Engineering.

[2]  Mario Piattini,et al.  Building measure-based prediction models for UML class diagram maintainability , 2007, Empirical Software Engineering.

[3]  Eleni Stroulia,et al.  Dynamic analysis for reverse engineering and program understanding , 2002, SIAP.

[4]  Giuliano Antoniol,et al.  A distributed architecture for dynamic analyses on user-profile data , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[5]  Thomas Gschwind,et al.  Improving dynamic data analysis with aspect-oriented programming , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[6]  Spiros Mancoridis,et al.  Form: a framework for creating views of program executions , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[7]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[8]  Rachel Harrison,et al.  An Investigation into the Applicability and Validity of Object-Oriented Design Metrics , 1998, Empirical Software Engineering.

[9]  Maintenance cost of a software design: A value-based approach , 2007, ICEIS.

[10]  Lori L. Pollock,et al.  A comparison of online and dynamic impact analysis algorithms , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[11]  Rainer Koschke,et al.  Dynamic object process graphs , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[12]  Jens H. Weber,et al.  Predicting maintainability with object-oriented metrics -an empirical comparison , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[13]  Khaled El Emam,et al.  The Optimal Class Size for Object-Oriented Software , 2002, IEEE Trans. Software Eng..

[14]  Paolo Nesi,et al.  Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems , 2001, IEEE Trans. Software Eng..

[15]  Subhas C. Misra Modeling Design/Coding Factors That Drive Maintainability of Software Systems , 2005, Software Quality Journal.

[16]  Daniel Cabrero Moreno,et al.  Combining Different Change Prediction Techniques , 2008, ICEIS.

[17]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[18]  Mary Lou Soffa,et al.  Low overhead program monitoring and profiling , 2005, PASTE '05.

[19]  Lionel C. Briand,et al.  A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs , 2001, IEEE Trans. Software Eng..

[20]  Martin Gogolla,et al.  Capturing dynamic program behaviour with UML collaboration diagrams , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[21]  Mohammad Alshayeb,et al.  An Empirical Validation of Object-Oriented Metrics in Two Different Iterative Software Processes , 2003, IEEE Trans. Software Eng..

[22]  Sofia Ritzén,et al.  Engineering Management for Integration , 2003 .

[23]  Niklas Pettersson,et al.  Measuring precision for static and dynamic design pattern recognition as a function of coverage , 2005 .

[24]  Stéphane Ducasse,et al.  High-level polymetric views of condensed run-time information , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[25]  T. Capers Jones,et al.  Estimating software costs , 1998 .

[26]  Vijay K. Vaishnavi,et al.  Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics , 2003, IEEE Trans. Software Eng..

[27]  Steve McConnell Software Estimation: Demystifying the Black Art , 2006 .

[28]  Jeremy Singer,et al.  Dynamic analysis of program concepts in Java , 2006, PPPJ '06.

[29]  Pankaj Jalote,et al.  Program partitioning: a framework for combining static and dynamic analysis , 2006, WODA '06.

[30]  Sandeep Purao,et al.  Product metrics for object-oriented systems , 2003, CSUR.