Checkstyle for Legacy Applications

Chau (Penny) Chin Yiu.

Checkstyle for Legacy Applications

Master's Thesis, Institut für Informatik, TU München, in cooperation with BMW Group and itestra GmbH, 2008.

Abstract

Development tools like Checkstyle, findbugs, PMD and others help programmers to write software that adheres to certain coding standards. Checkstyle, for example, currently covers 129 Java coding rules, such as checking for empty blocks, thresholds for cyclomatic complexity, illegal exception handling, and comments. As it is broadly accepted that these tools contribute to increased software quality their application has become standard in numerous and diverse software projects. Unfortunately, while a large fraction of the existing mission critical software systems is still written and maintained in languages like PL/I and COBOL these modern quality engineering tools are only available for new languages like Java and eventually C/C++. Among the reasons for this are the difficulty to analyze PL/I or COBOL code, the tight integration of these tools into modern development environments (Eclipse), and the general negligence of older software systems. The goal of this master’s thesis is to conceptualize and to prototypically implement a similar tool for PL/I programs. Similar to the above mentioned tools it should be able to read user provided configurations of coding rules, check PL/I code for adherence with these rules and deliver reports about possible violations within the Eclipse-based development environment for PL/I programs IBM Web-Sphere Developer for zSeries (WDz). To achieve this goal the following steps are necessary:

• Review of existing PL/I coding rules.

• Design of an architecture based on WDz and TUM ConQAT.

• Design of a lightweight PL/I parsing technique.

• Implementation of selected coding rules as a WDz plugin/s.