| A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, 1990. |
....edge used is the flow dependence edge. A flow dependence edge runs from a vertex that represents a definition of a variable to a vertex that represents a use of the variable reached by that definition. The dependence edges are safe approximations to the semantic dependences found in the program [15], which are generally not computable and therefore must be (safely) approximated. Taken with respect to vertex v, a slice includes the vertices that potentially affect the computation represented at v. An interprocedural slice can be computed using simple graph reachability. However, the ....
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(8), 1990.
.... structural (or white box) and functional (or black box) aspects [35] 41] Structural testing criteria, i.e. criteria which take into account an internal structure of the program, are in turn divided into data flow and control flow criteria, although the combination of the two has been considered [38], 45] Data flow criteria are based on the investigation of the ways in which values are associated with variables and how these associations can affect the execution of the program [55] Control flow criteria examine logical expressions, which determine the branch and loop structure of the ....
....0 0 7 0 0 1 0 8 0 0 0 0 TABLE I COMBINATIONS SATISFIED THE CRITERIA testing criteria, which describe criteria contents in a rigorous mathematical form, is presented here. Formalization of various testing criteria has been carried out using, for example, set theory [20] graph theory [38], predicate logic [31] 45] and temporal logic [2] In this paper, the Z notation [26] 43] is used for the formal definition of the criteria. Some reasons for choosing the Z notation are follows. Z has been used for a number of digital systems in a variety of ways to improve the specification ....
Podgurski, P., Clarke, L. A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging and Maintenance. IEEE Transactions on Software Engineering, Vol. 16, No. 9, September 1990, pp. 965--979.
....x = x 1; x = x 1; 3 y = x; y = x; y = x; 4 x = 2; x = 2; x = 2; 5 x = x 1; x = x 1; x = x 1; 6 z = x; z = x; z = x; Figure 3. Preserving slices for two criteria. Horwitz [14] present a modified definition of a slice based on semantic effects (similar to the semantic dependence of [18]) which basically inverts the definition of a slice: A statement x of program P has a semantic effect on a statement y, iff a program P # exists, created by modifying or removing x from P, and some input I exists such that P and P # halt on I and produce different values for some variables used ....
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging and maintenance. IEEE Trans. Softw. Eng., 16(9):965--979, Sept. 1990.
....to significantly reduce the testing costs, and recent work [Stocks and Carrington 1996, Hierons and Derrick 2000] addresses the relationship between testing and formal specifications. In specification based testing, a specification plays several roles. First, it can be used as test oracle [Podgurski and Clarke 1990, Richardson et al. 1992] i.e. as a means to predict the expected outputs of the system. When testing a software the correctness of its behavior should not be left to the judgment of a human, because for complex and critical software the human assessment is neither e#cient nor dependable. On the ....
Podgurski, A. and Clarke, L. A. (1990). A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--79.
....system evaluates the dependence relation pair by pair. Wilde and Huitt discuss external dependency graphs , which are similar to our du abstraction, along with a variety of other dependence relations [WH91] but do not explain how they are constructed and used. Theories of program dependences [CF89, PC90] and slicing [RY89] have been developed. We hope eventually to develop a theory that explains our dependence relations and justifies an operational interpretation of chopping. 11 Conclusion and Future Work The standard PDG provides no way to abstract the behaviour of a procedure. We have shown ....
Andy Podgurski and Lori A. Clarke. A formal model of program dependences and its implications for software testing, debugging and maintenance. IEEE Trans. on Software Engineering, 16(9), September 1990, pp. 965--979.
.... structural (or whitebox) and functional (or black box) 20, 26] Structural testing criteria, i.e. criteria which take into account an internal structure of the program, are in turn divided into data flow 1 and control flow criteria, although the combination of the two has been considered too [23, 30]. Data flow criteria are based on the investigation of the ways in which values are associated with variables and how these associations can a#ect the execution of the program [34] This group contains so called all uses, all defs, all p uses and other criteria [12, 26] Control flow criteria ....
....giving rise to ambiguity. To help alleviate this situation, the elaboration of formalized definitions of testing criteria, which describe criteria contents in rigorous mathematical form, is presented here. Formalization of certain criteria has been carried out using set theory [11] graph theory [23], predicate logic [18, 30] temporal logic [2] In this paper, the Z notation is used for the formal definition of the criteria. The reasons for choosing the Z notation are follows. Z has been used for a number of digital systems in a variety of ways to improve the specification of computer based ....
Podgurski, P., Clarke, L. A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging and Maintenance. IEEE Transactions on Software Engineering, Vol. 16, No. 9, September 1990, pp. 965--979.
.... structural (or white box) and functional (or black box) aspects [21, 27] Structural testing criteria, i.e. criteria which take into account an internal structure of the program, are in turn divided into data flow and control flow criteria, although the combination of the two has been considered [24, 31]. Data flow criteria are based on the investigation of the ways in which values are associated with variables and how these associations can affect the execution of the program [36] This group contains so called all uses, all defs, all p uses and other criteria [14, 27] Control flow criteria ....
....giving rise to ambiguity. To help alleviate this situation, the elaboration of formalized definitions of testing criteria, which describe criteria contents in rigorous mathematical form, is presented here. Formalization of certain criteria has been carried out using set theory [13] graph theory [24], predicate logic [20, 31] temporal logic [2] In this paper, the Z notation [29] is used for the formal definition of the criteria. The reasons for choosing the Z notation are follows. Z has been used for a number of digital systems in a variety of ways to improve the specification of ....
Podgurski, P., Clarke, L. A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging and Maintenance. IEEE Transactions on Software Engineering, Vol. 16, No. 9, September 1990, pp. 965--979.
....too. In the following subsections we give basic definitions and our equations for extracting transform slices. 2.1 Background The definitions below are used to establish a common terminology to be used in the data flow equations. We present control flow graphs and def use graphs, as defined in [38], but we take only those dominance relations which are useful for the extraction criteria. Weiser s equations for program slicing are also presented to emphasize the differences from our slicing equations. Here, program slicing is defined in terms of def use graphs but some definitions appear ....
....instructions, branch and loop conditions, unconditional branches, and procedure calls. The initial and the final nodes represent the entry and exit points of the procedure respectively. The edges represent control flow transfers between statements. We give a wider interpretation than in [38], because we represent unconditional GOTOs as control flow graph nodes to deal with unstructured programs. We can also represent programs with multiple entry and exit points. In this case there will be two kinds of special nodes: start nodes N S and halt nodes N H to represent the multiple entry ....
A. Podgurski and L.A. Clarke, "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance," IEEE Trans. Software Eng., vol. 16, no. 9, pp. 965-979, Sept. 1990.
.... in the form of a program dependence graph (PDG) 8] The PDG, although originally proposed for compiler optimizations, has been applied to various software engineering activities including program slicing, debugging, testing, maintenance, and complexity measurements for imperative programs [4, 12, 14, 22]. For example, program slicing, a decomposition technique that extracts from program statements related to a particular computation, is greatly benefit from it where slicing problem can be reduced to a vertex reachability problem [12] that is much simpler than its original algorithm [19] Program ....
Podgurski, A. and Clarke, L. A. : A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance, IEEE Transaction on Software Engineering, Vol.16, No.9, pp.965-979 (1990).
....statement, statement 20, for example, will be control dependent on entry into vend( On closer inspection, however, we see that statement 20 depends most immediately for its execution on statement 39, because of the throw in statement 40. Thus, according to the definition of semantic dependence [28], statement 20 is semantically dependent on statement 39, and therefore, statement 39 should be included in any slice that includes statement 20. However, because the control dependence information that existing interprocedural slicing algorithms use is computed without considering the effects of ....
A. Podgurski and L.A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--79, September 1990.
.... in the form of a program dependence graph (PDG) 8, 14] The PDG, although originally proposed for compiler optimizations, has been applied to various software engineering activities including program slicing, debugging, testing, maintenance, and complexity measurements for procedural programs [1, 7, 12, 17, 18]. Recently, researchers have applied program dependence analysis to object oriented software [15, 16, 5, 6, 23] for detailed discussions, see related work section) as well as software architectures [24] However, although a number of dependence based representations have been proposed for ....
A. Podgurski and L. A. Clarke, "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance," IEEE Transaction on Software Engineering, Vol.16, No.9, pp.965-979, 1990.
.... in the form of a Program Dependence Graph (PDG) 3, 7] The PDG, although originally proposed for compiler optimizations, has been applied to various software engineering activities including program understanding, debugging, testing, maintenance, and complexity measurement for imperative programs [4, 6, 8, 9]. Although program dependence analysis has been successfully applied to many software engineering activities for imperative programs, there is little research on using program dependence information to develop software engineering tools for logic programs. Such situation is especially true for ....
A. Podgurski and L. A. Clarke, "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance, " IEEE Transaction on Software Engineering, Vol.16, No.9, pp.965-979, 1990.
....to a program slice, the scope of information that needed to be considered for analysis could be reduced, allowing more complicated analyses to performed. It seems likely that analysis could be further improved by use of syntactic and semantic dependence as described by Podgurski and Clarke [PC90] 7 CONCLUSIONS Mutation testing is presently very expensive, particularly in terms of the manual cost. In addition to the machine costs of executing all the mutants of a program, test cases must be generated, the output of each test case must be examined for correctness, and mutants must be ....
Andy Podgurski and Lori A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990.
....evaluate the impact of a modification, to determine the parts of a program that should be re tested in response to a modification, or to identify parts of the code to which optimizing transformations can be applied. For such purposes, program dependences provide approximate but useful information [23]. Control dependence information captures the effects of predicate statements on program behavior. Data dependence information captures the effects of data interactions on program behavior. Tools such as program slicers use control and data dependence information for tasks such as debugging, ....
....computed intraprocedurally inaccurately model the control dependences that exist in whole programs. ffl A precise definition of interprocedural control dependence. Unlike the previously presented definition [17] this definition supports the relationship between syntactic and semantic dependence [23] that must hold if analyses based on dependence information are to conservatively model the semantic dependences in programs. ffl Two approaches for computing interprocedural control dependences: One approach computes precise interprocedural control dependences but may be inordinately expensive; ....
[Article contains additional citation context not shown here]
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965-- 979, September 1990.
.... indispensable to many software development activities, a dependence based program representation has many applications in various software development activities including program optimization, parallelization, understanding, testing, debugging, maintenance, and complexity metrics [1] 8] 9] 10] 11][12][16] For example, program dependence graph [8] 10] 11] 12] which explicitly represents both control and data dependences in a sequential program, has been developed as an important program representation tool used in compiler construction and software testing, debugging, and maintenance. ....
.... program representation has many applications in various software development activities including program optimization, parallelization, understanding, testing, debugging, maintenance, and complexity metrics [1] 8] 9] 10] 11] 12] 16] For example, program dependence graph [8] 10] 11][12], which explicitly represents both control and data dependences in a sequential program, has been developed as an important program representation tool used in compiler construction and software testing, debugging, and maintenance. However, although a number of dependence based program ....
A. Podgurski and L. A. Clarke. A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance. IEEE-CS TOSE, Vol. 16, No. 9, pp. 965-979, 1990.
....define program dependences. Program dependences have been used in software development primarily as a basis for program optimization [KKL 81, FOW87] and program slicing for debugging [Wei82] and maintenance [HPR89] Program dependences are also significant for program testing [Kor87, PC90] During these activities, in particular, one is often interested in when a change in the semantics of one component affects the behavior of another component. These essential semantic relationships between components can be found by a syntactic analysis technique called program dependence ....
....component. These essential semantic relationships between components can be found by a syntactic analysis technique called program dependence analysis. ProDAG (Program Dependence Analysis Graph) is a syntactic analysis toolset that supports the two basic syntactic dependence relations [FOW87, PC90] 3 control dependence, which are features of a program s control structure, and data dependence, which are features of variable manipulations in a program. Data dependence holds, informally, between components s and s 0 if there is a sequence of assignments that potentially propagates data ....
[Article contains additional citation context not shown here]
Andy Podgurski and Lori A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990.
....evaluate the impact of a modification, to determine the parts of a program that should be re tested in response to a modification, or to identify parts of the code to which optimizing transformations can be applied. For such purposes, program dependences provide approximate but useful information [23]. Control dependence information captures the effects of predicate statements on program behavior. Data dependence information captures the effects of data interactions on program behavior. Tools such as program slicers use control and data dependence information for tasks such as debugging, ....
....computed intraprocedurally inaccurately model the control dependences that exist in whole programs. ffl A precise definition of interprocedural control dependence. Unlike the previously presented definition [17] this definition supports the relationship between syntactic and semantic dependence [23] that must hold if analyses based on dependence information are to model conservatively the semantic dependences in programs. ffl Two approaches for computing interprocedural control dependences: One approach computes precise interprocedural control dependences but may be inordinately expensive; ....
[Article contains additional citation context not shown here]
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965-- 979, September 1990. 54
....evaluate the impact of a modification, to determine the parts of a program that should be re tested in response to a modification, or to identify parts of the code to which optimizing transformations can be applied. For such purposes, program dependences provide approximate but useful information [Podgurski and Clarke 1990]. Controldependence information captures the effects of predicate statements on program behavior. Data dependence information captures the effects of data interactions on program behavior. Tools such as program slicers use control and data dependence information for tasks such as debugging, ....
....inaccurately model the control dependences that exist in whole programs. A precise definition of interprocedural control dependence. Unlike the previously presented definition [Loyall and Mathisen 1993] this definition supports the relationship between syntactic and semantic dependence [Podgurski and Clarke 1990] that must hold if analyses based on dependence information are to model conservatively the semantic dependences in programs. Two approaches for computing interprocedural control dependences: one approach computes precise interprocedural control dependences but may be inordinately expensive; ....
[Article contains additional citation context not shown here]
Podgurski, A. and Clarke, L. A. 1990. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. Softw. Eng. 16, 9 (Sept.), 965--979.
....of identifying the components of a system that either a ect or are a ected by a particular component in some way. In fact, these kinds of questions are similar to those currently asked at the implementation level and answered through a technique known as dependence analysis applied to program code [1, 3, 10, 11, 16, 24, 26, 28, 29, 38]. It seems reasonable, therefore, to apply a similar technique at the architectural level, either because the program code may not exist at the time the question is being asked or because answering the question at the architectural level is more tractable than at the implementation level [36] ....
....Typically, the vertices of the CFG are annotated with information about the de nition and use of variables in the program. This combination of control and data information is then used to identify control and data dependencies among the program statements. The program dependence graph (PDG) [8, 28] combines control and data dependence information into a single, compact representation. A dependence between two vertices in a PDG is classi ed as indirect when the dependence relationship exists transitively through intermediate vertices. If the relationship does not involve transitive ....
[Article contains additional citation context not shown here]
A. Podgurski and L.A. Clarke. A Formal Model of Program Dependences and its Implications for Software Testing, Debugging, and Maintenance. IEEE Transactions on Software Engineering, 16(9):965{ 979, September 1990.
....generation, and debugging. Dependencies can be identi ed based on syntactic information readily available in a formal speci cation. This type of analysis generally ignores state information, but may incorporate some knowledge of the semantics of a language to improve the precision of the results [42]. Dependence analysis as applied to program code is based on the relationships among statements and variables in a program. Techniques for identifying and exploiting dependence relations at the architectural level have also been developed [53, 61, 67] Dependence relationships at the ....
A. Podgurski and L.A. Clarke. A Formal Model of Program Dependences and its Implications for Software Testing, Debugging, and Maintenance. IEEE Transactions on Software Engineering, 16(9):965{ 979, September 1990.
....criteria with respect to each other. Since these testing methods and the associated criteria rely on control and data flow properties of the code, they are obviously adaptable to a hardware description language like VHDL. So are generalizations on control and data flow dependence as defined in [16]. Testing criteria can be used in two ways in software testing: 1) to evaluate test completeness of a set of test cases with regards to a test criterion, giving rise to coverage metrics; 2) for test data generation that will meet the test criteria in some (sub)minimal way by guiding the test ....
Podgursky, A.; Clarke, L., A.; "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance", IEEE Transactions on Software Engineering SE-16, 9(Sept. 1990), p. 965 -- 979.
....and the Sreedhar and Gao algorithm since these are special cases of the ADT algorithm, obtained for particular values of the parameter fi. The need for OE set computation arises not only in SSA computations but in other contexts such as the computation of the weak control dependence relation [PC90] that extends the standard notion of control dependence to include non terminating program executions. In this context, the standard notion of postdominance must be replaced with the notion of loop postdominance [BP96] The transitive reduction of loop postdominance is a forest which can be ....
....nodes in DF (w) Gamma PDF (w) are marked after w has been visited, satisfying the inductive hypothesis. 2 5. 4 Discussion The DF graph was introduced in our earlier work under the name of sibling connectivity graph [BP96] to solve the problem of optimal computation of weak control dependence [PC90] The mark pulling algorithm can be viewed as an efficient version of the reachability algorithm of Figure 4. At any node v, the reachability algorithm visits all nodes that are reachable from v in the reverse CFG along paths that do not contain idom(v) while the mark pulling algorithm visits ....
Andy Podgurski and Lori Clarke. A formal model of program dependences and its implications for software testing, debugging and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990.
....halt, statement 7, for example, will be control dependent on entering M. On closer inspection, however, we see that statement 7 depends most immediately for its execution on statement 17, because of the explicit halt in statement 18 . Thus, according to the de nition of semantic dependence [12], statement 7 is semantically dependent on statement 17, and statement 17 should be included in any slice that includes statement 7. However, because the control dependence information that existing interprocedural slicing algorithms use is computed without considering the e ects of embedded ....
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. Softw. Eng., 16(9):965-79, Sept. 1990.
....more information. 25 L : 0; end if Likewise, looping constructs can implement counting effectively. L : 0; while H 0 do H : H Gamma 1; L : L 1; end while Information flow analysis attempts to statically uncover these kinds of information leakage. As noted by Podgurski and Clarke [89], information flow analysis is a kind of dependence analysis [41] In the following, we use a type system to capture program dependence. To deal with explicit information flow, each expression is associated with a secure flow type, which represents the classification level of the data item. The ....
Andy Podgurski and Lori A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990.
....the program, and therefore, they can be used to represent the program s behavior. In the literature, there are two types of primary program dependences originally proposed and studied for optimization and parallelization of sequential programs, i.e. the control dependence and the data dependence [9,22]. Informally, a statement S is control dependent on the control predicate C of a conditional branch statement (e.g. an if statement or while statement) if the value of C determines whether S is executed or not. A statement S 2 is data dependent on a statement S 1 if the value of a variable ....
.... such that the reduced program will produce the behavior satisfying the criterion [23,24] The method is useful in program debugging in the sense that slicing a program can certainly narrow the domain on which reasoning about causal relationship between errors and bugs in the program is performed [13,15,22 24]. 225 Based on Weiser s work, a number of program slicing techniques have been proposed and studied for sequential programs. Ottenstein and Ottenstein showed that once a program is represented by its program dependence graph (PDG for short) which is an arc classified digraph to explicitly ....
A. Podgurski and L. A. Clarke, "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance," IEEE-CS Transactions on Software Engineering, Vol.16, No.9, pp.965-979, 1990.
....flow of control, and procedure calls can be quite subtle. The most commonly used definition, due to Ferrante et al., is based on the graph theoretic concept of postdominance [8] This work was later extended by Podgurski and Clarke who distinguished between several notions of control dependence [25]. Bilardi and Pingali [3] proposed a generalized framework to unify many different such notions. Most of the research in this area has focused on computing intraprocedural control dependence [8, 24, 6, 26, 27] In this approach, each procedure is treated in isolation, by ignoring transfer of ....
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--79, September 1990.
....on program behavior. Tools such as program slicers use control and data dependence information for tasks such as debugging, impact analysis, and regression testing. To demonstrate the semantic basis for uses of program dependencies, and to evaluate some of those uses, Podgurski and Clarke [17] present a formal model of program dependencies. They distinguish several types of control and data dependencies, and describe conditions under which identi cation of such dependencies implies, or may not imply, identi cation of semantic dependencies. These results show that a maintenance tool ....
....class of programs not addressed by existing approaches. Finally, we describe our implementation of a tool based on our algorithm and empirical results obtained with that tool. 2 Background Unless otherwise stated, the de nitions in this section are based on those presented by Podgurski and Clarke [17]. Control dependencies are typically de ned in terms of control ow graphs, paths in those graphs, and the postdominance relation. De nition 1. A control ow graph (CFG) G = N; E) for procedure P is a directed graph in which N contains one node for each statement in P , and E contains edges that ....
[Article contains additional citation context not shown here]
A. Podgurski and L.A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965-79, September 1990.
.... control flow information, which is topically represented by a control flow graph (CFG) 4] The CFG, although originally proposed for compiler optimizations, has been used for various software engineering tasks such as program slicing, debugging, testing, maintenance, and complexity measurements [7, 8, 9]. Control flow analysis was originally considered for procedural programs. Recently, as object oriented software become popular, researchers have applied control flow analysis to object oriented programs [10] This paper presents a control flow analysis technique for Java bytecode. In Java, ....
A. Podgurski and L. A. Clarke, "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance, " IEEE Transaction on Software Engineering, Vol.16, No.9, pp.965-979, 1990.
....reflects program non termination properties. In essence, a node n is divergence dependent upon m if m is the control predicate of a possibly infinite loop and n is reachable from m. The combination of divergence dependence and control dependence is essentially the same as weak control dependence [39]. 13 4 Software model construction To apply finite state verification to a software system, one must construct a finite state transition system that safely abstracts the software semantics. The transition system should be small enough to make automatic checking tractable, yet it should be large ....
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, 1990.
.... applications, we describe here a subset of the capabilities provided by some Arcadia tools [11, 53, 40] These tools create and maintain four major data structures: abstract syntax trees (AST) control flow graphs (CFG) definition and reference (def ref) annotations, and dependency information [39]. Each node in a CFG points to the root of the AST subgraph that elaborates the statement associated with the CFG node. To facilitate analysis, def ref information is derived from an AST and associated with the appropriate node in the corresponding CFG. Based on the def ref annotations and the ....
....in turn. A front end tool accepts source code and creates an AST. A CFG builder uses the AST to create the corresponding CFG. The def ref annotator uses the AST to derive the definition and reference information 1 Only informal definitions are needed here. The interested reader should refer to [39]. that is associated with each node of the CFG. The dependency builder uses both the CFG and the def ref annotations to construct dependency information. A developer might decide to change the source code either by making a change to the actual source and resubmitting the code for reanalysis or ....
[Article contains additional citation context not shown here]
H.A. Podgurski and L.A. Clarke. A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance. Transactions on Software Engineering, 16(9):965-- 979, Sept 1990.
No context found.
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, 1990.
No context found.
Andy Podgurski and Lori A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990.
No context found.
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, 1990.
No context found.
Podgurski, A., Clarke, L.: A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. Soft. Engg. 16 (1990) 965--979.
No context found.
Andy Podgurski and Lori Clarke. A formal model of program dependences and its implications for software testing, debugging and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990.
No context found.
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, 1990.
No context found.
A. Podgurski and L. A. Clarke, \A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance," IEEE Transaction on Software Engineering, Vol.16, No.9, pp.965-979, 1990.
No context found.
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. on Software Engineering, 16(9):965--979, September 1990.
No context found.
Andy Podgurski and Lori A. Clark. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965-979, September 1990.
No context found.
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16(9):965--79, Sept. 1990.
No context found.
A. Podgurski and L. A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, SE-16(9):965--979,1990.
No context found.
Podgurski, P., Clarke, L. A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging and Maintenance. IEEE Transactions on Software Engineering, Vol. 16, No. 9, September 1990, pp. 965--979.
No context found.
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. Softw. Eng., 16(9):965-- 79, Sept. 1990.
No context found.
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. Softw. Eng., 16(9):965-- 79, Sept. 1990.
No context found.
Podgurski, A. and Clarke, L.A., "A formal model of program dependences and its implications for software testing, debugging, and maintenance," IEEE Transactions on Software Engineering SE16 (9) pp. 965-979 (September 1990).
No context found.
A. Podgurski and L.A. Clarke. A Formal Model of Program Dependences and its Implications for Software Testing, Debugging, and Maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990.
No context found.
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. Softw. Eng., 16(9):965-- 79, Sept. 1990.
No context found.
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. on Software Engineering, 16(9):965--979, September 1990.
No context found.
A. Podgurski, L. A. Clarke, "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance," IEEE-CS TOSE, Vol.16, No.9, pp.965-979, 1990.
No context found.
Andy Podgurski and Lori A. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering, 16#9#:965#979, September 1990.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC