Illustrating interference in interfering versions of programs
SCM '89 Proceedings of the 2nd International Workshop on Software configuration management
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Approximating the Minimum Equivalent Digraph
SIAM Journal on Computing
Continuous profiling: where have all the cycles gone?
ACM Transactions on Computer Systems (TOCS)
An Algorithm for Finding a Minimum Equivalent Graph of a Digraph
Journal of the ACM (JACM)
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Dynamo: a transparent dynamic optimization system
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Slicing Software for Model Construction
Higher-Order and Symbolic Computation
A framework for reducing the cost of instrumented code
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Profile-guided code compression
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Gamma system: continuous evolution of software after deployment
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Introduction to Algorithms
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Monitoring deployed software using software tomography
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
ICSE '81 Proceedings of the 5th international conference on Software engineering
Approximation algorithms for combinatorial problems
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
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
Low-overhead memory leak detection using adaptive statistical profiling
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Profiling Deployed Software: Assessing Strategies and Testing Opportunities
IEEE Transactions on Software Engineering
Empirical Software Engineering
Subsumption of program entities for efficient coverage and monitoring
Proceedings of the 3rd international workshop on Software quality assurance
Adaptive Online Program Analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Shape analysis with inductive recursion synthesis
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Mop: an efficient and generic runtime verification framework
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Hi-index | 0.00 |
Monitoring or profiling programs provides us with an understanding for its further improvement and analysis. Typically, for monitoring or profiling, the program is instrumented to execute additional code that collects necessary data. However, a widely-understood problem with this approach is that program instrumentation can result in significant execution overhead. A number of techniques based on statistical sampling have been proposed to reduce this overhead. Statistical sampling based instrumentation techniques, although effective in reducing the overall overhead, often lead to poor coverage or incomplete results. The contribution of this work is a profiling technique that we call property-aware program sampling. Our sampling technique uses program slicing to reduce the scope of instrumentation and slice fragments to decompose large program slices into more manageable, logically related parts for instrumentation, thereby improving the scalability of monitoring and profiling techniques. The technical underpinnings of our work include the notion of slice fragments and an efficient technique for computing a reduced set of slice fragments.