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 ru...
Compilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized ...
A review of work on the occurrence and detection of errors in computer programs is presented. This i...
This paper presents the design and implementation of a compiler that translates programs written in ...
Type checking is considered an important mechanism for detecting programming errors, especially inte...
This paper will discuss a study of parameter errors that occurred in a software product developed us...
We replicated a controlled experiment first run in the early 1980's to evaluate the effectivene...
Argument selection defects, in which the programmer chooses the wrong argument to pass to a paramete...
C/C++ are the languages of choice for development of many widely used system softwares. However, the...
The correctness of code-level implementations of software requires, among other things, the proper u...
In this paper we propose a scheme that combines type inference and run-time checking to make existin...
In the present work I study ways of checking common beginner mistakes in C language programs using s...
This dissertation is a case study of type safety with respect to the C programming language. In shor...
Optimizing compilers are large and complex systems, potentially consisting of millions of lines of c...
Trivial Compiler Equivalence (TCE) has been recently proposed as an effective technique to detect eq...
Practical software verification is dominated by two major classes of techniques. The first is model ...
Compilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized ...
A review of work on the occurrence and detection of errors in computer programs is presented. This i...
This paper presents the design and implementation of a compiler that translates programs written in ...
Type checking is considered an important mechanism for detecting programming errors, especially inte...
This paper will discuss a study of parameter errors that occurred in a software product developed us...
We replicated a controlled experiment first run in the early 1980's to evaluate the effectivene...
Argument selection defects, in which the programmer chooses the wrong argument to pass to a paramete...
C/C++ are the languages of choice for development of many widely used system softwares. However, the...
The correctness of code-level implementations of software requires, among other things, the proper u...
In this paper we propose a scheme that combines type inference and run-time checking to make existin...
In the present work I study ways of checking common beginner mistakes in C language programs using s...
This dissertation is a case study of type safety with respect to the C programming language. In shor...
Optimizing compilers are large and complex systems, potentially consisting of millions of lines of c...
Trivial Compiler Equivalence (TCE) has been recently proposed as an effective technique to detect eq...
Practical software verification is dominated by two major classes of techniques. The first is model ...
Compilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized ...
A review of work on the occurrence and detection of errors in computer programs is presented. This i...
This paper presents the design and implementation of a compiler that translates programs written in ...