ID: cs/0101002

Automated Debugging In Java Using OCL And JDI

January 3, 2001

View on ArXiv

Similar papers 4

Testing Java implementations of algebraic specifications

March 5, 2013

84% Match
Isabel University of Lisbon, Lisboa, Portugal Nunes, Filipe University of Lisbon, Lisboa, Portugal Luís
Software Engineering

In this paper we focus on exploiting a specification and the structures that satisfy it, to obtain a means of comparing implemented and expected behaviours and find the origin of faults in implementations. We present an approach to the creation of tests that are based on those specification-compliant structures, and to the interpretation of those tests' results leading to the discovery of the method responsible for an eventual test failure. Results of comparative experiments ...

Find SimilarView on arXiv

Flexible Invariants Through Semantic Collaboration

November 25, 2013

84% Match
Nadia Polikarpova, Julian Tschannen, ... , Meyer Bertrand
Software Engineering

Modular reasoning about class invariants is challenging in the presence of dependencies among collaborating objects that need to maintain global consistency. This paper presents semantic collaboration: a novel methodology to specify and reason about class invariants of sequential object-oriented programs, which models dependencies between collaborating objects by semantic means. Combined with a simple ownership mechanism and useful default schemes, semantic collaboration achi...

Find SimilarView on arXiv

OOASP: Connecting Object-oriented and Logic Programming

August 12, 2015

84% Match
Andreas Falkner, Anna Ryabokon, ... , Shchekotykhin Kostyantyn
Artificial Intelligence
Software Engineering

Most of contemporary software systems are implemented using an object-oriented approach. Modeling phases -- during which software engineers analyze requirements to the future system using some modeling language -- are an important part of the development process, since modeling errors are often hard to recognize and correct. In this paper we present a framework which allows the integration of Answer Set Programming into the object-oriented software development process. OOAS...

Find SimilarView on arXiv

A Knowledge-based Automated Debugger in Learning System

January 12, 2001

84% Match
Abdullah Mohd 1 and 2 Zin, Syed Ahmad 1 and 2 Aljunid, ... , Nordin Mohd Jan
Software Engineering
Programming Languages

Currently, programming instructors continually face the problem of helping to debug students' programs. Although there currently exist a number of debuggers and debugging tools in various platforms, most of these projects or products are crafted through the needs of software maintenance, and not through the perspective of teaching of programming. Moreover, most debuggers are too general, meant for experts as well as not user-friendly. We propose a new knowledge-based automate...

Find SimilarView on arXiv

Runtime Verification on Abstract Finite State Models

June 18, 2024

84% Match
KP Jevitha, Bharat Jayaraman, M Sethumadhavan
Software Engineering
Performance
Programming Languages

Finite-state models are ubiquitous in the study of concurrent systems, especially controllers and servers that operate in a repetitive cycle. In this paper, we show how to extract finite state models from a run of a multi-threaded Java program and carry out runtime verification of correctness properties. These properties include data-oriented and control-oriented properties; the former express correctness conditions over the data fields of objects, while the latter are concer...

Find SimilarView on arXiv

The Visual Debugger: Past, Present, and Future

March 6, 2024

84% Match
Tim Kräuter, Patrick Stünkel, ... , Lamo Yngve
Software Engineering

The Visual Debugger is an IntelliJ IDEA plugin that presents debug information as an object diagram to enhance program understanding. Reflecting on our past development, we detail the lessons learned and roadblocks we have experienced while implementing and integrating the Visual Debugger into the IntelliJ IDEA. Furthermore, we describe recent improvements to the Visual Debugger, greatly enhancing the plugin in the present. Looking into the future, we propose solutions to ove...

Find SimilarView on arXiv

Verifying Functional Correctness Properties At the Level of Java Bytecode

September 30, 2024

84% Match
Marco Paganoni, Carlo A. Furia
Programming Languages
Logic in Computer Science

The breakneck evolution of modern programming languages aggravates the development of deductive verification tools, which struggle to timely and fully support all new language features. To address this challenge, we present ByteBack: a verification technique that works on Java bytecode. Compared to high-level languages, intermediate representations such as bytecode offer a much more limited and stable set of features; hence, they may help decouple the verification process fro...

Find SimilarView on arXiv

User Assistance Characteristics of the USE Model Checking Tool

January 30, 2017

84% Match
Frank University of Bremen Hilken, Martin University of Bremen Gogolla
Human-Computer Interaction
Software Engineering

The Unified Modeling Language (UML) is a widely used general purpose modeling language. Together with the Object Constraint Language (OCL), formal models can be described by defining the structure and behavior with UML and additional OCL constraints. In the development process for formal models, it is important to make sure that these models are (a) correct, i.e. consistent and complete, and (b) testable in the sense that the developer is able to interactively check model pro...

Find SimilarView on arXiv

Modal Object Diagrams

September 8, 2014

84% Match
Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe
Software Engineering

While object diagrams (ODs) are widely used as a means to document object-oriented systems, they are expressively weak, as they are limited to describe specific possible snapshots of the system at hand. In this paper we introduce modal object diagrams (MODs), which extend the classical OD language with positive/negative and example/invariant modalities. The extended language allows the designer to specify not only positive example models but also negative examples, ones that ...

Find SimilarView on arXiv

Fuzzing Class Specifications

January 26, 2022

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