Affiliation:
1. University of California, Berkeley
2. Novell
3. Stanford University
Abstract
Instrumenting programs with code to monitor runtime behavior is a common technique for profiling and debugging. In practice, instrumentation is either inserted manually by programmers, or automatically by specialized tools that monitor particular properties. We propose Program Trace Query Language (PTQL), a language based on relational queries over program traces, in which programmers can write expressive, declarative queries about program behavior. We also describe our compiler,
Partiqle
. Given a PTQL query and a Java program,
Partiqle
instruments the program to execute the query on-line. We apply several PTQL queries to a set of benchmark programs, including the Apache Tomcat Web server. Our queries reveal significant performance bugs in the
jack
SpecJVM98 benchmark, in Tomcat, and in the IBM Java class library, as well as some correct though uncomfortably subtle code in the Xerces XML parser. We present performance measurements demonstrating that our prototype system has usable performance.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
30 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Time-Awareness in Object Exploration Tools: Toward In Situ Omniscient Debugging;Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software;2023-10-18
2. Object-Centric Time-Travel Debugging;Companion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming;2023-03-13
3. Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript;PeerJ Computer Science;2023-02-24
4. Cerberus;Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security;2022-11-07
5. BOLD: an ontology-based log debugger for C programs;Automated Software Engineering;2021-11-18