JavaWizard

Participants |
|
Summary |
The goal of this research is to uncover information about the kinds of errors made by Java programmers, and use this information to determine ways in which to improve overall Java software quality. Better understanding of Java programming errors could lead to improvements in Java software quality in a number of ways, such as:
Our approach involves the development and use of a software tool named JavaWizard (or JWiz). JWiz is a source code analysis tool which searches for certain types of run-time programming errors (such as the use of "==" rather than the "equals" method to compare two strings). Over 50 kinds of Java programming errors are searched for using this tool. We performed a case study over a period of four weeks, where several student programming projects were analyzed for the occurrence of programming errors of the kind searched for by JavaWiz. The case study was designed to assess whether JavaWiz was useful for detection of Java programming errors, and whether the kinds of errors found appear to suggest useful improvements to the language. Programmers submitted their program after the first clean compile, but before performing any testing. We analyzed these programs using JWiz. After the programmers completed debugging the program (and recording the time spent removing each defect), we gave them the results of the JWiz analysis and asked them which errors they had found during their debugging and how long it took them to remove the errors. We collected data from 14 students over three programming projects which produced approximately 12,800 lines of code. JavaWiz raised 267 warnings on this code. We classified each warning as one of the following:
Out of 267 JWiz warnings, there were 79 functional errors, 110 maintenance errors, and 78 false positives. In the case of functional errors, we were able to collect data on the time spent by programmers to detect the errors that JWiz found automatically. This data shows that JavaWizard could have eliminated a total of five and a half hours, or 7.3 percent of the total time spent debugging in the test phase. |
Software
|
jwiz.tar.gz (February, 1999) is the last release of this software. |
Publications |
Available at the JWiz Publications Area. |
Status |
Began Summer, 1997. Master's Thesis completed May, 1998. JWiz is no longer under active development. |
Keywords |
JavaWizard, JWiz, run-time defects, semantic errors, test, Java
|

