2011 Volume 28 Issue 4 Pages 4_241-4_261
In this paper, we discuss the design and evolution of the software architecture for source code inspection tools. Since there are a variety of demands on software quality improvement through source code inspection techniques, a tool for code inspection is required to be flexible enough to keep up with various needs of various users.
We have developed JCI (Java Code Inspector): a source code inspection tool for Java, through a three-year-long joint industry-university project which we call OJL (On the Job Learning). In this project, we have designed the software architecture of JCI using the GoF design patterns to realize analyzability, changeability, testability and efficiency. In this paper, we discuss the validity of our software architecture design as a foundation on which we can develop and evolve source code inspection tools, through several types of changes which have been carried out to deal with changing requirements of users.