Technological advances of the last three decades have caused an enormous increase in the amount of published and unpublished information generated by our society. This inflation has created the need for improved information management systems. Existing systems are inadequate primarily because they are discipline-oriented and lack the flexibility that is...
Program comprehension is important in program testing, debugging, and maintenance. Programming style impacts program understanding. However, there has not been any systematic identification of individual style factors and their contribution to program comprehension. In this thesis we present a programming style taxonomy composed of three classes: typographic (program layout and...
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...
Detecting instances of software theft and plagiarism is a difficult problem. The statistical analysis of peculiar words or phrases known to be used by an author is a common method of settling authorship disputes in English literature. This paper presents a similar method for identifying authorship of programs. The method...
Programming style guidelines and automated coding style analyzers have been developed without a solid experimental or theoretical basis. In this paper we make a distinction between typographic (layout) style characteristics and the underlying structural style content and then show through controlled studies that this distinction aids in assessing the influence...
We have identified a "book paradigm" for source code formatting which improves program comprehension and assists in maintenance work. The book paradigm can be implemented by reverse engineering code listings into a "book" with preface, tab1es of contents, chapters, sections, indices and pagination. This reverse engineering effectively reorganizes source code...
This paper describes an analysis tool that extracts complexity metrics from Program Design Language (PDL) as contained in design specification documents. The tool analyzes pseudocode and computes token-count metrics of PDL complexity on a module by module basis. We used the tool to measure consistency within and across modules and...
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...
Species declines and extinctions have been recorded across taxa as evidence of an ongoing global biodiversity crisis. Amphibians are at the forefront of these declines with nearly one third of amphibian species estimated to be at risk of extinction. While many factors contribute to population declines and extinctions, the role...
In the Pacific Northwest snow is an important
natural resource. The inability to accurately measure or
monitor this resource throughout remote areas is a hindrance
to water management. ERTS-1 imagery provides the capability
for extracting a significant amount of scientific information
and data regarding snow conditions in accessible and inaccessible...