Selecting Software Test Data Using Data Flow Information
IEEE Transactions on Software Engineering
An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
Interprocedual data flow testing
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Fast breakpoints: design and implementation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Effective methods for software testing
Effective methods for software testing
Strategic directions in software quality
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
Residual test coverage monitoring
Proceedings of the 21st international conference on Software engineering
The Jalapeño dynamic optimizing compiler for Java
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Efficient instrumentation for code coverage testing
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
MDL: A Language And Compiler For Dynamic Program Instrumentation
PACT '97 Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques
SoftTest: a framework for software testing of Java programs
eclipse '03 Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange
Jazz: a tool for demand-driven structural testing
CC'05 Proceedings of the 14th international conference on Compiler Construction
Low overhead program monitoring and profiling
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
All code coverage is not created equal: a case study in prioritized code coverage
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
Dimension: an instrumentation tool for virtual execution environments
Proceedings of the 2nd international conference on Virtual execution environments
Adaptive Online Program Analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Efficiently monitoring data-flow test coverage
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Database-aware test coverage monitoring
ISEC '08 Proceedings of the 1st India software engineering conference
An empirical study of incorporating cost into test suite reduction and prioritization
Proceedings of the 2009 ACM symposium on Applied Computing
Lightweight fault-localization using multiple coverage types
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Reducing the Cost of Path Property Monitoring Through Sampling
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Sampling-based program execution monitoring
Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
Metaman: system-wide metadata management
Proceedings of the Workshop on Binary Instrumentation and Applications
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Empirically studying the role of selection operators duringsearch-based test suite prioritization
Proceedings of the 12th annual conference on Genetic and evolutionary computation
Lowering overhead in sampling-based execution monitoring and tracing
Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Exploiting hardware advances for software testing and debugging (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
An aspect-oriented reference architecture for Software Engineering Environments
Journal of Systems and Software
Lattice-Based Sampling for Path Property Monitoring
ACM Transactions on Software Engineering and Methodology (TOSEM)
Jazz2: a flexible and extensible framework for structural testing in a Java VM
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Inferred dependence coverage to support fault contextualization
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Automated verification and testing of user-interactive undo features in database applications
Software Testing, Verification & Reliability
THeME: a system for testing by hardware monitoring events
Proceedings of the 2012 International Symposium on Software Testing and Analysis
An efficient bitwise algorithm for intra-procedural data-flow testing coverage
Information Processing Letters
DUA-forensics: a fine-grained dependence analysis and instrumentation framework based on Soot
Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysis
CodeCover: enhancement of CodeCover
ACM SIGSOFT Software Engineering Notes
A distributed framework for demand-driven software vulnerability detection
Journal of Systems and Software
Hi-index | 0.00 |
Producing reliable and robust software has become one of the most important software development concerns in recent years. Testing is a process by which software quality can be assured through the collection of information. While testing can improve software reliability, current tools typically are inflexible and have high over-heads, making it challenging to test large software projects. In this paper, we describe a new scalable and flexible framework for testing programs with a novel demand-driven approach based on execution paths to implement test coverage. This technique uses dynamic instrumentation on the binary code that can be inserted and removed on-the-fly to keep performance and memory overheads low. We describe and evaluate implementations of the framework for branch, node and defuse testing of Java programs. Experimental results for branch testing show that our approach has, on average, a 1.6 speed up over static instrumentation and also uses less memory.