We present techniques that enable higher-order functional compu-tations to “explain ” their work by answering questions about how parts of their output were calculated. As explanations, we con-sider the traditional notion of program slices, which we show can be inadequate, and propose a new notion: trace slices. We present techniques for specifying flexible and rich slicing criteria based on partial expressions, parts of which have been replaced by holes. We characterise program slices in an algorithm-independent fash-ion and show that a least slice for a given criterion exists. We then present an algorithm, called unevaluation, for computing least pro-gram slices from computations reified as traces. Observing a limi-tation of program slice...
In this paper, we present a new slicing technique named abstract program slicing that allows a decom...
Program slicing is a technique to extract the part of a program (the slice) that influences or is in...
. Program slicing is a technique by which statements are deleted from a program in such a way as to ...
We present techniques that enable higher-order functional computations to “explain” their work by an...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Program slicing provides explanations that illustrate how program outputs were produced from inputs....
We present conditioned slicing as a general slicing framework for program comprehension. A condition...
Program slicing is a well known family of techniques intended to identify and isolate code fragments...
Although Weiser originally defined a program slice to be an executable projection of a program, much...
Program slicing is a well known family of techniques intended to identify and isolate code fragments...
Program slicing is a useful analysis for aiding different software engineering activities. In the ...
Program slicing is the task of finding all statements in a program that directly or indirectly influ...
Our goal is to develop a new and highly flexible approach to program optimization. Instead of apply...
In this paper, we present a new slicing technique named abstract program slicing that allows a decom...
Program slicing is a technique to extract the part of a program (the slice) that influences or is in...
. Program slicing is a technique by which statements are deleted from a program in such a way as to ...
We present techniques that enable higher-order functional computations to “explain” their work by an...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Program slicing provides explanations that illustrate how program outputs were produced from inputs....
We present conditioned slicing as a general slicing framework for program comprehension. A condition...
Program slicing is a well known family of techniques intended to identify and isolate code fragments...
Although Weiser originally defined a program slice to be an executable projection of a program, much...
Program slicing is a well known family of techniques intended to identify and isolate code fragments...
Program slicing is a useful analysis for aiding different software engineering activities. In the ...
Program slicing is the task of finding all statements in a program that directly or indirectly influ...
Our goal is to develop a new and highly flexible approach to program optimization. Instead of apply...
In this paper, we present a new slicing technique named abstract program slicing that allows a decom...
Program slicing is a technique to extract the part of a program (the slice) that influences or is in...
. Program slicing is a technique by which statements are deleted from a program in such a way as to ...