Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Building and using pluggable type-checkers
Dietl W., Dietzel S., Ernst M., Muşlu K., Schiller T.  ICSE 2011 (Proceeding of the 33rd International Conference on Software Engineering, Waikiki, Honolulu, HI, May 21-28, 2011)681-690.2011.Type:Proceedings
Date Reviewed: Jan 7 2013

The Checker Framework tool supports the processing of custom-built annotations for Java at compile time. This paper reports on a case study using the tool to build five checkers. The ease of building, the ease of use, and the effectiveness of each checker are discussed at length. An informal report is provided on classroom use of the Nullness checker.

Figure 1 presents the case study statistics. Four of the five checkers were small in size, but the Nullness checker comprised over 4,000 lines of code. The number of annotations written for each program in the case study was typically over 100. Defects capable of causing runtime failure were found in more than half of the programs. Other kinds of errors, such as incorrect documentation, were found in most programs. The false positive rate was over 50 percent for eight of the 11 programs studied. In the classroom study, all students found at least one null pointer defect. The majority of students, however, only used the two annotations they had been taught (@NonNull and @Nullable).

The authors conclude that the five checkers were easy to build and use. Since time was not used as a measure, particularly the time needed to identify and suppress false positives, these claims could be disputed. However, readers will be impressed by the detection of over 40 defects in well-tested and well-used programs. These checkers found defects for Google Collections that had been missed by the FindBugs static analysis tool. This paper is strongly recommended to the software engineering community.

Reviewer:  Andy Brooks Review #: CR140805 (1304-0319)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Data Types And Structures (D.3.3 ... )
 
 
Object-Oriented Programming (D.1.5 )
 
 
Specifying And Verifying And Reasoning About Programs (F.3.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Data Types And Structures": Date
Advances in database programming languages
Bancilhon F. (ed), Buneman P., ACM Press, New York, NY, 1990. Type: Book (9780201502572)
Aug 1 1991
Pascal and beyond
Fisher S., Reges S., John Wiley & Sons, Inc., New York, NY, 1992. Type: Book (9780471502616)
Sep 1 1992
On the exact complexity of string matching
Galil Z., Giancarlo R. SIAM Journal on Computing 21(3): 407-437, 1992. Type: Article
Mar 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy