MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A controlled experiment to assess the benefits of procedure argument type checking (1998) [10 citations — 0 self]

Download:
Download as a PDF | Download as a PS
by Lutz Prechelt, Walter F. Tichy
IEEE Transactions on Software Engineering
http://wwwipd.ira.uka.de/~prechelt/Biblio/Biblio/tcheck_tse98.ps.gz
Add To MetaCart

Abstract:

Type checking is considered an important mechanism for detecting programming errors, especially interface errors. This report describes an experiment to assess the defect-detection capabilities of static, inter-module type checking. The experiment uses Ansi C and Kernighan&Ritchie (K&R) C. The relevant difference is that the Ansi C compiler checks module interfaces (i.e., the parameter lists of calls to external functions), whereas K&R C does not. The experiment employs a counterbalanced design in which each of the 40 subjects, most of them CS Ph.D. students, writes two non-trivial programs that interface with a complex library (Motif). Each subject writes one program in Ansi C and one in K&R C. The input to each compiler run is saved and manually analyzed for defects. Results indicate that delivered Ansi C programs contain significantly fewer interface defects than delivered K&R C programs. Furthermore, after subjects have gained some familiarity with the interface they are using, Ansi C programmers remove defects faster and are more productive (measured in both delivery time and functionality implemented).

Citations

311 Software Testing Techniques – Beizer - 1990
274 A Discipline For Software Engineering – Humphrey - 1995
105 Software errors and complexity: An empirical investigation – Basili, Pernicone - 1984
74 An experimental comparison of the effectiveness of branch testing and data flow testing – Frankl, Weiss - 1993
29 Typing in object-oriented languages: Achieving expressibility and safety – Bruce - 1996
24 Analyzing the High Frequency Bugs in Novice Programs – Spohrer, Soloway - 1986
23 Certification of Software Components – Wohlin, Runeson - 1994
20 The psychological study of programming – Sheil - 1981
19 Experimental Methodology. Allyn and – Christensen - 1994
17 Tales of Debugging From The Front Lines – Eisenstadt - 1993
17 vs. Ada vs. C++ vs. Awk vs. . . . An experiment in software prototyping productivity – Haskell - 1994
15 Practical Results From Measuring Software Quality – Grady - 1993
13 Cognitive bias in software engineering – Stacy, MacMillian - 1995
11 An experimental evaluation of data type conventions – Gannon - 1977
10 Novice Programmer Errors: Language Constructs and Plan Composition – Ebrahimi - 1994
8 An Analysis of the On-Line Debugging Process – Nanja, Cook - 1987
6 A controlled experiment measuring the impact of procedure argument type checking on programmer productivity – Prechelt, Tichy - 1996
6 Gedanken zur Software-Explosion – Wirth - 1994
2 Positive test bias in software testing by professionals: what's right and what's wrong – Teasley, Leventhal, et al. - 1993