From: PEM moderator To: Multiple recipients of list PEM <> Date: Wed, 16 Oct 2002 08:02:11 +0200 Subject: PEM | 17.10.02 | C.001 Precedence: bulk X-url: http://www.cwi.nl/~pem Mime-Version: 1.0 Content-Type: text/plain Hi, This announcement can be found at jCosmo: Java Quality Assurance by Detecting Code Smells Date: 17.10.02 Time: 10:00 Venue: C.001 Speaker: Leon Moonen Title: jCosmo: Java Quality Assurance by Detecting Code Smells [Joint work with Eva van Emden] Software inspection is a known technique for improving software quality. It involves carefully examining the code, the design, and the documentation of software and checking these for aspects that are known to be potentially problematic based on past experience. Code smells are a metaphor to describe patterns that are generally associated with bad design and bad programming practices. Originally, code smells are used to find the places in software that could benefit from refactoring. In this talk, we investigate how the quality of code can be automatically assessed by checking for the presence of code smells and how this approach can contribute to automatic code inspection. In [1], we present an approach for the automatic detection and visualization of code smells and discuss how this approach can be used in the design of a software inspection tool. We illustrate the feasibility of our approach with the development of jCosmo, a prototype code smell browser that detects and visualizes code smells in Java source code [2]. The source model extraction component of jCosmo was implemented using the ASF+SDF Meta-Environment, the extracted source models are visualized using the Rigi program visualization tool. Several visualizations have been developed that show these smells at various levels of abstraction. The smell display is intended to help assess the system's quality and support refactoring by providing a quick and intuitive overview of which parts of the system need refactoring. The code smells that are currently implemented are concerned with 'switch' statements, 'instanceof' statements, and type casts. New smells can be added by plugging additional modules into the extractor and by extending the visualization scripts. References: [1] Eva van Emden and Leon Moonen. Java quality assurance by detecting code smells. In Proceedings of the 9th working Conference on Reverse Engineering. IEEE Computer Society Press, October 2002. http://www.cwi.nl/~leon/papers/wcre2002/ [2] jCosmo homepage: http://www.cwi.nl/projects/renovate/javaQA/ Have a nice day. _________________________________________________________________ The programming environment meetings are a forum for the presentation and discussion of new ideas, ongoing and finished work. A typical meeting addresses a subject in the area of programming environments, program generation, algebraic specification, term rewriting, parsing, etc. A presentation ideally takes between 45 and 90 minutes. Meetings taking longer than 45 minutes are interrupted by a coffeebreak. Most Thursdays, a meeting is held which starts at 10:00 am. in one of the rooms at CWI/WINS. Exceptionally, dates or times may change. The program of the meetings is available on WWW: http://www.cwi.nl/~pem _________________________________________________________________