Download:
|
by Jianjun Zhao, Jianjun Zhao, Jingde Cheng, Jingde Cheng, Kazuo Ushijima, Kazuo Ushijima
In Proc. Workshop on Parallel Logic Programming, held with FGCS’94, ICOT
http://www.fit.ac.jp/~zhao/pub/ps/fgcs94.ps.gz
Add To MetaCart
Abstract:
Program dependences are dependence relationships holding between statements in a program which can be used to infer about the behavior of the program. In this paper we propose a general framework for dependence analysis for concurrent logic programs, in particular for Flat Concurrent Prolog programs. The first contribution of this paper is to present two language-independent program representations for explicitly representing control flows and/or data flows in a concurrent logic program. Based on these representations, program dependence analysis for concurrent logic programs becomes possible. The second contribution is to present a dependence-based representation named the Literal Dependence Net (LDN) for explicitly representing primary program dependences in a concurrent logic program. Moreover, we discuss some possible applications based on the LDN, which include program debugging, testing, complexity measurement, and maintenance in a concurrent logic programming environment. 1
Citations
|
908
|
Program slicing
– Weiser
- 1984
|
|
672
|
The program dependence graph and its use in optimization
– Ferrante, Ottenstein, et al.
- 1987
|
|
418
|
Algorithmic Program Debugging
– Shapiro
- 1983
|
|
264
|
The family of concurrent logic programming languages
– Shapiro
- 1989
|
|
234
|
The Program Dependence Graph in a Software Development
– Ottenstein, Ottenstein
|
|
219
|
Programmers Use Slices When Debugging
– Weiser
- 1982
|
|
97
|
Static inference of modes and data dependencies in logic programs
– Debray
- 1989
|
|
96
|
Program slicing
– Binkley, Gallagher
- 1996
|
|
74
|
Debugging with dynamic slicing and backtracking
– Agrawal, DeMillo, et al.
- 1993
|
|
74
|
The use of program dependence graphs in software engineering
– Horwitz, Reps
- 1992
|
|
57
|
Interprocedural dynamic slicing with applications to debugging and testing
– Kamkar
- 1993
|
|
41
|
On the Practicality of Global Flow Analysis of Logic Programs
– Warren, Hermenegildo, et al.
- 1988
|
|
37
|
Slicing Concurrent Programs -- A GraphTheoretical Approach
– Cheng
- 1993
|
|
33
|
AND-Parallelism of Logic Programs Based on A Static Data Dependency Analysis
– Chang, Despain, et al.
- 1985
|
|
23
|
Schedule Analysis of Concurrent Logic Programs
– King, Soper
- 1992
|
|
19
|
The program dependence graph in static program testing
– Korel
- 1987
|
|
14
|
A Formal Model of Program Dependences and
– Podgurski, Clarke
- 1990
|
|
13
|
Process Dependence Net of Distributed Programs and Its Applications in Development of Distributed Systems
– Cheng
- 1993
|
|
12
|
Bug localization by algorithmic debugging and program slicing
– Kamkar, Shahmehri, et al.
- 1990
|
|
9
|
PELAS - Program Error-Locating Assistant System
– Korel
- 1988
|
|
8
|
Complexity Metrics for Distributed Programs
– Cheng
- 1993
|
|
7
|
Software Complexity: Measures and Methods". Walter de Gruyer
– Zuse
- 1991
|
|
6
|
Automatic Parallelization of Prolog Programs
– Sehr
- 1992
|
|
3
|
Wolfe "Dependence Graphs and Compiler Optimizations
– Kuck, Kuhn, et al.
- 1981
|
|
2
|
Noye "Logic Programming Environments: Dynamic Program Analysis and Debugging
– Ducasse, J
- 1994
|
|
1
|
Using Program Dependence Graphs for Information Flow Control
– Hsieh, Unger, et al.
- 1992
|
|
1
|
Concurrent Prolog: Collected Papers," Vols
– Shapiro
- 1987
|