Information-flow and data-flow analysis of while-programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
RCS—a system for version control
Software—Practice & Experience
The C programming language
Experimentation in software engineering
IEEE Transactions on Software Engineering
On merging software extensions
Acta Informatica
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experiments on slicing-based debugging aids
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
The State of Software Maintenance
IEEE Transactions on Software Engineering
Information Processing Letters
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrating non-intering versions of programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The relationship between slices and module cohesion
ICSE '89 Proceedings of the 11th international conference on Software engineering
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of Systems and Software
Using program slicing in software maintenance
Using program slicing in software maintenance
Programmers use slices when debugging
Communications of the ACM
A practical interprocedural data flow analysis algorithm
Communications of the ACM
Flow diagrams, turing machines and languages with only two formation rules
Communications of the ACM
Semantics-Based Program Integration
ESOP '88 Proceedings of the 2nd European Symposium on Programming
ICSE '81 Proceedings of the 5th international conference on Software engineering
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Program slices: formal, psychological, and practical investigations of an automatic program abstraction method
Evaluating variations on program slicing for debugging (data-flow, ada)
Evaluating variations on program slicing for debugging (data-flow, ada)
An annotated bibliography on software maintenance
ACM SIGSOFT Software Engineering Notes
The Task Dependence Net in Ada software development
ACM SIGAda Ada Letters
Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Projecting functional models of imperative programs
ACM SIGPLAN Notices
An interactive debugging tool for C based on dynamic slicing and dicing
CSC '93 Proceedings of the 1993 ACM conference on Computer science
Precise executable interprocedural slices
ACM Letters on Programming Languages and Systems (LOPLAS)
Forging a silver bullet from the essence of software
IBM Systems Journal
On slicing programs with jump statements
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Forward computation of dynamic program slices
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
A new model of program dependences for reverse engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool
IEEE Transactions on Software Engineering - Special issue on software architecture
Precise interprocedural chopping
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Beyond traditional program slicing
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Computation of Dynamic Program Slices for Unstructured Programs
IEEE Transactions on Software Engineering
Reverse engineering and system renovation—an annotated bibliography
ACM SIGSOFT Software Engineering Notes
An overview of debugging tools
ACM SIGSOFT Software Engineering Notes
Assessing modular structure of legacy code based on mathematical concept analysis
ICSE '97 Proceedings of the 19th international conference on Software engineering
Flow insensitive C++ pointers and polymorphism analysis and its application to slicing
ICSE '97 Proceedings of the 19th international conference on Software engineering
Extracting Reusable Functions by Flow Graph-Based Program Slicing
IEEE Transactions on Software Engineering
Program and interface slicing for reverse engineering
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
Task dependence nets for concurrent systems with Ada 95 and its applications
Proceedings of the conference on TRI-Ada '97
Recovering software architecture from multiple source code analyses
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
An Extensible System for Source Code Analysis
IEEE Transactions on Software Engineering
Partial evaluation for program comprehension
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
A representation model for procedural program maintenance
Proceedings of the 1999 ACM symposium on Applied computing
An efficient relevant slicing method for debugging
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Complexity of Points-To Analysis of Java in the Presence of Exceptions
IEEE Transactions on Software Engineering
A schema for interprocedural modification side-effect analysis with pointer aliasing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Equivalence analysis and its application in improving the efficiency of program slicing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Improving program slicing with dynamic points-to data
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Feasible input domain partitioning in software testing: RCS case study
Annals of Software Engineering
Towards automated modification of legacy assets
Annals of Software Engineering
A Concept Formation Based Approach to Object Identification in Procedural Code
Automated Software Engineering
Problems and Prospects in Quantifying Software Maintainability
Empirical Software Engineering
Improving program slicing with dynamic points-to data
ACM SIGSOFT Software Engineering Notes
IEEE Software
Correct Program Slicing of Database Operations
IEEE Software
IEEE Transactions on Software Engineering
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Equivalence of conservative, free, linear program schemas is decidable
Theoretical Computer Science
Journal of Electronic Testing: Theory and Applications
Computational Divided Differencing and Divided-Difference Arithmetics
Higher-Order and Symbolic Computation
A Flexible Framework for Dynamic and Static Slicing of Logic Programs
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
Towards Building a Smarter Domain Knowledge Recovery Assistant1
COMPSAC '00 24th International Computer Software and Applications Conference
Ada Europe '01 Proceedings of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies
Program Slicing of Hardware Description Languages
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Towards an automatic diagnosis for high-level design validation
ITC '98 Proceedings of the 1998 IEEE International Test Conference
Change impact analysis to support architectural evolution
Journal of Software Maintenance: Research and Practice - Special issue: Separation of concerns for software evolution
A static measure of a subset of intra-procedural data flow testing coverage based on node coverage
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Extracting Code Fragment that Implements Functionality
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Slicing Methods Using Static and Dynamic Analysis Information
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Recovering abstract data types and object instances from a conventional procedural language
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Generating user interfaces from specifications produced by a reverse engineering process
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Recognizers for extracting architectural features from source code
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Impact Analysis of Maintenance Tasks for a Distributed Object-oriented System
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Program Execution-Based Module Cohesion Measurement
Proceedings of the 16th IEEE international conference on Automated software engineering
Slicing Functional Components from Data-Intensive Business Programs
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
Static Slicing of Concurrent Object-Oriented Programs
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
Non-Standard Semantics for Program Slicing
Higher-Order and Symbolic Computation
Journal of Systems and Software
Dimensions of reengineering environment infrastructures
Journal of Software Maintenance: Research and Practice
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
Guaranteed inconsistency avoidance during software evolution
Journal of Software Maintenance: Research and Practice
Slicing, Chopping, and Path Conditions with Barriers
Software Quality Control
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Modular Monadic Program Slicing
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
ACM SIGPLAN Notices
Chianti: a tool for change impact analysis of java programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automatic circuit extractor for HDL description using program slicing
Journal of Computer Science and Technology - Special issue on computer graphics and computer-aided design
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Web Application Slicing in Presence of Dynamic Code Generation
Automated Software Engineering
The Efficiency of Critical Slicing in Fault Localization
Software Quality Control
Automatic generation of suggestions for program investigation
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Program Slicing with Dynamic Points-To Sets
IEEE Transactions on Software Engineering
ConSUS: a light-weight program conditioner
Journal of Systems and Software - Special issue: Software reverse engineering
Adapting software components by structure fragmentation
Proceedings of the 2006 ACM symposium on Applied computing
Replaying development history to assess the effectiveness of change propagation tools
Empirical Software Engineering
ACM SIGPLAN Notices
An efficient interprocedural dynamic slicing method
Journal of Systems and Software
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
Generic program monitoring by trace analysis
Theory and Practice of Logic Programming
Interprocedural slicing of multithreaded programs with applications to Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
Distributed dynamic slicing of Java programs
Journal of Systems and Software
Reducing verification overhead with RTL slicing
Proceedings of the 17th ACM Great Lakes symposium on VLSI
Equivalence of linear, free, liberal, structured program schemas is decidable in polynomial time
Theoretical Computer Science
Source Code Analysis: A Road Map
FOSE '07 2007 Future of Software Engineering
Empirical study of optimization techniques for massive slicing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Slicing obfuscations: design, correctness, and evaluation
Proceedings of the 2007 ACM workshop on Digital Rights Management
Empirical-based recovery and maintenance of input error-correction features
Journal of Software Maintenance and Evolution: Research and Practice
Applying static analysis for automated extraction of database interactions in web applications
Information and Software Technology
Filtering out methods you wish you hadn't navigated
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Using computing-all-slices algorithm in measuring functional cohesion
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
An approach for the maintenance of input validation
Information and Software Technology
Detecting buffer overflow via automatic test input data generation
Computers and Operations Research
Heuristics-based infeasible path detection for dynamic test data generation
Information and Software Technology
An efficient algorithm for computing all program static slices
SEPADS'05 Proceedings of the 4th WSEAS International Conference on Software Engineering, Parallel & Distributed Systems
Customization change impact analysis for erp professionals via program slicing
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Locating dependence structures using search-based slicing
Information and Software Technology
Decomposition for Compositional Verification
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
Combining preprocessor slicing with C/C++ language slicing
Science of Computer Programming
A technique for retrospective computer validation of drug manufacturing software
International Journal of Computer Applications in Technology
The essence of the iterator pattern
Journal of Functional Programming
Regression test selection by exclusion using decomposition slicing
Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium
Dependence clusters in source code
ACM Transactions on Programming Languages and Systems (TOPLAS)
The dependence condition graph: Precise conditions for dependence between program points
Computer Languages, Systems and Structures
Slicing based code parallelization for minimizing inter-processor communication
CASES '09 Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems
FACT: fast communication trace collection for parallel applications through program slicing
Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis
Assessing the impact of global variables on program dependence and dependence clusters
Journal of Systems and Software
Slicing-based test case generation from UML activity diagrams
ACM SIGSOFT Software Engineering Notes
A trajectory-based strict semantics for program slicing
Theoretical Computer Science
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
An alternative characterization of weak order dependence
Information Processing Letters
Dependence condition graph for semantics-based abstract program slicing
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Model-based regression test case prioritization
ACM SIGSOFT Software Engineering Notes
Dependence cluster visualization
Proceedings of the 5th international symposium on Software visualization
A multimodeling framework for complex software reuse
ECBS'97 Proceedings of the 1997 international conference on Engineering of computer-based systems
Field-sensitive program dependence analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Verification of software via integration of design and implementation
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Abstract program slicing: from theory towards an implementation
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Using impact analysis in industry
Proceedings of the 33rd International Conference on Software Engineering
Identification of extract method refactoring opportunities for the decomposition of methods
Journal of Systems and Software
A taxonomy for software change impact analysis
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Transformation of centralized software components into distributed ones by code refactoring
DAIS'06 Proceedings of the 6th IFIP WG 6.1 international conference on Distributed Applications and Interoperable Systems
On the computational complexity of dynamic slicing problems for program schemas
Mathematical Structures in Computer Science - Programming Language Interference and Dependence
Applying reduction techniques to software functional requirement specifications
SAM'04 Proceedings of the 4th international SDL and MSC conference on System Analysis and Modeling
Fission for program comprehension
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
A vocabulary of program slicing-based techniques
ACM Computing Surveys (CSUR)
Client-side web application slicing
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Making abstract interpretation incomplete: modeling the potency of obfuscation
SAS'12 Proceedings of the 19th international conference on Static Analysis
Efficient Identification of Linchpin Vertices in Dependence Clusters
ACM Transactions on Programming Languages and Systems (TOPLAS)
State-based model slicing: A survey
ACM Computing Surveys (CSUR)
Coherent clusters in source code
Journal of Systems and Software
Topology analysis of software dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.01 |
Program slicing is applied to the software maintenance problem by extending the notion of a program slice (that originally required both a variable and line number) to a decomposition slice, one that captures all computation on a given variable, i.e., is independent of line numbers. Using the lattice of single variable decomposition slices ordered by set inclusion, it is shown how a slice-based decomposition for programs can be formed. One can then delineate the effects of a proposed change by isolating those effects in a single component of the decomposition. This gives maintainers a straightforward technique for determining those statements and variables which may be modified in a component and those which may not. Using the decomposition, a set of principles to prohibit changes which will interfere with unmodified components is provided. These semantically consistent changes can then be merged back into the original program in linear time.