Using concept mapping for maintainability assessments

Many important phenomena within software engineering are difficult to define and measure. One example is software maintainability, which has been the subject of considerable research and is believed to be a critical determinant of total software costs. We propose using concept mapping, a well-grounded method used in social research, to operationalize the concept of software maintainability according to a given goal and perspective in a concrete setting. We apply this method to describe four systems that were developed as part of an industrial multiple-case study. The outcome is a conceptual map that displays an arrangement of maintainability constructs, their interrelations, and corresponding measures. Our experience is that concept mapping (1) provides a structured way of combining static code analysis and expert judgment; (2) helps in the tailoring of the choice of measures to a particular system context; and (3) supports the mapping between software measures and aspects of software maintainability. As such, it constitutes a useful addition to existing frameworks for evaluating quality, such as ISO/IEC 9126 and GQM, and tools for static measurement of software code. Overall, concept mapping provides a systematic, structured, and repeatable method for developing constructs and measures, not only of maintainability, but also of software engineering phenomena in general.

[1]  Magne Jørgensen,et al.  A review of studies on expert estimation of software development effort , 2004, J. Syst. Softw..

[2]  Bente Anda,et al.  Assessing Software System Maintainability using Structural Measures and Expert Assessments , 2007, 2007 IEEE International Conference on Software Maintenance.

[3]  Moonja P. Kim,et al.  The Method of Sorting as a Data-Gathering Procedure in Multivariate Research. , 1975, Multivariate behavioral research.

[4]  Mary Lacity,et al.  Understanding Qualitative Data: A Framework of Text Analysis Methods , 1994, J. Manag. Inf. Syst..

[5]  D. Morgan Focus groups for qualitative research. , 1988, Hospital guest relations report.

[6]  W. Trochim Outcome pattern matching and program theory , 1989 .

[7]  Dennis G. Kafura,et al.  The Use of Software Complexity Metrics in Software Maintenance , 1987, IEEE Transactions on Software Engineering.

[8]  Michael S Lewis-Beck,et al.  Sage university papers. Series Quantitative applications in the social sciences , 2008 .

[9]  Michael P. O'Brien,et al.  Software Comprehension - A Review & Research Direction , 2003 .

[10]  Leon Moonen,et al.  Java quality assurance by detecting code smells , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[11]  Barbara A. Kitchenham,et al.  The SQUID approach to defining a quality model , 1997, Software Quality Journal.

[12]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[13]  Janice Singer,et al.  Towards an ontology of software maintenance , 1999, J. Softw. Maintenance Res. Pract..

[14]  William M. K. Trochim,et al.  Conceptualization for planning and evaluation. , 1986, Evaluation and program planning.

[15]  Lionel C. Briand,et al.  Integrating scenario-based and measurement-based software product assessment , 2001, J. Syst. Softw..

[16]  Arie van Deursen,et al.  Source-based software risk assessment , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[17]  Abraham Bernstein,et al.  Mining Software Repositories with iSPAROL and a Software Evolution Ontology , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[18]  Elliot Soloway,et al.  Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers , 1986 .

[19]  Joost Visser,et al.  A Practical Model for Measuring Maintainability , 2007, 6th International Conference on the Quality of Information and Communications Technology (QUATIC 2007).

[20]  Mika Mäntylä,et al.  A taxonomy and an initial empirical study of bad smells in code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[21]  Jan Bosch,et al.  An experiment on creating scenario profiles for software change , 2000, Ann. Softw. Eng..

[22]  P. Sopp Cluster analysis. , 1996, Veterinary immunology and immunopathology.

[23]  Christian Wagner,et al.  A Study of Reasoning Processes in Software Maintenance Management , 2002, Inf. Technol. Manag..

[24]  Audris Mockus,et al.  Variability and Reproducibility in Software Engineering: A Study of Four Companies that Developed the Same System , 2009, IEEE Transactions on Software Engineering.

[25]  David P. Tegarden,et al.  A software complexity model of object-oriented systems , 1995, Decis. Support Syst..

[26]  Tony Rosqvist,et al.  Software Quality Evaluation Based on Expert Judgement , 2003, Software Quality Journal.

[27]  Hausi A. Müller,et al.  Proceedings of the International Conference on Software Maintenance , 1994 .

[28]  Dag I. K. Sjøberg,et al.  Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software , 2004, IEEE Transactions on Software Engineering.

[29]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[30]  C. Achilles,et al.  Evaluation: A Systematic Approach , 1980 .

[31]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

[32]  Jean Mayrand,et al.  System acquisition based on software product assessment , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

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

[34]  A. V. D. Ven,et al.  The Effectiveness of Nominal, Delphi, and Interacting Group Decision Making Processes , 1974 .

[35]  William M. K. Trochim,et al.  An introduction to concept mapping for planning and evaluation. , 1989 .

[36]  Radu Marinescu,et al.  Measurement and Quality in Object-Oriented Design , 2005, ICSM.

[37]  Mario Piattini,et al.  Assessing the capability of internal metrics as early indicators of maintenance effort through experimentation , 2005, J. Softw. Maintenance Res. Pract..

[38]  Ming Li,et al.  A Ranking of Software Engineering Measures Based on Expert Opinion , 2003, IEEE Trans. Software Eng..

[39]  M. Pizka,et al.  How to effectively define and measure maintainability , 2007 .

[40]  Bente Anda,et al.  Assessing Software Product Maintainability Based on Class-Level Structural Measures , 2006, PROFES.