The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
IEEE Transactions on Software Engineering
Optimally profiling and tracing programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria
ICSE '94 Proceedings of the 16th international conference on Software engineering
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Demand-driven structural testing with dynamic instrumentation
Proceedings of the 27th international conference on Software engineering
Empirical Software Engineering
InsECTJ: a generic instrumentation framework for collecting dynamic information within Eclipse
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
MATRIX: Maintenance-Oriented Testing Requirements Identifier and Examiner
TAIC-PART '06 Proceedings of the Testing: Academic & Industrial Conference on Practice And Research Techniques
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
Efficiently monitoring data-flow test coverage
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Lightweight fault-localization using multiple coverage types
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Test-Suite Augmentation for Evolving Software
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Precisely Detecting Runtime Change Interactions for Evolving Software
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
Exploiting program dependencies for scalable multiple-path symbolic execution
Proceedings of the 19th international symposium on Software testing and analysis
Applying Aggressive Propagation-Based Strategies for Testing Changes
ICST '11 Proceedings of the 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation
Kaveri: delivering the indus java program slicer to eclipse
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Context-Sensitive points-to analysis: is it worth it?
CC'06 Proceedings of the 15th international conference on Compiler Construction
Inter-procedural data-flow analysis with IFDS/IDE and Soot
Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis
Predicting Data Dependences for Slice Inspection Prioritization
ISSREW '12 Proceedings of the 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops
Quantitative program slicing: separating statements by relevance
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
We describe DUA-Forensics, our open-source Java-bytecode program analysis and instrumentation system built on top of Soot. DUA-Forensics has been in development for more than six years and has supported multiple research projects on efficient monitoring, test-suite augmentation, fault localization, symbolic execution, and change-impact analysis. Three core features of Soot have proven essential: the Java bytecode processor, the Jimple intermediate representation, and the API to access and manipulate Jimple programs. On top of these foundations, DUA-Forensics offers a number of features of potential interest to the Java-analysis community, including (1) a layer that facilitates the instrumentation of Jimple code, (2) a library modeling system for efficient points-to, data-flow, and symbolic analysis, and (3) a fine-grained dependence analysis component. These features have made our own research more productive, reliable, and effective.