| John H. Reif and Scott A. Smolka. Data flow analysis of distributed communicating processes. Intl. J. of Parallel Programming, 19(1):1--30, 1990. |
....on static analysis for concurrent programs is relatively new. Peng and Purushothaman presented a dataflow analysis to detect deadlock for communicating automata [12] Reif and Smolka describe analyses for a language of communicating processes with both fixed and dynamic communication topologies [13]. Their methods are extensions of conventional dataflow analysis techniques for sequential languages. Mercouroff used abstract interpretation to determine which processes may communicate in a CSP like language [7] More recently, Jagannathan and Weeks have used abstract interpretation to analyze a ....
John H. Reif and Scott A. Smolka. Data flow analysis of distributed communicating processes. Intl. J. of Parallel Programming, 19(1):1--30, 1990.
.... [1] While this technique has exponential bounds on its running time, it has been successfully applied to a number of programs [6] While the bulk of data flow analysis research has been aimed at optimization, recent work has applied data flow analysis to the verification of distributed software [17,11]. Data flow analysis is promising in that it usually has a low order polynomial bound on the computation time. Most of the work in this area has been directed at the analysis of restricted classes of behaviors, such as deadlock. Olender and Osterweil demonstrated how data flow analysis could be ....
J. H. Reif and S. A. Smolka, "Data Flow Analysis of Distributed Communicating Processes", International Journal of Parallel Programming, Vol. 19, n. 1, 1990.
....signal transition level. Data dependent control flows can complicate seriality detection. The tool proposed in this paper does not take data dependent control flow into account, and therefore produces pessimistic results. conCur can be extended to incorporate dataflow analysis along the lines of [RS90] ....
John H. Reif and Scott A. Smolka. Dataflow Analysis of Distributed Communicating Processes. International Journal of Parallel Programming, 19(1):1--30, February 1990.
....and it is not clear how easily these ideas can adapt to a more rich programming language. Some of the algorithms assume the existence of a predicate that is able to decide whether two statements can be executed in parallel. This problem is now known to be NP hard [74] Reif and Smolka [65] present a data flow analysis for concurrent programs that use asynchronous communication. They consider programs with static and dynamic communication. Unlike much of the flow analysis work they formulate a number of traditional data flow computations as lattice frameworks. They describe a ....
....computes the set of unreachable program statements. The class of execution behaviors that can be reasoned about using such an analysis is unclear. Concurrent programs are represented as flow graphs with implicit communication. Cheung and Kramer adapt a data flow algorithm from Reif and Smolka [65] to handle synchronous communication. This basic algorithm is refined by information gained by computing the depend relation and history sets. A node x depends on another node y, written xDy, if all program paths leading to node x pass through node y. This should not be confused with Callahans B4 ....
Reif, J.H. and Smolka, S.A. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1), 1990.
....of methods known from the domain of compiler optimisation and parallel compilation as they are for example described in [11] and [3] Work presented in [30] analyses data flows in networks of Communicating Finite State Machines for the purpose of the detection of so called non progress properties. [31] suggest a method for the analysis of data flows in distributed communicating processes in order to enable the detection of unreachable program statements and the compile time determination of values of program expressions. Closely related work is included in [19] which analyzes the data and ....
J. H. Reif and S. A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1--31, February 1990.
....if two given actions are going to be serial or potentially concurrent. The tool proposed in this chapter does not take data dependent control flow into account. Thus, the results obtained through conCur are conservative. conCur can be extended to incorporate dataflow analysis along the lines of [49]. 5 SHILPA 5.1 Introduction In this chapter the details of the compilation of self timed circuits from hopCP specifications are discussed. SHILPA is analogous to synchronous high level synthesis tools such as [29, 12, 36] The compilation strategy adopted in SHILPA is graph based. The ....
Reif, J. H., and Smolka, S. A. Dataflow Analysis of Distributed Communicating Processes. International Journal of Parallel Programming 19, 1 (Feb. 1990), 1--30.
.... often yield smaller state space representations but are still exponential in the worst case [McM93] While the bulk of flow analysis research has been aimed at sequential software, interesting recent work has applied flow analysis to the evaluation of concurrent software [CKS90, DS91, GS93, Mas93, RS90] Most of this work has been directed at the analysis of a restricted class of behaviors, such as deadlock, and does not require representations of interleavings among the actions in separate tasks. These analyses use flow graph models that are, essentially, a collection of task CFGs with ....
....CFGs with additional edges, or labels, to represent inter task synchronization and communication. These include analyses to detect the potential for statements to execute concurrently [CKS90, DS91, MR93, Mer92, NA98, NAC99b] data races [TO80, NM90] reaching definitions [GS93] and dead code [RS90, CK93] Knoop et al. KSV96] have shown that for a class of rapid bit vector problems, a flow graph without explicit interleavings is conservative. For more general analysis, however, interleavings need to either be modeled in the graph or incorporated into the analysis algorithm. Interleavings ....
J.H. Reif and S.A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1), 1990.
....an abstract interpretation of a CSPstyle language. He assumes no shared variables (and thus no global effect changes) and no higher order procedures or processes. There has also been work in data flow analysis and deadlock detection for concurrent systems that communicate via message passing [27]. Such systems do not consider operations on shared variables, nor are they applicable to programs with higher order procedures that may initiate such operations. The formal underpinnings of our interpretation technique are similar to those underlying formal optimization frameworks devised for ....
John Reif and Scott Smolka. Data Flow Analysis of Distributed Communicating Processes. International Journal of Parallel Programming, 19(1):1--30, 1990.
....(e.g. 6,8] symbolic model checking (e.g. 12] and integer necessary conditions [3] data flow analyses for concurrent software have been formulated with low order polynomial execution time and storage bounds. Most of these data flow approaches check application independent properties (e.g. [1, 11, 18]) task body T1 is begin p1; T2.E; end T1; task body T2 is begin p2; accept E; p3; end T2; Figure 1: Ada code example such as deadlock. FLAVERS is one of the few data flow techniques capable of directly checking applicationspecific properties of concurrent software. This approach attempts to ....
J. H. Reif and S. A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1--30, Feb. 1990.
....essentially disallows any interaction through shared variables among concurrent activities, for the purpose of simplifying the effort of compiler analysis. Data flow analysis for communicating processes where process interaction occurs only through message passing can be found in Reif and Smolka [RS90] and Cousot and Cousot [CC80] 9 Conclusion As multiprocessor systems become popular and easily accessible, there are reasons for pursuing parallel programming. However, parallel programs are often hard to understand and debug. A compiler must consider every possible interaction among concurrent ....
John H. Reif and Scott A. Smolka. Data Flow Analysis of Distributed Communicating Processes. International Journal of Parallel Programming, 19(1):1--30, 1990.
....for deadlock [Tay83] His algorithm is limited to the case of a tree like communications graph, and is exponential. Sim] shows that the deadlock analysis problem is polynomial for loop processes using synchronous transparent primitives with a non cyclic communications graph. Reif and Smolka [RS90] consider communication message flow analysis for asynchronous communication. We have generalised their results for the transparent case in [LS92a] Cuny and Snyder [CS87] convert systems of asynchronously communicating processes into systems which communicate synchronously. They re interested in ....
J. Reif and S.A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1--31, Feb 1990.
.... polynomial execution time and storage bounds [MR90] Data flow based approaches for distributed systems have been used to verify both programindependent properties, such as deadlock freedom [MR91] detecting unreachable program statements and determining the values of program expressions [RS90] and concurrent def use faults (e.g. referencing an undefined variable or defining an unused variable) TO80] as well as program specific properties [DC94, HS96] As noted earlier, protocol entities must inevitably communicate through unreliable communication media, which can cause messages to ....
John H. Reif and Scott A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1), 1990.
....374 10.7. Static intertask data flow analysis. 375 Concise overview. 377 10.7.1. Classic iterative analysis: Long and Clarke [LC91] 377 10.7.2. Abstract interpretation: Reif and Smolka [RS90] 379 10.7.3. Data dependency graph construction: Moser [Mos90] 380 10.7.4. Task dependence nets: Cheng [Che92] 381 10.8. Dynamic deadlock detection. 381 Concise overview. ....
....typically represent the solution process as an algorithm, which does not aid such comparison. Concise overview. Long and Clarke ( LC91] Section 10.7.1) describe an iterative data flow framework for intertask analysis of classical data flow problems (e.g. reaching definitions. Reif and Smolka ( RS90] Section 10.7.2) give a more general framework for intertask data flow analysis, based on abstract interpretation. Moser ( Mos90] Section 10.7.3) gives techniques for finding data dependences statically within small regions of the program. Cheng ( Che92] Section 10.7.4) describes an extended ....
[Article contains additional citation context not shown here]
J. H. Reif and S. A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1--30, 1990.
....expensive to use with large software systems. As an alternative to reachability approaches, data flow analyses for concurrent software have been formulated with low order polynomial execution time and storage bounds. Most of these have been defined to check applicationindependent properties (e.g. [1, 8, 12]) FLAVERS is one of the few data flow techniques capable of directly supporting checking application specific properties of concurrent software. 3 FLAVERS for Ada In this section we give a brief general description of FLAVERS Ada and then, in the next section, describe how this approach can be ....
John H. Reif and Scott A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1--30, February 1990.
....space. Including information about certain program variable values in the set of inequalities has been proposed [Cor93] as one way to improve the accuracy of this technique. Another approach is to use data flow techniques for analysis of concurrent programs. Exploration of this approach [TO80, RS90, MR91, CK93, DC94] shows that polynomial time algorithms can be used in data flow analysis to prove a wide range of program properties. Methods proposed for improving accuracy include identifying program statements that can not execute concurrently [MR93] and including selected information ....
John H. Reif and Scott A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1-30, 1990.
.... s book [Mil89] on the Calculus of Communicating Systems (CCS) For the formal specification of the operational semantics of a CSP like language Plotkin s paper [Plo83] is a standard reference. Among the papers that describe static analysis algorithms for concurrent programs, Reif and Smolka s [RS90] dataflow analysis is particularly relevant. Even more relevant for our research is the work of Mercouroff [Mer91] that presents an abstract interpretation algorithm for statically computing send receive matches for a CSP like program. An Unfold Fold transformation strategy for CCS programs is ....
J. Reif and S. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1--30, 1990.
....simple algorithm (section 5.4) Details of the method can be found in [2, 3] 1.2 Dataflow Analysis Another alternative is to side step the state explosion problem in reachability analysis by relaxing the accuracy of the analysis. Approximate techniques using dataflow analysis have been proposed [4, 21, 27, 28, 33]. These techniques approximate a system behaviour using simple polynomial dataflow algorithms. Some unreachable actions that are never executed by the system can be readily identified. However, the approximate analysis may either underestimate or overestimate the set of errors that may occur in ....
....useful for acquiring a preliminary understanding of system behaviour. It eliminates the need to apply expensive exhaustive analysis to those systems for which anomalies have been identified by the dataflow analysis. Among different dataflow analysis algorithms, the one proposed by Reif and Smolka [27] offers the best tractability. The complexity of the algorithm is linear to the size of the system. However, the accuracy of the algorithm is generally inadequate for distributed systems where messages are removed from the channels after reception. In this paper, we present a dataflow algorithm ....
[Article contains additional citation context not shown here]
J. Reif and S. Smolka, "Data Flow Analysis of Distributed Communicating Processes," International Journal of Parallel Programming, vol. 19, no. 1, 1-30, 1990.
....is exponential. Sim] shows that the deadlock analysis problem is polynomial for synchronous transparent primitives with a non cyclic communications graph. Our demonstration of exponential blow up in construction of a message flow graph uses a linearly ordered communications graph. Reif and Smolka [RS90] consider communication message flow analysis for asynchronous communication. Some of our results in Chapter 9 improve on some of theirs. Cuny and Snyder [CS87] convert systems of processes using asynchronous communication into systems which communicate synchronously. Their interest is in ....
J. Reif and S.A. Smolka. Data flow analysis of distributed communicating processes. International Journal of Parallel Programming, 19(1):1--31, Feb 1990.
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