Slicing Concurrent Logic Programs
نویسندگان
چکیده
Program slicing has been widely studied for imperative programs, but for logic programs it is just starting. In this paper we address the problem of slicing concurrent logic programs. To solve this problem, we propose three types of primary program dependences between arguments in concurrent logic programs, named the sharing dependence, communication dependence and uni cation dependence. We also present a new program representation named the argument dependence net (ADN) for concurrent logic programs to explicitly represent three types of primary program dependences in the programs. Based on the ADN, we formally de ne various notions about slicing concurrent logic programs and show that our slicing algorithm can produce static slices for concurrent logic programs at argument level.
منابع مشابه
Computing Executable Slices for Concurrent Logic Programs
Program Slicing has many applications in software engineering activities. However, until recently, no slicing algorithm has been presented that can compute executable slices for concurrent logic programs. In this paper we present a dependence-graph based approach to computing executable slice for concurrent logic programs. The dependence-based representation used in this paper is called the Arg...
متن کاملProgram dependence analysis of concurrent logic programs and its applications
In this paper a formal model for program dependence analysis of concurrent logic programs is proposed with the following contributions. First, two languageindependent program representations are presented for explicitly representing control ows and/or data ows in a concurrent logic program. Then based on these representations, program dependences between literals in concurrent logic programs ar...
متن کاملDynamic Slicing of Concurrent Programs : Where are We and Where is the Right Way ? ( Extended
Program slicing has been developed as a standard technique used in various software engineering activit ies including program understanding, testing, debugging, maintenance, and complexity measurement. Although both static and dynamic slicing of sequential programs have been applied to software engineering practices, there still are some challenges, problems and issues in slicing concurrent pro...
متن کاملSlicing Concurrent Java Programs
Although many slicing algorithms have been proposed for object-oriented programs, no slicing algorithm has been proposed which can be used to handle the problem of slicing concurrent Java programs correctly. In this paper, we propose a slicing algorithm for concurrent Java programs. To slice concurrent Java programs, we present a dependence-based representation called multithreaded dependence g...
متن کاملSlicing Concurrent Programs - A Graph-Theoretical Approach
This paper extends the notion of slicing, which was originally proposed and studied for sequential programs, to concurrent programs and presents a graph-theoretical approach to slicing concurrent programs. In addition to the usual control and data dependences proposed and studied for sequential programs, the paper introduces three new types of primary program dependences in concurrent programs,...
متن کامل