Maintainability Myth Causes Performance Problems in Parallel Applications

A challenge in software design is to find solutions that balance and optimize the quality attributes of a system. It is not always possible to maximize each attribute and one has to make trade-offs. In this paper we present a case-study of an application where a key component, special designed to be highly maintainable, caused an unexpected and serious performance problem. Interviews with the developers show that the choice of design was based on a general assumption that a fine grained adaptable component design gives the system higher adaptability and thus also higher maintainability. In this study we have implemented a prototype of an alternative design based on rigid but exchangeable components. This alternative component has been evaluated and compared with the original component with respect to performance and maintainability. The evaluation shows that the alternative component has much better performance characteristics as well as higher maintainability. These findings show that the original design decision was based on a general assumption that proved invalid, i.e. the performance problems in the application were caused by a myth.

[1]  Lars Lundberg,et al.  Optimizing dynamic memory management in a multithreaded application executing on a multiprocessor , 1998, Proceedings. 1998 International Conference on Parallel Processing (Cat. No.98EX205).

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

[3]  Soumitra Dutta,et al.  Software Development Productivity of European Space, Military, and Industrial Applications , 1996, IEEE Trans. Software Eng..

[4]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[5]  Jan Bosch,et al.  Architecture level prediction of software maintenance , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[6]  G. Kerr Quality factors. , 1988, Health physics.

[7]  James P. Cain,et al.  A quantitative comparison of perfective and corrective software maintenance , 1997, J. Softw. Maintenance Res. Pract..

[8]  Lars Lundberg Multiprocessor performance evaluation of billing gateway systems for telecommunication applications , 1996 .

[9]  Lars Lundberg,et al.  Multiprocessor Performance Evaluation of a Telecommunication Fraud Detection Application , 1999 .