Slicing is useful for many software engineering applications and has been widely studied for three decades, but there has been comparatively little work on slicing extended finite state machines (EFSMs). This paper introduces a set of dependence-based EFSM slicing algorithms and an accompanying tool. We demonstrate that our algorithms are suitable for dependence-based slicing. We use our tool to conduct experiments on 10 EFSMs, including benchmarks and industrial EFSMs. Ours is the first empirical study of dependence-based program slicing for EFSMs. Compared to the only previously published dependence-based algorithm, our average slice is smaller 40 percent of the time and larger only 10 percent of the time, with an average slice size of 35...
Program slicing is the task of finding all statements in a program that directly or indirectly influ...
Program slicing is a commonly used approach for understanding and detecting the impact of changes to...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Abstract—Slicing is useful for many Software Engineering applications and has been widely studied fo...
We consider slicing extended finite state machines. Extended finite state machines (EFSMs) combine a...
Dependence analysis underpins many activities in software maintenance such as comprehension and impa...
Master of ScienceDepartment of Computing and Information SciencesTorben AmtoftAn EFSM (Extended Fini...
Though there has been nearly three decades of work on program slicing, there has been comparatively ...
Though there has been nearly three decades of work on program slicing, there has been comparatively ...
We consider slicing of extended finite state machines. These may be non- deterministic and hence sta...
Traditional, syntax-preserving program slicing simplifies a program by deleting components (e.g., st...
In an earlier work, we have introduced slicing for Abstract State Machines (ASMs). The idea of this...
An amorphous slice of a program is constructed with respect to a set of variables. The amorphous sli...
Program slicing is a fundamental operation for many software engineering tools. Currently, the most ...
Slicing is a technique, traditionally applied to programs, for extracting the parts of a program tha...
Program slicing is the task of finding all statements in a program that directly or indirectly influ...
Program slicing is a commonly used approach for understanding and detecting the impact of changes to...
Program slicing is a well known family of techniques used to identify code fragments which depend on...
Abstract—Slicing is useful for many Software Engineering applications and has been widely studied fo...
We consider slicing extended finite state machines. Extended finite state machines (EFSMs) combine a...
Dependence analysis underpins many activities in software maintenance such as comprehension and impa...
Master of ScienceDepartment of Computing and Information SciencesTorben AmtoftAn EFSM (Extended Fini...
Though there has been nearly three decades of work on program slicing, there has been comparatively ...
Though there has been nearly three decades of work on program slicing, there has been comparatively ...
We consider slicing of extended finite state machines. These may be non- deterministic and hence sta...
Traditional, syntax-preserving program slicing simplifies a program by deleting components (e.g., st...
In an earlier work, we have introduced slicing for Abstract State Machines (ASMs). The idea of this...
An amorphous slice of a program is constructed with respect to a set of variables. The amorphous sli...
Program slicing is a fundamental operation for many software engineering tools. Currently, the most ...
Slicing is a technique, traditionally applied to programs, for extracting the parts of a program tha...
Program slicing is the task of finding all statements in a program that directly or indirectly influ...
Program slicing is a commonly used approach for understanding and detecting the impact of changes to...
Program slicing is a well known family of techniques used to identify code fragments which depend on...