X2 is an object-oriented programming language. Object-oriented programming models everything in the world as objects that have some local state that may vary with time. If the state of an object varies with time the object is mutable. If the state is time independent the object is immutable. Each object's...
This paper presents the results of a controlled experiment comparing debugging abilities of novice, intermediate and skilled student programmers. Debugging performance differences were studied using two single-page Pascal programs: a binary search program and a median calculation program. Two types of semantic errors, array bounds and undefined variable, and two...
FORTRAN permits both explicit and implicit options for both data declaration and type conversion features. This study investigated the effects of explicit and implicit data declaration and type conversion features on a program comprehension task performed by FORTRAN programmers in an introductory programming course. The results indicated that both factors...
Many studies have shown that expert programmers are more effective at debugging programs than novice programmers. These studies have suggested that the major reason for this difference is due to the experts' superior comprehension of the program. This paper reports two experiments which investigated expert and novice student programmers program...
System architectures for interconnecting large numbers of processors are being widely studied [AG82,TH75,TR82]. Of particular interest in such architectures is the exploitation of concurrency among processors. This concurrency can be parallelism, in which different parts of a single data case are processed at the same time, or pipelining, in which...
There is disagreement about the role and importance of typographic style (source code formatting and commenting) in program comprehension. Results from experiments and opinions in programming style books are mixed.
This paper presents principles of typographic style consistent and compatible with the results of program comprehension studies. It introduces the...
This study examined the UNIX command abbreviation schemes preferred by expert and novice UNIX programmers. The two parts of the conducted experiment were: subjective rating of UNIX command abbreviations for each of the six abbreviation categories (acronym, combination, contraction, identity, synonym, and truncation); subjects suggested descriptive command names for UNDC...
An execution of a database system is considered correct if its net effect is as if transactions were executed serially, and such an execution is called serializable. In this short paper we show that the serializability test problem can be reduced to a simple pebbling problem. Our characterization is intuitive...
Exploratory Data Analysis (EDA) is a lesser known field which has outgrown the bounds of statistics. It differs from ordinary, or “confirmatory”, data analysis. Originated by John Tukey, EDA aspires toward an open-ended meta-goal: to discover “all interesting” [nontrivial, normal form, valid] hypotheses about a domain that is represented by...
This paper presents the initial results from an empirical study of mechanical design engineers. In this study, six engineers were video-taped solving real mechanical design problems. Preliminary analysis of this protocol data has yielded several important findings, including (a) mechanical designers progress from systematic to opportunistic behavior as the design...