26 citations found. Retrieving documents...
C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, 515-536, 1989.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

A Technique for Parallel Reachability Analysis of Java.. - Rangarajan, Iyer, Sajith (2000)   (Correct)

....Graph Control Flow Graphs c Fig. 1. Traditional reachability graph generation I. INTRODUCTION R EACHABILITY analysis is an important and well known tool for static analysis of concurrent programs and involves the systematic enumeration of all possible global states of program execution ( 6] [5]) The control flow graphs of individual processes are modified to highlight the synchronization structure, abstracting away other details. The complete state transition graph or the reachability graph is then constructed, thereby modeling the concurrent program as the set of all possible ....

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, 515-536, 1989.


Apportioning: A technique for efficient reachability analysis.. - Iyer, Ramesh   (Correct)

....abstract portion and checking them for the corresponding sub property using standard techniques. The practical utility of the apportioning technique can be seen from the following observations : The complexity (number of states generated for analysis) of traditional reachability analysis ( 27] [20]) is O(p) T , where T is the number of threads and p is the number of interactions for any thread. As discussed subsequently, extending such techniques to concurrent object oriented programs by performing additional analysis for each class, results in a complexity of O(c(p l ) m (p) T ) ....

.... resulting in identi cation of states that are di erent from the original model, consequently reducing the size of the model [8] Partitioning decomposes the model into its smaller components, so that analysis of the large model is replaced by individual analysis of smaller models [12] McDowell [20] employs an abstraction approach for folding many states in a reachability graph into a single state, applicable to programs composed of identical sets of tasks. Valmari [28] describes a technique of partial ordering that avoids the generation of all paths formed by the 6 interleaving of the ....

[Article contains additional citation context not shown here]

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, 6(3):515-536, June 1989.


Apportioning: A Technique for Efficient Reachability Analysis.. - Iyer, Ramesh   (Correct)

....are modi ed to highlight the synchronization structure, abstracting away other details. Subsequently the complete statetransition graph of the execution, known as the reachability graph, is constructed, thereby modeling the concurrent program as the set of all possible execution sequences ( 7] [6]) For properties of the synchronization structure in concurrent programs, reachability analysis provides the same level of assurance as formal veri cation. The practical potential of reachability analysis for analyzing non trivial concurrent programs has been shown in [9] and a simple algorithm ....

....model. GAMMA is more ecient than BETA but less e ective. More details of these algorithms and their proofs are given in [4] 6 Conclusions The apportioning technique developed here, has some similarities (and di erences) with some reachability analysis approaches in the literature. McDowell [6] employs an abstraction approach for folding many states in a reachability graph into a single state. However, such an approach is applicable only to programs composed of identical sets of tasks. Taylor [7] employs a partitioning approach for parceling the analysis into biconnected ....

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, 6(3):515-536, June 1989.


Barrier Inference - Gay (1998)   (13 citations)  (Correct)

....or other state modifications. Taylor [22] considers only control flow and the resulting graph can be exponential in the number of tasks. Young and Taylor [26] attempt to increase the precision of the concurrency graph by employing symbolic execution. Helmbold and McDowell [9] and McDowell [19] include data values in the concurrency states, and discuss a number of techniques for reducing the number of nodes. A different approach is to determine which statements are executed before others, based on the synchronization statements. Callahan and Subhlok [2] and Callahan, Kennedy and Subhlok ....

C. E. McDowell. A Practical Algorithm for Static Analysis of Parallel Programs. Journal of Parallel and Distributed Computing, 6(3):515--536, [6] 1989.


Application and Experimental Evaluation of State Space Reduction .. - Duri Buy (1994)   (12 citations)  (Correct)

....preserving crucial concurrency properties, such as the possibility of deadlock, in the reduced model [15, 30] Typically, the reduction in model size results in a significant decrease in the size of the corresponding state space. Other methods exploit potential parallelism [11, 31] or symmetries [17, 27] that might exist in the program being analyzed to avoid generation of the full state space. Another idea for limiting the states that are explicitly enumerated during state space generation is to exploit semantic information for groups of events contained in a program model. This idea is used in ....

C. E. McDowell. "A practical algorithm for static analysis of parallel programs." J. Parallel and Distributed Process., pp. 515--536, June 1989.


A Specification-Based Approach to Concurrency Analysis - Buy, Moll (1995)   (2 citations)  (Correct)

....different target codes. Many directions are possible for future work. We believe it may be possible to optimize reachability analysis further, especially by exploiting symmetry and other similarity properties of the problem state space. Such work would draw on the research of [17] 40] 36] and [25]. We have identified several places where failed safety and liveness analyses have led, in a natural manner, to ways in which a defective specification could be corrected. Though informal, we find these bits of deduction quite provocative, and we believe we can incorporate some of this thinking ....

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Processing, pages 515--536, June 1989.


A Unified Approach To Concurrent Debugging - Hyder (1994)   (1 citation)  (Correct)

....[Net93] They make cyclical debugging possible, but often ignore individual parts of a cycle. Static analysis extracts more information from P when probe effect [Sto88] a principle similar to Hiesenberg s uncertainty principle, limits further instrumentation [Tay83] TaO80] BBC88] CaS89] [McD89]. They analyze P and are limited to the P M part of the debugging cycle. 2.2 Problems in Various Parts of the Cycle Fig. 2 2 shows the problems and ambiguities often encountered during the mapping between different representations in various parts of the debugging cycle. Static Probe Effect ....

....so on. Its equivalent in distributed systems is the send( of a message. From a text containing blocking synchronization, signal synchronization and non synchronization statements, static analysis techniques routinely extract a synchronization control flow graph [Tay83] TO80] BBC88] CaS89] [McD89], MiC89] The graph typically contains three types of nodes and two types of arcs. Nodes represent blocking synchronization, signal synchronization, and control decision statements. While arcs represent interprocess synchronization dependences and intra process control flow dependences. Figure ....

Charles E. McDowell, "A Practical Algorithm for Static Analysis of Parallel Programs," Journal of Parallel and Distributed Computing, 6, pp. 515--536, 1989.


Barrier Inference - Aiken, Gay (1998)   (13 citations)  (Correct)

....Analyzing synchronization in this context is similar to analyzing the synchronization between the two branches in the [If Multi] case, for which we only allow very simple synchronization sequences. None of the many papers on this subject present exact solutions for more general situations [2, 3, 9, 18, 19, 22, 26]. 7 Conclusion We have identified an important property of SPMD programs that current languages do not explicitly support: The portion of control and data flow governing global synchronization that is identical across all processes. This synchronization kernel structures the entire application. ....

C. E. McDowell. A Practical Algorithm for Static Analysis of Parallel Programs. Journal of Parallel and Distributed Computing, 6(3):515--536, [6] 1989.


A Concurrency Analysis Tool Suite: Rationale.. - Young, Taylor.. (1992)   (1 citation)  (Correct)

....more suitable for the kinds of tool and technique integration described in Section 5. Computational expense is a continuing concern in reachability analysis techniques for concurrent software. Several approaches exploit regularity in state spaces to speed enumeration and reduce storage. McDowell [McD89] has implemented a static analyzer that merges a set of related states into a virtual state. Helmbold and McDowell present a generalization called entity folding in [HM91] Several approaches exploit regularity in sequences of states, noting that many interleavings of independent events are ....

Charles E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, 6:515--536, 1989.


Parallelism for Free: Efficient and Optimal Bitvector.. - Knoop, Steffen, Vollmer (1994)   (19 citations)  (Correct)

....adaptation fails [MP] and the straightforward correct adaptation needs an unacceptable effort, which is caused by considering all interleavings that manifest the possible executions of a parallel program. Thus, either heuristics are proposed to avoid the consideration of all the interleavings [McD], or restricted situations are considered, which do not require to consider the interleavings at all. To our knowledge, the most relevant publications in this direction are [CH, GS] In [CH] a situation without synchronization is considered, and in [GS] data independence of parallel components is ....

McDowell, C. E. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing 6 , 3 (1989), 513 - 536.


A General Framework for Analyzing Shared-Memory Parallel.. - Chow, Harrison, III   (Correct)

....4 describes our framework for analyzing parallel programs. Section 5 develops the analysesof side effects, data dependences, and object lifetimes. Section 6 presents methods for using abstractions to reduce the complexity of the analysis. We indicate that existing mechanisms, such as those in [McD89], can be viewed as special cases of abstractions on certain domains under our framework. Applications using the obtained information are discussed in section 7. Section 8 reviews some related works, and section 9 concludes the paper. 2 State Space Generation This section first describe the ....

....semantic domains. There are advantages to using abstract interpretation. First, recall the complexity in analyzing parallel programs; some mechanism is needed to fold related states in order to reduce the cost. The folding mechanism is in fact a form of abstraction (for example, the clan in [McD89] is an abstract process) By abstract interpretation, there are many alternatives available for designing abstract semantics, and any of them automatically suggests a different folding mechanism. These choices are not easily visible and obtainable from traditional perspectives. Second, because the ....

[Article contains additional citation context not shown here]

Charles E. McDowell. A Practical Algorithm for Static Analysis of Parallel Programs. Journal of Parallel and Distributed Computing, 6(3):515--536, June 1989.


Static Infinite Wait Anomaly Detection in Polynomial Time - Masticola, Ryder (1990)   (16 citations)  (Correct)

....gathered during symbolic execution to rule out infeasible concurrency states. Long and Clarke [LC89] propose a similar task interaction concurrency graph representation, and cite empirical evidence of a linear reduction in the number of states with respect to the concurrency state graph. McDowell [McDo89] builds a reduced concurrency history graph structure by aggregating related concurrency history states into clans ; the resulting graph may still exceed polynomial size in the worst case. Work specifically concerning static deadlock detection in parallel programs dates to [Saxe77] for ....

McDowell, C. E. "A practical algorithm for static analysis of parallel programs." Journal of Parallel and Distributed Computing 6, 1989, 515-536.


Using Compile-Time Analysis and Transformations to Reduce False .. - Jeremiassen (1995)   (6 citations)  (Correct)

....where n is the number of tasks in the program. Each element of the n tuple represents a synchronization statement that may be executed next by the corresponding task. As the number of synchronization states for a program is exponential in the number of tasks, so was the algorithm. McDowell [McD89] and Helmbold and McDowell [HM91] also enumerated possible concurrency states in the presence of event variable synchronization and locking. They reduced the number of states either by exploiting similarity between tasks to generate fewer states or by folding multiple states into a single state. ....

C.E. McDowell. A Practical Algorithm for Static Analysis of Parallel Programs. Journal of Parallel and Distributed Computing, 6:515--536, June 1989.


Automated Analysis of Concurrent Systems with the.. - Avrunin, Buy.. (1991)   (45 citations)  (Correct)

....the constrained expression toolset. Karam and Buhr begin with a logical specification, rather than standard source code, and so do not report times for tools corresponding to our deriver. In some cases, the size of the reachability graph that must be generated can be sharply reduced. McDowell [24], for example, has described a method for collapsing parts of the reachability graph when the system includes a large number of identical tasks. This is the case in which we have experimented with setting a variable to n, rather than one, as discussed in Section 4.5. Valmari [25] has described a ....

C. E. McDowell, "A practical algorithm for static analysis of parallel programs, " Journal of Parallel and Distributed Processing, vol. 6, pp. 515--536, June 1989.


Evaluating Deadlock Detection Methods for Concurrent Software - Corbett (1996)   (80 citations)  (Correct)

....that must be explored to verify a property. They range from virtual coarsening techniques [29,40] which coalesce internal actions into adjacent external actions, to partial order techniques [20, 42] which alleviate the effects of representing concurrency with interleaving, to symmetry techniques [31,37] which take advantage of symmetries in the state space. Symbolic model checking [4, 32] uses a symbolic representation of a system s states, which is sometimes much more compact than an explicit enumeration. These techniques have proven especially successful in verifying hardware. Compositional ....

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Processing, 6(3):515--536, June 1989.


Optimal Code Motion for Parallel Programs (Extended Abstract) - Knoop, Steffen, Vollmer (1995)   (Correct)

....naive adaptation fails [MP] and the straightforward correct adaptation needs an unacceptable effort which is caused by considering all interleavings that manifest the possible executions of a parallel program. Thus, either heuristics are proposed to avoid the consideration of all the interleavings [McD], or restricted situations are considered, which do not require to consider the interleavings at all [GS] 1 Completely different is the approach of abstract interpretation based state space reduction proposed in [CH1, CH2] This, however, requires the construction of an appropriately reduced ....

McDowell, C. E. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing 6 , 3 (1989), 513 - 536.


Static Detection Of Deadlocks In Polynomial Time - Masticola (1993)   (23 citations)  (Correct)

.... : 346 Concurrency state enumeration: Taylor [Tay83b] 346 Concurrency analysis and symbolic execution: Young and Taylor [YT88] 347 Control edges as task interaction: Long and Clarke [LC89] 349 Task clans: McDowell [McD89] 350 Deadlock cycle pruning in resource graphs: Saxena [Sax77] 352 Iterative refinement: Bristow et al. BDER79] 353 Linear algebraic methods: Zhou, Yeh, and Ng [ZYN86] 354 10.3.2. Petri net methods. ....

....may or may not be present. Our sync graph representations fall into this category. Concise overview. Taylor [Tay83b] details a state enumeration approach on a control flow graph of the program; variations on Taylor s work include Young and Taylor [YT88] Long and Clarke [LC89] and McDowell [McD89] In an early work similar to our own, Saxena [Sax77] finds deadlock cycles in a graph of tasks and resource requests, and prunes spurious cycles using constraints. Although deadlock detection is not their primary goal, Bristow et al. BDER79] give a method of detecting some, but not all, ....

[Article contains additional citation context not shown here]

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, 6(3):515--536, June 1989.


Static Analysis of Barrier Synchronization in Explicitly.. - Tor Jeremiassen (1994)   (5 citations)  (Correct)

....Taylor [21] presents an algorithm that analyzes rendezvous in concurrent Ada programs and is exponential in the number of tasks in the program. The algorithm computes the set of possible concurrency states for a program and determines the possible sequences in which they may occur. McDowell [17], and Helmbold and McDowell [12] also enumerate possible concurrency states, but present techniques to reduce the number of states. The worst case number of states remains superpolynomial, however. Callahan, Kennedy and Subhlok [5] uses a synchronized control flow graph to determine when possible ....

C.E. McDowell. A Practical Algorithm for Static Analysis of Parallel Programs. Journal of Parallel and Distributed Computing, 6:515--536, June 1989.


Tools and Algorithms for the Construction and Analysis of.. - Engberg, Larsen, (Eds.) (1995)   (Correct)

....adaptation fails [MP] and the straightforward correct adaptation needs an unacceptable effort, which is caused by considering all interleavings that manifest the possible executions of a parallel program. Thus, either heuristics are proposed to avoid the consideration of all the interleavings [McD] or restricted situations are considered, which do not require to consider the interleavings at all. e.g. in [GS] data independence of parallel components is required. Thus the result of a parallel execution does not depend on the particular choice of the interleaving, which is exploited for ....

McDowell, C. E. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing 6 , 3 (1989), 513 - 536.


Applying Program Visualization Techniques to Aid.. - Appelbe, Stasko, Kraemer (1991)   (5 citations)  (Correct)

....state transitions in the program s state transition graph, of reachable states, will occur. Considerable research has been devoted to the problem of statically analyzing a parallel program to determine all reachable states (e.g. by analyzing the program flowgraph and synchronization operations) McD89] A simpler and more tractable problem is, given a time stamped log of display and task events, animate the display events in an order feasible with the task synchronization events. One possibility is to have the animation component perform state transition analysis. We believe that placing this ....

Charles E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distribted Computing, July 1989.


A Unified Approach To Concurrent Debugging - Hyder (1994)   (1 citation)  (Correct)

....[Net93] They make cyclical debugging possible, but often ignore individual parts of a cycle. Static analysis extracts more information from P when probe effect [Sto88] a principle similar to Hiesenberg s uncertainty principle, limits further instrumentation [Tay83] TaO80] BBC88] CaS89] [McD89]. They analyze P and are limited to the P M part of the debugging cycle. 2.2 Problems in Various Parts of the Cycle Fig. 2 2 shows the problems and ambiguities often encountered during the mapping between different representations in various parts of the debugging cycle. Static Probe Effect ....

....so on. Its equivalent in distributed systems is the send( of a message. From a text containing blocking synchronization, signal synchronization and non synchronization statements, static analysis techniques routinely extract a synchronization control flow graph [Tay83] TO80] BBC88] CaS89] [McD89], MiC89] The graph typically contains three types of nodes and two types of arcs. Nodes represent blocking synchronization, signal synchronization, and control decision statements. While arcs represent interprocess synchronization dependences and intra process control flow dependences. Figure ....

Charles E. McDowell, "A Practical Algorithm for Static Analysis of Parallel Programs," Journal of Parallel and Distributed Computing, 6, pp. 515--536, 1989.


Computing Reachable States of Parallel Programs - David Helmbold Charles (1991)   (6 citations)  Self-citation (Mcdowell)   (Correct)

....programs is being built. keywords: parallel processing, debugging, static program analysis 1. Introduction 1 1 Introduction The need to identify access races in parallel programs is a well recognized problem. Current approaches to solving this difficult problem include compile time analysis [CKS90, McD89, YT88], run time detection [HL85, DS90] and post mortem trace analysis [HMW90, EP88, EGP89, NM89] No single approach has yet been developed that is clearly superior under all conditions. Furthermore, it is our belief that a program development system will include aspects of all three applying them in ....

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, June, 1989.


A Taxonomy of Race Detection Algorithms. - Helmbold, McDowell (1994)   (4 citations)  Self-citation (Mcdowell)   (Correct)

.... no clear [CKS90] Nonmono tonic ffl post wait clear is NP hard (Thm: 1 or [CS88] ffl semaphores are NP hard fork join [MC91, DS90, NR88] post wait no clear [CKS90] Unrestricted any Undecidable (Thm: 3) fork join [MC91, DS90, NR88] ordered critical sections [Ste93] semaphores [McD89], message passing [DKF93] rendezvous [Tay83, LC89] Table 2.1: What ordering relationships hold between statement (instances) Monotonic synchronization operations include nested fork join (e.g. nested parallel loops) ordered critical sections (i.e. properly paired and nested lock unlock ....

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, June 1989.


Analyzing Traces with Anonymous Synchronization - David Helmbold (1990)   (23 citations)  Self-citation (Mcdowell)   (Correct)

.... that races include both accesses that may occur at the same time and accesses that must occur sequentially but the order is unspecified (e.g. accesses protected by a lock) One approach to determining potential races is based on computing all of the reachable concurrent states of the program [McD89, Tay84]. The major disadvantage of this approach is that the number of concurrent states may become prohibitively large. Another approach to determining potential races is based on analyzing a trace from an execution of the program [EP88, EGP89, NM89] This approach has the disadvantage that a trace must ....

....referenced between any two synchronization events. This can be done by additionally associating with each event the source line number of the statement generating the event. From this the path between two adjacent events can be determined and the variables referenced along the path can be computed [McD89]. Many other kinds of synchronization operations can be simulated by using counting semaphores. Consider, for example, the event init task t which creates a new task t and the event await task t which blocks the running task until task t has terminated. Given a trace containing these events, ....

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, June, 1989.


Detecting Data Races by Analyzing Sequential Traces - Helmbold, McDowell, Wang (1990)   (3 citations)  Self-citation (Mcdowell)   (Correct)

.... races include both accesses that may occur at the same time and accesses that must occur sequentially but where the order is unspecified (e.g. accesses protected by a lock) One approach to determining potential races is based on computing all of the reachable concurrency states of the program [McD89, Tay84]. The major disadvantage of this approach is that the number of concurrency states may become prohibitively large. Another approach to determining potential races is based on analyzing a trace from an execution of the program [EP88, MC88, EGP89, NM89, HMW90, HMW91] One advantage of trace analysis ....

....whenever an object is accessed. Alternatively, each synchronization event could include the source line number of the statement generating the event. From the source line numbers the path between two adjacent events can be determined and the variables referenced along the path can be computed [McD89]. A trace (also called an event history) is a linear list or total ordering of the events performed during an execution of the program. For our purposes, the trace reflects 2 2. Description of the Model only one of the orders in which the events could have occurred. A more restrictive definition ....

[Article contains additional citation context not shown here]

C. E. McDowell. A practical algorithm for static analysis of parallel programs. Journal of Parallel and Distributed Computing, June, 1989.

First 50 documents

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