Flow insensitive C++ pointers and polymorphism analysis and its application to slicing
ICSE '97 Proceedings of the 19th international conference on Software engineering
Slicing Software for Model Construction
Higher-Order and Symbolic Computation
Equivalence of conservative, free, linear program schemas is decidable
Theoretical Computer Science
A Tool to Reengineer Legacy Systems to Object-Oriented Systems
ER '99 Proceedings of the Workshops on Evolution and Change in Data Management, Reverse Engineering in Information Systems, and the World Wide Web and Conceptual Modeling
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
CONSIT: a fully automated conditioned program slicer
Software—Practice & Experience
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Web Application Slicing in Presence of Dynamic Code Generation
Automated Software Engineering
ConSUS: a light-weight program conditioner
Journal of Systems and Software - Special issue: Software reverse engineering
A formalisation of the relationship between forms of program slicing
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Theoretical foundations of dynamic program slicing
Theoretical Computer Science
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
Equivalence of linear, free, liberal, structured program schemas is decidable in polynomial time
Theoretical Computer Science
Empirical study of optimization techniques for massive slicing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dependence clusters in source code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Identifying services from legacy batch applications
Proceedings of the 5th India Software Engineering Conference
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Hi-index | 0.00 |
We present the results of a case study in identifying and isolating reusable functions from C programs. The work exploits and specializes to programs written in C the theoretical framework of specification driven program slicing, a new program slicing process for isolating code fragments implementing functional abstractions. The specification of the function to be isolated, given in terms of a precondition and a postcondition, is used to identify a suitable slicing criterion. The preconditions for the execution of program statements and predicates are abstracted by using symbolic execution and compared with the conditions of the specification. The statements whose preconditions are equivalent to the pre and postconditions of the functional abstraction are candidates for entry and exit points of the slice implementing the abstraction. Once the slicing criterion has been identified, the slice can be isolated using algorithms based on control flow graphs and dependence graphs.