1996
DOI: 10.1002/(sici)1096-908x(199605)8:3<145::aid-smr127>3.0.co;2-9
|View full text |Cite
|
Sign up to set email alerts
|

A Specification Driven Slicing Process for Identifying Reusable Functions

Abstract: SUMMARYWe present a new program slicing process for identifying and extracting code fragments implementing functional abstractions. The process is driven by the specification of the function to be isolated, given in terms of a precondition and a postcondition. Symbolic execution techniques are used to abstract the preconditions for the execution of program statements and predicates. The recovered conditions are then compared with the precondition and the postcondition of the functional abstraction. The stateme… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
24
0

Year Published

1998
1998
2011
2011

Publication Types

Select...
7
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 52 publications
(24 citation statements)
references
References 45 publications
0
24
0
Order By: Relevance
“…The simplification offered by program slicing has led to its application in a number of software engineering tasks, for example, debugging [2,73,95,124], restructuring [30], reuse [10,34,89] and program comprehension [36]. One drawback common to all slicing techniques is the low level at which a slicing criterion is specified.…”
Section: Aims and Objectives Of This Thesismentioning
confidence: 99%
“…The simplification offered by program slicing has led to its application in a number of software engineering tasks, for example, debugging [2,73,95,124], restructuring [30], reuse [10,34,89] and program comprehension [36]. One drawback common to all slicing techniques is the low level at which a slicing criterion is specified.…”
Section: Aims and Objectives Of This Thesismentioning
confidence: 99%
“…Through control and data dependency analysis, it is easy to verify that node 8 is the validation node of node 4, and node 10 is the validation node of node 5. In addition, (2,8) is the validation chain at node 8, and (2,8,10) is the validation chain at node 10.…”
Section: Analysis Modelmentioning
confidence: 99%
“…From Property 2, we infer that the validation chain (2,8) at node 8 implements a decision to such that if a user is logged in but the product ID is not available in the database, then the input is rejected. The validation chain (2,8,10) at node 10 implements a decision such that if the user is logged in, product ID is valid, and product count is greater than 0, then the input is accepted and processed accordingly; otherwise, it is rejected. An investigation of the AddtoCart program shows that there are two decisions in the program to accept or reject input read at node 4 and 5.…”
Section: Empirical Propertiesmentioning
confidence: 99%
“…The field of program slicing is concerned with computing a quotient of a program which preserves part of the behaviour of the original program. Program slicing is used in program comprehension [2,3], software maintenance [4,5,6,7], and debugging [8,9,10,11].…”
Section: Introductionmentioning
confidence: 99%