Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Digital Library

Javascript is currently disabled for your browser. For an optimal search experience, please enable javascript.

Advanced Search

Basic Search

Content Type

Topics

Publication Date

Technical Report

A Controlled Experiment Measuring the Effect of Procedure Argument Type Checking on Programmer Productivity

  • June 1996
  • By Lutz Prechelt, Walter Tichy
  • This 1996 report describes an experiment to assess the error-detection capabilities of static intermodule type checking.
  • Publisher: Software Engineering Institute
    CMU/SEI Report Number: CMU/SEI-96-TR-014
  • Abstract

    Type checking is considered an important mechanism for detecting programming errors, especially interface errors. This report describes an experiment to assess the error-detection capabilities of static intermodule 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 subject 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 errors.

    Results indicate that delivered ANSI C programs contain significantly fewer interface errors than delivered K&R C programs. Furthermore, after subjects have gained some familiarity with the interface they are using, ANSI C programmers remove errors faster and are more productive (measured in both time to completion and functionality implemented).

    This report describes the design, setup, and results of the experiment including complete source code and error lists.

  • Download

Cite This Report

SEI

Prechelt, Lutz; & Tichy, Walter. A Controlled Experiment Measuring the Effect of Procedure Argument Type Checking on Programmer Productivity. CMU/SEI-96-TR-014. Software Engineering Institute, Carnegie Mellon University. 1996. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=12581

IEEE

Prechelt. Lutz, and Tichy. Walter, "A Controlled Experiment Measuring the Effect of Procedure Argument Type Checking on Programmer Productivity," Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, Technical Report CMU/SEI-96-TR-014, 1996. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=12581

APA

Prechelt, Lutz., & Tichy, Walter. (1996). A Controlled Experiment Measuring the Effect of Procedure Argument Type Checking on Programmer Productivity (CMU/SEI-96-TR-014). Retrieved April 24, 2017, from the Software Engineering Institute, Carnegie Mellon University website: http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=12581

CHI

Lutz Prechelt, & Walter Tichy. A Controlled Experiment Measuring the Effect of Procedure Argument Type Checking on Programmer Productivity (CMU/SEI-96-TR-014). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1996. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=12581

MLA

Prechelt, Lutz., & Tichy, Walter. 1996. A Controlled Experiment Measuring the Effect of Procedure Argument Type Checking on Programmer Productivity (Technical Report CMU/SEI-96-TR-014). Pittsburgh: Software Engineering Institute, Carnegie Mellon University. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=12581

BibTex

@techreport{PrecheltAControlled1996,
title={A Controlled Experiment Measuring the Effect of Procedure Argument Type Checking on Programmer Productivity},
author={Lutz Prechelt and Walter Tichy},
year={1996},
number={CMU/SEI-96-TR-014},
institution={Software Engineering Institute, Carnegie Mellon University},
address={Pittsburgh, PA},
url={http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=12581} }