A Quantitative Analysis of Whether Unit Testing Obviates Static Type Checking for Error Detection

Evan R. Farrer · California State University ScholarWorks (system-wide DSpace) · 2011

ABSTRACT A QUANTITATIVE ANALYSIS OF WHETHER UNIT TESTING OBVIATES STATIC TYPE CHECKING FOR ERROR DETECTION by ?? Evan R. Farrer 2011 Master of Science in Computer Science California State University, Chico Spring 2011 Unit testing and static type checking are tools for ensuring defect free software. Unit testing is the practice of writing code to test individual units of a piece of software. By validating each unit of software, defects can be discovered during development. Static type checking is performed by a type checker that automatically validates the correct typing of expressions and statements at compile time. By validating correct typing, many defects can be discovered during development. Static typing also limits the expressiveness of a programming language in that it will reject some programs which are ill-typed, but which are free of defects. Many proponents of unit testing claim that static type checking is an insufficient mechanism for ensuring defect free software; and therefore, unit testing is still required if static type checking is utilized. They also assert that once unit testing is utilized, static type checking is no longer needed for defect detection, and so it should be eliminated. The goal of this research is to explore whether unit testing does in fact obviate static type checking in real world examples of unit tested software.

Read the paper · More papers on PaperTik