Tree systems are used in syntactic pattern recognition for
describing two-dimensional patterns. We extend results on tree
automata with the introduction of the subtree-invariant equivalence
relation R. R relates two trees when the appearance of one implies the
appearance of the other in similar trees. A new state minimizing
algorithm...
Guidelines for using style to improve computer program comprehension
have often been proposed without empirical testing. This thesis reports on the
results of three controlled experiments that investigated ways program style may be
used to aid comprehension of source code listings.
Experiments 1 and 2 were conducted using advanced computer...
Debugging, the process of locating and correcting errors in a computer
program, is a common programming task that is not well understood. Of the
several debugging studies reported in the literature, most compared the performance
differences between expert and novice programmers by measuring
their debug time and the number of...
Controlling the "complexity" or "understandability"
of computer software is important because of its impact on
program testing and maintenance. Of the large number of
complexity metrics that have been developed to measure the
complexity of a computer program, most assess the
"micro-complexity" of each subprogram and few assess the
"macro-complexity"...
The practice of literate programming is not widespread because existing literate programming systems have some undesirable characteristics such as programming language and text processor dependence and lack of flexible tools for viewing and manipulation of the source file. This dissertation describes the literate programming system AOPS (Abstraction Oriented Programming System)...
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...
In this research, we have captured, in pattern form, key elements of programming and design in four programming paradigms (imperative, object-oriented, functional and logical) as well as multiparadigm programming. These pattern sets have formed a foundation upon which we were able to build a deeper understanding of multiparadigm programming and...
A new system called sequential/parallel matrix grammars
for two-dimensional pattern processing is introduced and studied.
Miscellaneous language operations such as union, catenation (row
and column), Kleene's closure (row and column) and substitutions
are investigated. The equivalence of sequential/parallel matrix
languages and finite-turn repetitive checking automata is established.
Hierarchies for both...
A historic struggle in the counselor education field has been determining and developing the emotional suitability of applicants and trainees for counseling work. The literature suggests that emotional suitability for counseling includes such things as: the ability to experience a full range of emotions, the ability to modulate emotions,the ability...