Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
PARIS: a system for reusing partially interpreted schemas
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Information Processing Letters
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
ICSE '89 Proceedings of the 11th international conference on Software engineering
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Abstract debugging of higher-order imperative languages
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Storing and Retrieving Software Components: A Refinement Based System
IEEE Transactions on Software Engineering
An integrated environment for reuse reengineering C code
Journal of Systems and Software - Special issue on software engineering and knowledge engineering
Automated test-data generation for exception conditions
Software—Practice & Experience
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
Modeling Reactive Systems with Statecharts: The Statemate Approach
Modeling Reactive Systems with Statecharts: The Statemate Approach
A survey of software reuse libraries
Annals of Software Engineering
Model Checking Large Software Specifications
IEEE Transactions on Software Engineering
Software Salvaging Based on Conditions
ICSM '94 Proceedings of the International Conference on Software Maintenance
Intraprocedural Static Slicing of Binary Executables
ICSM '97 Proceedings of the International Conference on Software Maintenance
Validity Checking for Combinations of Theories with Equality
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
Program Slicing Using Weakest Preconditions
FME '96 Proceedings of the Third International Symposium of Formal Methods Europe on Industrial Benefit and Advances in Formal Methods
Classification and retrieval of reusable components using semantic features
KBSE '95 Proceedings of The 10th Knowledge-Based Software Engineering Conference
Understanding Function Behaviors through Program Slicing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
WPC '97 Proceedings of the 5th International Workshop on Program Comprehension (WPC '97)
Analysis of Dynamic Memory Access using Amorphous Slicing
ICSM '98 Proceedings of the International Conference on Software Maintenance
ConSIT: A Conditioned Program Slicer
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Decomposing Legacy Programs: A First Step Towards Migrating to Client-Server Platforms
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Program Simplification as a Means of Approximating Undecidable Propositions
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Research: Protocol validation by simultaneous reachability analysis
Computer Communications
Equivalence of conservative, free, linear program schemas is decidable
Theoretical Computer Science
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
CONSIT: a fully automated conditioned program slicer
Software—Practice & Experience
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Cost and precision tradeoffs of dynamic data slicing algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
ConSUS: a light-weight program conditioner
Journal of Systems and Software - Special issue: Software reverse engineering
Optimizing slicing of formal specifications by deductive verification
Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
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)
3D visualization techniques to support slicing-based program comprehension
Computers and Graphics
Slicing for architectural analysis
Science of Computer Programming
GamaSlicer: an online laboratory for program verification and analysis
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
On the computational complexity of dynamic slicing problems for program schemas
Mathematical Structures in Computer Science - Programming Language Interference and Dependence
A vocabulary of program slicing-based techniques
ACM Computing Surveys (CSUR)
Metamorphic slice: An application in spectrum-based fault localization
Information and Software Technology
State-based model slicing: A survey
ACM Computing Surveys (CSUR)
Hi-index | 0.02 |
This paper shows how analysis of programs in terms of pre- and post- conditions can be improved using a generalisation of conditioned program slicing called pre/post conditioned slicing. Such conditions play an important role in program comprehension, reuse, verification and re-engineering.Fully automated analysis is impossible because of the inherent undecidability of pre- and post- conditions. The method presented here reformulates the problem to circumvent this. The reformulation is constructed so that programs which respect the pre- and post-conditions applied to them have empty slices. For those which do not respect the conditions, the slice contains statements which could potentially break the conditions. This separates the automatable part of the analysis from the human analysis.