Title :
Using Cluster Analysis to Improve the Design of Component Interfaces
Author :
Adnan, R. ; Graaf, B. ; Van Deursen, Arie ; Zonneveld, J.
Author_Institution :
Delft Univ. of Technol., Delft
Abstract :
For large software systems, interface structure has an important impact on their maintainability and build performance. For example, for complex systems written in C, recompilation due to a change in one central header file can run into hours. In this paper, we explore how automated cluster analysis can be used to refactor interfaces, in order to reduce the number of dependencies and to improve encapsulation, thus improving build performance and maintainability. We implemented our approach in a tool called "Interface Regroup Wizard", which we applied to several interfaces of a large industrial embedded system. From this, we not only learned that automated cluster analysis works surprisingly well to improve the design of interfaces, but also which of the refactoring steps are best done manually by an architect.
Keywords :
C language; application program interfaces; pattern clustering; software maintenance; C language; cluster analysis; component interfaces; industrial embedded system; interface regroup wizard; software maintainability; software systems; Computer languages; Embedded system; Encapsulation; Manufacturing; Performance analysis; Production; Productivity; Software engineering; Software systems; Software tools;
Conference_Titel :
Automated Software Engineering, 2008. ASE 2008. 23rd IEEE/ACM International Conference on
Conference_Location :
L´Aquila
Print_ISBN :
978-1-4244-2187-9
Electronic_ISBN :
1938-4300
DOI :
10.1109/ASE.2008.54