| S. Bates and S.Ho rwitz. Incremental pro gram testing usingpro gram dependence graphs. In ACM Symposium on Principles of Programming Languages, pages 384-- 396, 1993. 300 |
....2.3.2. 2.2. 5 1990 1999 With Podgurski and Clarke s formal model of intraprocedural dependencies in place, dependence analysis research in the 1990s turned to addressing challenges in a more broad class of programs as well as to developing dependence graph based software maintenance tools [44, 37, 10]. Table 2.1 Table 2.1: Dependence Analysis Research in the 1990s. References Multi proc Obj Orient Concurrent Con OO Reactive [11] 14] X [15] X [21, 31, 22, 47] X X [23] X [25, 27] X [33] X [37] X [49] X [55, 56] X X Table 2.2: System Types and Related Dependence Relationships. ....
....dependencies of all call sites. If a pfdom arc is removed during pfdom resolution, then the related ifa target inherits the control dependence of the procedure called by the ifa source. These two steps of the algorithm are simple to perform. 61 v 2 1 3 4 5 6 2 I A = 2,3] 4,5] 7,8] [9,10] B.PFDF type = T I B = C.PFDF type = F A B 2,9 4,7 Figure 4.2: Items Required for Computing CCDG. Figure 4.2 shows the structures for computing compositional control dependence for procedures A, B, and C that make up the example program. These are referred to in the following ....
[Article contains additional citation context not shown here]
S. Bates and S. Horwitz. Incremental Program Testing using Program Dependence Graphs. In Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 384-396, Charleston, S.C., January 1993.
....traditional and OO software systems. Rothermel [31] Rosenblum [30] and Graves [17] proposed di#erent measurement models to evaluate different techniques. Among di#erent criteria, precision, e#ciency and safeness are the three major considerations. Minimization [21, 26, 35] and coverage methods [6, 7, 20, 16] attempt to select a minimum subset from the test pool to cover portions of the program that need to be retested. Therefore, they are very often e#cient and not always safe. However, the implementation transparency nature of some components prevents the minimization and coverage methods from being ....
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proceedings of the 20th ACM Symposium of Principles of Programming Languages, January 1993.
....static analysis could not compute practical analysis results. Our method uses static and dynamic analyses appropriately and computes accurate slices with lightweight costs. 1 Introduction Program slicing is very promising approach for program debugging, testing, understanding, merging, and so on [3, 4, 6, 8, 15]. Given a source program p, program slice is a collection of statements possibly affecting the value of slicing criterion (a pair s, v , s is a statement in p and v is a variable defined or referred at s) Also, we call program slice simply slice. Slice computation is based on dependence analysis ....
Bates, S. and Horwitz, S. : "Incremental program testing using program dependence graphs", Conference Record of the Twentieth ACM Symposium on Principles of Programming Languages, 1993.
.... of procedural programming languages [11, 13, 14, 21] In such languages, slicing is typically performed by using a control flow graph or a dependence graph [5, 19] Program slicing has many applications in software engineering activities including program understanding [9] debugging [1] testing [4], maintenance [12] and model checking [10] Recently program slicing has been also applied to objectoriented software to handle various object oriented features [6, 18, 20, 24] as well as software architecture [22] To understand the basic idea of program slicing, consider a simple example in ....
S. Bates, S. Horwitz, "Incremental Program Testing Using Program Dependence Graphs," Conference Record of the 20th Annual ACM SIGPLAN-SIGACT Symposium of Principles of Programming Languages, pp.384-396, Charleston, South California, ACM Press, 1993.
....when one of its methods is invoked. For instance, a component can request a service from another component before a possible callback to the originating component request. Dependence analysis is a fundamental static analysis technique that has been useful for understanding [6] testing [7], debugging [8] and maintaining [9] software systems. Considerable work has been done in the study and use of dependence analysis in the context of traditional programming languages, generally looking for correlation among variables and statements. Likewise, there is some relevant work that ....
S. Bates, S. Horwitz, "Incremental Program Testing Using Program Dependence Graphs", Conf. Record of the 20th Annual ACM SIGPLAN-SIGACT, Sym. of principles of Programming Languages, pp.384-396, ACM Press, 1993.
....Ada 95 software is urgently needed. Dependency analysis is an analysis technique to identify and determine various program dependencies in program source codes [5, 17] It has been widely used in software engineering activities, such as program understanding, testing, debugging, and maintenance [1, 5, 8, 10, 11, 17, 18]. It provides a solution for analyzing concurrent programs. This work was supported in part by the National Natural Science Foundation of China (NSFC) 60073012) National Science Foundation of Jiangsu, China (BK2001004) Opening Foundation of State Key Laboratory of Software Engineering in ....
Bates, S., Horwitz, S.: Incremental Program Testing using Program Dependence Graph. POPL 93, (1993) 384 -- 396
....and adopt this assumption, always erring on the side of spurious differences, but never missing a real difference. For example, techniques to reduce the cost of regression testing by eliminating needless tests or by not retesting unaffected code (such as Binkley s [2] and Bates and Horwitz s [1]) can safely find differences where none exist, since this only results in unnecessary test executions, but must never miss differences, which might lead to inadequate testing. When the output of the tool is intended for human consumption, a different kind of accuracy may be called for. Always ....
....not completely reliable. For this reason, we have taken the radical step of trying to maximize the accuracy of our tool s output by compromising its soundness. A tool based on the standard approach to comparison regards two versions as identical only when their dependence graphs are isomorphic [1,2]. This demands that the nodes of the graphs match syntactically; the only semantic abstraction is in the relative ordering of statements. As a result, almost any change to the code will be flagged as a difference, including all the common meaning preserving transformations applied frequently by ....
[Article contains additional citation context not shown here]
Samuel Bates and Susan Horwitz, "Incremental Program Testing Using Program Dependence Graphs", Proc. ACM Conf. on Principles of Programming Languages, 1993.
....SDN can be used as an underlaying representation to develop software engineering tools for occam 2 programs. 1 Introduction Program dependence representations are useful in program optimazation, vectorization, and parallelization [5, 13, 17] and also in developing software engineering tools [2, 4, 6, 8, 12]. Recently, a number of program dependence representations have been presented for representing programs from different viewpoints. Ferrante et al. 5] presented a dependence representation called the program dependence graph (PDG) to explicitly represent control dependences and data dependences ....
S. Bates, S. Horwitz, "Incremental Program Testing Using Program Dependence Graphs," Conference Record of the 20th Annual ACM SIGPLAN-SIGACT Symposium of Principles of Programming Languages, pp.384-396, Charleston, South California, ACM Press, 1993. J. Zhao et al. / System Dependence Net 96
.... of conventional programming languages [17] In such languages, slicing is typically performed using dependence graph representations [4, 9, 6, 14, 19, 20] Traditional slicing has many applications in software engineering activities including program understanding [5] debugging [1] testing [2], maintenance [7] reuse [13] reverse engineering [3] and complexity measurement [14] 3 Technical Report 97 SE 117, pp.85 92, Information Processing Sociaty of Japan, November 1997. Applying slicing technique to software architectures promises benefit for software architecture development at ....
S. Bates, S. Horwitz, "Incremental Program Testing Using Program Dependence Graphs," Conference Record of the 20th Annual ACM SIGPLAN-SIGACT Symposium of Principles of Programming Languages, pp.384396, Charleston, South California, ACM Press, 1993.
....Science, Ohio State University. 2 Department of Information and Computer Science, University of California, Irvine. 3 Department of Computer Science, Oregon State University. 4 AT T Labs Research. 5 A variety of selective regression testing techniques have been proposed (e.g. [1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 21, 26, 27, 28, 29, 30]) For an overview and analytical comparison of these techniques, see [25] 1 regression testing algorithm, implemented as a tool called TestTube [8] also show that such methods are not always cost effective [23] When selective regression testing is not cost effective, the resources spent ....
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proceedings of the 20th ACM Symposium on Principles of Programming Languages, January 1993.
....techniques and tools rely on control dependence information. Techniques for selecting test data and determining test set adequacy [14] extending data flow testing approaches [8] generating reduced test sets for programs [11] determining the retesting required after program modifications [2, 4, 5, 10, 15, 16], integrating different versions of programs [13] and performing static and dynamic slicing [1, 3] all use such information. To represent control dependence information, these techniques typically use control dependence graphs. Attempts to scale these techniques to handle large programs are ....
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proceedings of the 20th ACM Symposium on Principles of Programming Languages, pages 384--396, January 1993.
....chooses all such tests, but this strategy may consume excessive time and resources. An alternate approach, selective retest, chooses a subset of tests from the old test set, and uses this subset to test the modified program. Although many techniques for selective retest have been developed[1, 2, 3, 6, 8, 9, 11, 12, 15, 20, 21, 23], there is no established basis for evaluation and comparison of these techniques. Classifying selective retest This work was partially supported by a grant from Data General Corporation, and by NSF under Grants CCR 9109531 and CCR 9357811 to Clemson University. strategies for evaluation and ....
....underlie the existing approaches. Minimization approaches[6, 10, 20] assume that the goal of regression testing is to reestablish satisfaction of some structural coverage criterion, and aim to identify a minimal set of tests that must be rerun to meet that criterion. Coverage approaches[2, 3, 8, 9, 12, 15, 21, 23], like minimization approaches, rely on coverage criteria, but do not require minimization. Instead, they assume that a second but equally important goal of regression testing is to rerun tests that could produce different output, and they use coverage criteria as a guide in selecting such tests. ....
[Article contains additional citation context not shown here]
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proceedings of the Twentieth Annual ACM Symposium on Principles of Programming Languages, January 1993.
....observe, this selective approach is beneficial only if the cost of selecting the test subset is less than the cost of running the tests we are able to omit. Although previous research addresses the selective retest problem, many approaches are shaped by concerns about structural coverage criteria[1, 2, 5, 7, 8, 9, 15, 19, 20, 23]. These approaches identify changed or affected program components, such as statements or paths, and select tests that traverse these components. Coverage criteria are useful because they offer a way to measure test adequacy. However, at regression test time we also wish to convince ourselves that ....
....other changes, cannot possibly exhibit different behavior, so it does not need to be rerun. A first task in selecting tests for retest is to distinguish tests that traverse changed code from those that do not. This statement may seem obvious, yet it has been overlooked in some previous techniques[1, 3]. These techniques suggest selection of all tests that traverse affected statements in P 0 ; affected statements are Test Cases test # input execution history T1 T2 P=1,Q=1 P=0,Q=1 S1,S2,S3,S4 S1,S3,S4 S1. if P = 1 S2. x : 2 S3. if Q = 1 S4. y : x S1. if P = 1 S2. x : 3 S3. if ....
[Article contains additional citation context not shown here]
S. Bates and S. Horwitz, "Incremental program testing using program dependence graphs," Annual ACM Symposium on Principles of Programming Languages, January, 1993.
No context found.
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proc. ACM Symp. on Principles of Programming Languages, pages 384--396, Jan. 1993.
No context found.
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proc. ACM Symp. on Principles of Programming Languages (POPL), pages 384--396, January 1993.
No context found.
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proc. ACM Symp. on Principles of Prog. Langs., pages 384--396, Jan. 1993.
No context found.
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proc. ACM Symp. on Principles of Programming Languages (POPL), pages 384--396, Jan. 1993.
....mentioned in Section 1.1, which provides quantitative data on how well our algorithm works in practice and how much of an advance it is over previous techniques. 2. ASSUMPTIONS AND TERMINOLOGY We assume that the reader is familiar with the standard definitions of control and data dependence [9, 14, 4]. We assume that programs are represented using a set of controlflow graphs (CFGs) one for each procedure. Predicate nodes in CFGs have two or more outgoing edges (looppredicates and if predicates have exactly two, whereas switch predicates have one for each case label and for the default ....
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proc. ACM Symp. on Principles of Programming Languages, pages 384--396, Jan. 1993.
No context found.
S. Bates and S.Ho rwitz. Incremental pro gram testing usingpro gram dependence graphs. In ACM Symposium on Principles of Programming Languages, pages 384-- 396, 1993. 300
No context found.
Bates, S. and S. Horwitz: 1993, `Incremental Program Testing Using Program Dependence Graphs'. In: Conference Record of the Twentieth ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. pp. 384--396.
No context found.
S. Bates, S. Horwitz, \Incremental Program Testing Using Program Dependence Graphs," Conference Record of the 20th Annual ACM SIGPLAN-SIGACT Symposium of Principles of Programming Languages, pp.384-396, Charleston, South California, ACM Press, 1993.
No context found.
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Conference Record of the Twentieth ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 384--396, 1993.
No context found.
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In Proc. of the ACM SIGPLANSIGACT Conf. on Principles of Programming Languages (POPL'93), pages 384--396, Charleston, SC, 1993.
No context found.
S. Bates and S. Horwitz. Incremental Program Testing using Program Dependence Graphs. In Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 384-396, Charleston, S.C., January 1993.
No context found.
S. Bates, S. Horwitz, "Incremental Program Testing Using Program Dependence Graphs," Conference Record of the 20th Annual ACM SIGPLAN-SIGACT Symposium of Principles of Programming Languages, pp.384-396, Charleston, South California, ACM Press, 1993.
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