ID: cs/0011021

On-the-fly Query-Based Debugging with Examples

November 16, 2000

View on ArXiv

Similar papers 5

Test Case Generation for Object-Oriented Imperative Languages in CLP

July 29, 2010

82% Match
Miguel Gómez-Zamalloa, Elvira Albert, Germán Puebla
Programming Languages
Software Engineering

Testing is a vital part of the software development process. Test Case Generation (TCG) is the process of automatically generating a collection of test cases which are applied to a system under test. White-box TCG is usually performed by means of symbolic execution, i.e., instead of executing the program on normal values (e.g., numbers), the program is executed on symbolic values representing arbitrary values. When dealing with an object-oriented (OO) imperative language, sym...

Find SimilarView on arXiv

Debugging Static Analysis

January 15, 2018

82% Match
Lisa Nguyen Quang Do, Stefan Krüger, Patrick Hill, ... , Bodden Eric
Software Engineering

To detect and fix bugs and security vulnerabilities, software companies use static analysis as part of the development process. However, static analysis code itself is also prone to bugs. To ensure a consistent level of precision, as analyzed programs grow more complex, a static analysis has to handle more code constructs, frameworks, and libraries that the programs use. While more complex analyses are written and used in production systems every day, the cost of debugging an...

Find SimilarView on arXiv

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

December 31, 2021

81% 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

SNITCH: Dynamic Dependent Information Flow Analysis for Independent Java Bytecode

August 27, 2019

81% Match
Eduardo NOVA LINCS - Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa Geraldo, João Costa NOVA LINCS - Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa Seco
Software Engineering
Programming Languages

Software testing is the most commonly used technique in the industry to certify the correctness of software systems. This includes security properties like access control and data confidentiality. However, information flow control and the detection of information leaks using tests is a demanding task without the use of specialized monitoring and assessment tools. In this paper, we tackle the challenge of dynamically tracking information flow in third-party Java-based applic...

Find SimilarView on arXiv

Dynamically Allocated Memory Verification in Object-Oriented Programs using Prolog

June 6, 2019

81% Match
René Haberland, Sergey Ivanovskiy
Logic in Computer Science
Formal Languages and Automat...

A Prolog-based framework for fully automated verification currently under development for heap-based object-oriented data is introduced. Dynamically allocated issues are discussed, recent approaches and criteria are analysed. The architecture and its components are introduced by example. Finally, propositions to further and related work are given.

Find SimilarView on arXiv

Debugging Non-Ground ASP Programs: Technique and Graphical Tools

August 1, 2018

81% Match
Carmine Dodaro, Philip Gasteiger, Kristian Reale, ... , Schekotihin Konstantin
Artificial Intelligence

Answer Set Programming (ASP) is one of the major declarative programming paradigms in the area of logic programming and non-monotonic reasoning. Despite that ASP features a simple syntax and an intuitive semantics, errors are common during the development of ASP programs. In this paper we propose a novel debugging approach allowing for interactive localization of bugs in non-ground programs. The new approach points the user directly to a set of non-ground rules involved in th...

Find SimilarView on arXiv

Leveraging Application Data Constraints to Optimize Database-Backed Web Applications

May 5, 2022

81% Match
Xiaoxuan Liu, Shuxian Wang, Mengzhu Sun, Sicheng Pan, Ge Li, Siddharth Jha, Cong Yan, Junwen Yang, ... , Cheung Alvin
Databases
Programming Languages

Exploiting the relationships among data is a classical query optimization technique. As persistent data is increasingly being created and maintained programmatically, prior work that infers data relationships from data statistics misses an important opportunity. We present ConstrOpt, the first tool that identifies data relationships by analyzing database-backed applications. Once identified, ConstrOpt leverages the constraints to optimize the application's physical design and...

Find SimilarView on arXiv

Fuzzing Class Specifications

January 26, 2022

81% Match
Facundo Molina, Marcelo d'Amorim, Nazareno Aguirre
Software Engineering

Expressing class specifications via executable constraints is important for various software engineering tasks such as test generation, bug finding and automated debugging, but developers rarely write them. Techniques that infer specifications from code exist to fill this gap, but they are designed to support specific kinds of assertions and are difficult to adapt to support different assertion languages, e.g., to add support for quantification, or additional comparison opera...

Find SimilarView on arXiv

ClassSpy: Java Object Pattern Visualization Tool

June 9, 2014

81% Match
Tufail Muhammad, Zahid Halim, Majid Ali Khan
Programming Languages
Software Engineering

Modern java programs consist of large number of classes as well as vast amount of objects instantiated during program execution. Software developers are always keen to know the number of objects created for each class. This information is helpful for a developer in understanding the packages/classes of a program and optimizing their code. However, understanding such a vast amount of information is not a trivial task. Visualization helps to depict this information on a single ...

Find SimilarView on arXiv

Causality-Guided Adaptive Interventional Debugging

March 21, 2020

81% Match
Anna Fariha, Suman Nath, Alexandra Meliou
Databases
Software Engineering

Runtime nondeterminism is a fact of life in modern database applications. Previous research has shown that nondeterminism can cause applications to intermittently crash, become unresponsive, or experience data corruption. We propose Adaptive Interventional Debugging (AID) for debugging such intermittent failures. AID combines existing statistical debugging, causal analysis, fault injection, and group testing techniques in a novel way to (1) pinpoint the root cause of an appli...

Find SimilarView on arXiv