The project performs empirical studies to better understand how one can improve the maintainability of evolving object-oriented software. Research questions addressed by this project include: What content and level of detail of the Unified Modeling Language (UML) are required for efficient software maintenance, and how should the UML artifacts be developed and maintained? What are the key product factors (e.g., design properties) and process factors (e.g., design activities) that affect (negative/positive trends in) maintainability? How can we build, evaluate and apply prediction models to help focus quality improvement efforts (e.g., better UML documentation, refactoring, testing) on those parts of the software system with the highest potential of return on investment?

Much effort is spent within the software engineering community on proposing technologies (processes, methods, techniques, principles) that are believed to improve the efficacy of developing and maintaining object-oriented software. The relative strengths and weaknesses of the proposed technologies need to be evaluated in such a way that the interplay between tasks, technology, developers and their organization can be better understood. Empirical studies in realistic settings are thus required to understand when, how and why the proposed technologies might be beneficial. In turn, the scientific knowledge obtained from the empirical studies is fundamental to improve the proposed technologies and to ensure that they are used in a cost-effective manner in an industrial context.

Specifically, the project focuses on three themes related to the improvement, assessment and prediction of the maintainability of evolving object-oriented software.

  • Improving maintainability with model-driven development (UML): It is expected that many aspects of a software system need to be understood in order to properly change it, including its functionality, architecture, and a myriad of design details. Model-driven development is supported by the Unified Modeling Language (UML), an evolving standard for the development and documentation of object-oriented analysis and design that is now widespread across the software industry. However, documentation entails a cost and must be maintained along with the software system it describes. The project aims to obtain an extensive body of evidence on the costs and benefits of model-driven development with UML in a software maintenance context. The project will provide recommendations for the use of UML during software maintenance, for example, give guidelines on what content and level of detail are required in various contexts
  • Assessing maintainability of evolving object-oriented software: To better understand how to design and maintain object-oriented software, the project will develop an assessment framework incorporating both qualitative and quantitative techniques and use it to (i) assess trends in the maintainability of object-oriented systems and (ii) identify key product factors (e.g., structural properties) and process factors (e.g., specific design activities) that affect (trends in) maintainability in specific project contexts
  • Predicting maintainability of evolving object-oriented software: To improve the maintainability of object-oriented software, data-mining techniques can be used to build prediction models that model the relationships between various indicators of maintainability (e.g., fault proneness) and product and process data (e.g., structural properties of the software combined with historical change and fault data). The prediction models can be used to focus design quality improvement efforts such as refactoring, design inspections and testing on those parts of the software system with the highest potential of return on investment.  The project will evaluate the practical costs and benefits of using maintainability prediction models and give recommendations for how they should be built, evaluated and applied to focus quality improvement efforts during OO software maintenance.

People

Professor

Erik Arisholm

Project Manager
Alumni Employee

Mobile: +47 951 38 708
Office: +47 67 82 83 02
E-mail: erika@simula.no

Hans Christian Benestad

Alumni Employee

Mobile: +47 982 57 805
Office: +47 67 82 83 12

Nina Elisabeth Holt


Mobile: +47 950 87 972
Office: +47 67 82 83 07
Personal tools