Cross's scientific contributions

Publications (12)

Article
Recently, the first two in a series of planned comprehension experiments were performed to measure the effect of the control structure diagram (CSD) on program comprehensibility. Upper- and lower-division computer science and software engineering students were asked to respond to questions regarding the structure and execution of one source code mo...
Article
The GRASP/Ada project (Graphical Representations of Algorithms, Structures, and Processes for Ada) has successfully created and prototyped an algorithmic level graphical representation for Ada software, the Control Structure Diagram (CSD), and a new visualization for a fine-grained complexity metric called the Complexity Profile Graph (CPG). By syn...
Article
The GRASP/Ada project (Graphical Representations of Algorithms, Structures, and Processes for Ada) has successfully created and prototyped a new algorithmic level graphical representation for Ada software, the Control Structure Diagram (CSD). The primary impetus for creation of the CSD was to improve the comprehension efficiency of Ada software and...
Article
The GRASP/Ada project (Graphical Representations of Algorithms, Structures, and Processes for Ada) successfully created and prototyped a new algorithmic level graphical representation for Ada software, the Control Structure Diagram (CSD). The primary impetus for creation of the CSD was to improve the comprehension efficiency of Ada software and, as...
Article
The Graphical Representations of Algorithms, Structures, and Processes for Ada (GRASP/Ada) has successfully created and prototyped a new algorithm level graphical representation for Ada software, the Control Structure Diagram (CSD). The primary impetus for creation of the CSD was to improve the comprehension efficiency of Ada software and thus impr...
Article
Rule-based software test data generation is proposed as an alternative to either path/predicate analysis or random data generation. A prototype rule-based test data generator for Ada programs is constructed and compared to a random test data generator. Four Ada procedures are used in the comparison. Approximately 2000 rule-based test cases and 1000...
Article
The main objective is the investigation, formulation, and generation of graphical representations of algorithms, structures, and processes for Ada (GRASP/Ada). The presented task, in which various graphical representations that can be extracted or generated from source code are described and categorized, is focused on reverse engineering. The follo...
Article
The study, formulation, and generation of structures for Ada (GRASP/Ada) are discussed in this second phase report of a three phase effort. Various graphical representations that can be extracted or generated from source code are described and categorized with focus on reverse engineering. The overall goal is to provide the foundation for a CASE (c...
Article
After a brief overview, eight tools to help the maintenance programmer analyze and understand code are described in separate presentations. All of them are code-visualization tools. However, while all these tools show how a program is structured, they use different means to achieve different ends. The tools covered are: Objective-C Browser; Vifor;...
Article
The key to applying computer-aided software engineering to the maintenance and enhancement of existing systems lies in applying reverse-engineering approaches. However, there is considerable confusion over the terminology used in both technical and marketplace discussions. The authors define and relate six terms: forward engineering, reverse engine...
Article
The first phase of a three-phase effort to develop a new graphically oriented specification language which will facilitate the reverse engineering of Ada source code into graphical representations (GRs) as well as the automatic generation of Ada source code is described. A simplified view of the three phases of Graphical Representations for Algorit...

Citations

... It also resolves the issue for duplicated values and multiple test suites. But this approach is not suitable for the automatic prioritization of multiple test suites with real commercial data (Deason et al., 1991;Mayers, 2004). ...
... To reduce the costs of software maintenance, it is necessary to determine what causes them to be high. Oman [OMAN90b] and Robson et al. [ROBSO91] believe that the process of software comprehension is the most critical aspect of software maintenance. This opinion is shared by many including Cleveland [CLEVE89], Chen and Ramamoorthy [CHENY86], and Corbi [CORBI89], who claim that understanding an existing software system is the most time-consuming aspect of software maintenance, involving anywhere from fifty to ninety percent of a maintenance programmer's time. ...
... Reverse engineering can be applied using static analysis or dynamic analysis. During static analysis install time behaviour of app is analysed while in dynamic analysis run-time behaviour of the app is analysed (Chikofsky & Cross, 1990). Elliot J. Chikofsky describes reverse engineering as a tool used to extract design information or knowledge from anything made by man and use it to reproduce something new and effective (Chikofsky & Cross, 1990). ...
... The scoring system is shown in Table 6. For the exercise speed evaluation only answers that were correct or incorrect, but reference the correct location 8 were taken into account. Exercise E4 could not be evaluated, because no members of group A found the correct solution. ...