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...
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...
Previous research in program understanding has been hampered by the
lack of an easy tool to measure the degree of that understanding. The cloze
procedure, suggested by Cook, Bregar, and Foote (1984) was an attempt to find
a simple, reliable, and valid measure of program understanding. In this
procedure, tokens...
Windows Exploratory Testing (WET) is examined to determine whether testers working in pairs produce higher quality results, are more productive, or exhibit greater confidence and job satisfaction than testers working alone. WET is a form of application testing where a tester (or testers) explores an unknown application to determine the...
Accreditation Board for Engineering and Technology, Inc. (ABET) is the primary organization responsible for monitoring, evaluating and certifying the quality of engineering, engineering technology, computing and applied sciences education in the United States. In 2000, ABET changed the way computer science (and engineering) programs are accredited from a ‘checklist’ approach...
When changes are made to programs - to enhance their functionality, to improve performance, to migrate from one language or machine to another, or to convert a serial program to parallel form - there is no easy way to verify that the changes maintain program correctness. Checking the final result...
In this thesis we introduce alpha and beta tree acceptors,
generalizations of tree automata. The alpha tree acceptors recognize
a tree by final symbol and the beta tree acceptors by final state. We
show that alpha and beta tree acceptors recognize the same sets of
Gorn trees and demonstrate that...
Quickersort, Straight Insertion Sort, Mehlhorn's AVL-tree Sorting Algorithm and Cook's new sorting algorithm are compared on nearly and nedium sorted lists. The ratio of the minimum number of list elements that must be removed so that the remaining portion of the list is in order to the size of the...
Spreadsheet language programs, which include commercial spreadsheets, are among the most common form of software in use today. Unlike more "traditional" forms of software however, spreadsheet language programs are created and maintained by end-users with little or no programming experience. As a result, a high percentage of these programs contain...