ID: cs/0309031

Timestamp Based Execution Control for C and Java Programs

September 17, 2003

View on ArXiv

Similar papers 4

Statistical Program Slicing: a Hybrid Slicing Technique for Analyzing Deployed Software

December 31, 2021

82% Match
Bogdan Alexandru Stoica, Swarup K. Sahoo, ... , Adve Vikram S.
Software Engineering
Programming Languages

Dynamic program slicing can significantly reduce the code developers need to inspect by narrowing it down to only a subset of relevant program statements. However, despite an extensive body of research showing its usefulness, dynamic slicing is still short from production-level use due to the high cost of runtime instrumentation. As an alternative, we propose statistical program slicing, a novel hybrid dynamic-static slicing technique that explores the trade-off between acc...

Find SimilarView on arXiv

Pinpointing Performance Inefficiencies in Java

June 28, 2019

82% Match
Pengfei Su, Qingsen Wang, ... , Liu Xu
Performance
Programming Languages
Software Engineering

Many performance inefficiencies such as inappropriate choice of algorithms or data structures, developers' inattention to performance, and missed compiler optimizations show up as wasteful memory operations. Wasteful memory operations are those that produce/consume data to/from memory that may have been avoided. We present, JXPerf, a lightweight performance analysis tool for pinpointing wasteful memory operations in Java programs. Traditional byte-code instrumentation for suc...

Find SimilarView on arXiv

An Effective Parallel Program Debugging Approach Based on Timing Annotation

September 9, 2021

82% Match
Yun Chang, Hsin-I Wu, Ren-Song Tsay
Distributed, Parallel, and C...

We propose an effective parallel program debugging approach based on the timing annotation technique. With prevalent multi-core platforms, parallel programming is required to fully utilize the computing power. However, the non-determinism property and the associated concurrency bugs are notorious and remain to be great challenge to designers. We hence propose an effective program debugging approach using the timing annotation technique derived from the deterministic Multi-Cor...

Find SimilarView on arXiv

Debug-Localize-Repair: A Symbiotic Construction for Heap Manipulations

November 26, 2020

82% Match
Sahil Verma, Subhajit Roy
Programming Languages
Software Engineering

We present Wolverine2, an integrated Debug-Localize-Repair environment for heap manipulating programs. Wolverine2 provides an interactive debugging environment: while concretely executing a program via on an interactive shell supporting common debugging facilities, Wolverine2 displays the abstract program states (as box-and-arrow diagrams) as a visual aid to the programmer, packages a novel, proof-directed repair algorithm to quickly synthesize the repair patches and a new bu...

Find SimilarView on arXiv

Bringing Back-in-Time Debugging Down to the Database

January 19, 2017

82% Match
Arian Treffer, Michael Perscheid, Matthias Uflacker
Software Engineering

With back-in-time debuggers, developers can explore what happened before observable failures by following infection chains back to their root causes. While there are several such debuggers for object-oriented programming languages, we do not know of any back-in-time capabilities at the database-level. Thus, if failures are caused by SQL scripts or stored procedures, developers have difficulties in understanding their unexpected behavior. In this paper, we present an approac...

Find SimilarView on arXiv

Efficient and Expressive Bytecode-Level Instrumentation for Java Programs

June 2, 2021

82% Match
Chukri Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG, Grenoble, France Soueidi, Marius Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG, Grenoble, France Monnier, ... , Falcone Yliès Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG, Grenoble, France
Programming Languages
Software Engineering

We present an efficient and expressive tool for the instrumentation of Java programs at the bytecode-level. BISM (Bytecode-Level Instrumentation for Software Monitoring) is a light-weight Java bytecode instrumentation tool that features an expressive high-level control-flow-aware instrumentation language. The language is inspired by the aspect-oriented programming paradigm in modularizing instrumentation into separate transformers, that encapsulate joinpoint selection and adv...

Find SimilarView on arXiv

Causal-Consistent Reversible Debugging: Improving CauDEr

June 9, 2024

82% Match
Juan José González-Abril, Germán Vidal
Programming Languages

Causal-consistent reversible debugging allows one to explore concurrent computations back and forth in order to locate the source of an error. In this setting, backward steps can be chosen freely as long as they are "causal consistent", i.e., as long as all the actions that depend on the action we want to undo have been already undone. Here, we consider a framework for causal-consistent reversible debugging in the functional and concurrent language Erlang. This framework cons...

Find SimilarView on arXiv

PTAuth: Temporal Memory Safety via Robust Points-to Authentication

February 19, 2020

82% Match
Reza Mirzazade Farkhani, Mansour Ahmadi, Long Lu
Cryptography and Security

Temporal memory corruptions are commonly exploited software vulnerabilities that can lead to powerful attacks. Despite significant progress made by decades of research on mitigation techniques, existing countermeasures fall short due to either limited coverage or overly high overhead. Furthermore, they require external mechanisms (e.g., spatial memory safety) to protect their metadata. Otherwise, their protection can be bypassed or disabled. To address these limitations, we p...

Find SimilarView on arXiv

Towards Practical and Useful Automated Program Repair for Debugging

July 12, 2024

82% Match
Qi Xin, Haojun Wu, ... , Xuan Jifeng
Software Engineering

Current automated program repair (APR) techniques are far from being practical and useful enough to be considered for realistic debugging. They rely on unrealistic assumptions including the requirement of a comprehensive suite of test cases as the correctness criterion and frequent program re-execution for patch validation; they are not fast; and their ability of repairing the commonly arising complex bugs by fixing multiple locations of the program is very limited. We hope t...

Find SimilarView on arXiv

Automated Debugging In Java Using OCL And JDI

January 3, 2001

82% Match
David J. Lehigh University Murray, Dale E. Lucent Technologies Parson
Software Engineering
Programming Languages

Correctness constraints provide a foundation for automated debugging within object-oriented systems. This paper discusses a new approach to incorporating correctness constraints into Java development environments. Our approach uses the Object Constraint Language ("OCL") as a specification language and the Java Debug Interface ("JDI") as a verification API. OCL provides a standard language for expressing object-oriented constraints that can integrate with Unified Modeling Lang...

Find SimilarView on arXiv