Decomposing complex software systems into conceptually independent subsystems is a significant software engineering activity which received considerable research attention. Most of the research in this domain considers the body of the source code; trying to cluster together files which are conceptually related. This paper discusses techniques for extracting concepts (we call them "abbreviations") from a more informal source of information: file names. The task is difficult because nothing indicates where to split the file names into substrings. In general, finding abbreviations would Much of the research in the file clustering domain deals with the source code; trying to extract design concept from it. However, we studied a legacy software system, and noticed that software engineers were organizing files according to some file naming convention. In this paper we propose to use this more informal source of information to extract subsystems. Our overall project aims at building a conceptual browser for legacy software systems. A key part of this is a design recovery facility where files are clustered ac-. cording to the concepts they refer to. These clusters or concepts may be called subsystems. require domain knowledge to identify the concepts that are referred to in a name and intuition to recognize such concepts in abbreviated forms. We show by experiment that the techniques we propose allow about 90% of the abbreviations to be found automatically. Merlo [8] already proposed to cluster files according to the concepts referred to in their comments and the function names they contain. However an experiment we conducted [l] shows that in our case, file names are a much better clustering criterion than function names or
A technique that extracts concepts from file names is proposed in REF .
Extracting concepts from file names; a new file clustering criterion
Proceedings of the 20th International Conference on Software Engineering
Proceedings of the 20th International Conference on Software Engineering
Computer Science