Identifying procedural structure in Cobol programs
The principal control-flow abstraction mechanism in the Cobol language is the perform statement. Normally, perform statements are used in a straightforward manner to define parameterless procedures (where global variables are used to pass data into and ...
Efficient coverage testing using global dominator graphs
Coverage testing techniques, such as statement and decision coverage, play a significant role in improving the quality of software systems. Constructing a thorough set of tests that yield high coverage, however, is often a very tedious, time consuming ...
Efficient and precise modeling of exceptions for the analysis of Java programs
The Factored Control Flow Graph, FCFG, is a novel representation of a program's intraprocedural control flow, which is designed to efficiently support the analysis of programs written in languages, such as Java, that have frequently occurring operations ...
Safety analysis of Hawk In Flight monitor
The development of a military safety critical system has many facets, one of which is the collecting of evidence that can be used to assist the production of the safety case necessary for certification of a system into military use. Within the ...
Equivalence analysis: a general technique to improve the efficiency of data-flow analyses in the presence of pointers
Existing methods to handle pointer variables during data-flow analyses can make such analyses inefficient both in time and space because the data-flow analyses must store and propagate large sets of data facts that are introduced by dereferences of ...
Inter-class def-use analysis with partial class representations
Object-oriented program design promotes the reuse of code not only through inheritance and polymorphism, but also through building server classes which can be used by many different client classes. Research on static analysis of object-oriented software ...
Using partial order techniques to improve performance of data flow analysis based verification
Partial order optimization techniques for distributed systems improve the performance of finite state verification approaches by avoiding redundant exploration of some portions of the state space. Previously, such techniques have been applied in the ...
Physical type checking for C
The effectiveness of traditional type checking in C is limited by the presence of type conversions using type casts. Because the C standard allows arbitrary type conversions between pointer types, neither C compilers, nor tools such as lint, can ...
New type signatures for legacy Fortran subroutines
We are currently developing a methodological framework for reverse engineering Fortran77 programs used by Electricité de France, in which the first step is the construction of an algebraic specification which faithfully represents the Fortran ...
Query by outlines: a new paradigm to help manage programs
We propose a new paradigm to query information about programs, namely query by outlines. This paradigm relies on an outlining model that conceptually describe units of code according to the computations they perform. Outlines are automatically ...
GIDTS: a graphical programming environment for Prolog
This paper puts forward the Graphical Interactive Diagnosing, Testing and Slicing System (GIDTS) which is a graphical programming environment for PROLOG programs. The IDTSpart of the system integrates Shapiro's Interactive Diagnosis Algorithm with the ...
Benefits of a data flow-aware programming environment
Many programmers write their programs with a primitive text editor that has no knowledge about the edited text. On the other hand, they use ingenious compilers that collect control flow and data flow information to perform optimizations and generate ...