Eberlein, Martin, Smytzek, Marius, Steinhöfel, Dominic et al. · CISPA Helmholtz Center · 2024
Why does my program fail? We present a novel and general technique to automatically determine failure causes and conditions, using logical properties over input elements: "The program fails if and only if int(⟨length⟩) > len(⟨payload⟩) holds - that is, the given ⟨length⟩ is larger than the ⟨payload⟩ length." Our AVICENNA prototype uses modern techniques for inferring properties of passing and failing inputs and validating and refining hypotheses by having a constraint solver generate supporting test cases to obtain such diagnoses. As a result, AVICENNA produces crisp and expressive diagnoses even for complex failure conditions, considerably improving over the state of the art with diagnoses close to those of human experts.
Cited by 0Open access
Kirschner, Lukas, Soremekun, Ezekiel, Zeller, Andreas · Figshare · 2020
When a program fails to process an input, it need not be the program code that is at fault. It can also be that the input data is faulty, for instance as result of data corruption. To get the data processed, one then has to debug the input data—that is, (1) identify which parts of the input data prevent processing, and (2) recover as much of the (valuable) input data as possible. In this paper, we present a general-purpose algorithm called ddmax that addresses these problems automatically. Through experiments, ddmax maximizes the subset of the input that can still be processed by the program, thus recovering and repairing as much data as possible; the difference between the original failing input and the “maximized” passing input includes all input fragments that could not be processed. To the best of our knowledge, ddmax is the first approach that fixes faults in the input data without requiring program analysis. In our evaluation, ddmax repaired about 69% of input files and recovered about 78% of data within one minute per input.
Cited by 0Open access
Fabien Gaucher, Erwan Jahier, Florence Maraninchi et al. · 2003
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et a ̀ la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Cited by 0
Bernd Bruegge · 2007
The complexity of the Ada language poses several problems for the builder of a debugger. The Ada language constructs that cause these problems are identified and solutions are proposed that can be incorporated in a debugger based on Pascal. This involves changes in the symbol table of the compiler as well as the introduction of constructs outside the language, based on the argument that having to obey the language rules is an obstacle when debugging programs. In particular, we propose the use of dynamic abstractions to manipulate names from several name spaces that are not necessarily visible at the same time in the Ada program if Ada's scope rules are observed. Several of the proposed solutions have been implemented in an Ada compiler and a debugger called KRAUT as part of of the SPICE project currently being developed at Carnegie-Mellon University. 1. Introduction After the Ada language definition was introduced, it was tempting to "upgrade" existing Pascal compilers and convert th...
Cited by 0
Task Leader, Leader Henryk Krawczyk · 2007
Introduction to the tool and its objectives This task was aimed at developing an effective testing and debugging methodology for parallel programs in order to improve their quality [4]. We concentrated on formulation of general assumptions on parallel programs to create a suitable model for program testing and debugging. Based on the model we defined specifications for the tool supporting the above mentioned activities [8, 15]. Our effort was focused on the integration of three representative approaches: ffl static analysis of the program source code written in C with calls to PVM functions, ffl dynamic analysis of the program run-time code executed in the PVM environment, and ffl the program model supporting user interface and visualizing current results of two latter analyzes. In consequence a testing tool STEPS was build and new testing methodology called interactive testing was verified. On top of that debugging was enabled by integ
Cited by 0
Stacy Cashmore · Apress eBooks · 2026
In the previous chapter, we got our simple application live, hosted inside of an SWA and running in a production environment.
Cited by 0
Bruegge, Bernd · Research Showcase @ Carnegie Mellon University (Carnegie Mellon University) · 1985
Cited by 0
Davide Di Gennaro · Apress eBooks · 2015
As TMP code induces the compiler to perform calculations, it’s virtually impossible to follow it step by step. However, there are some techniques that can help. This chapter in fact contains a mix of pieces of advice and debugging strategies.
Cited by 0
2014
Cited by 0
Eberlein, Martin, Smytzek, Marius, Steinhöfel, Dominic et al. · Gesellschaft für Informatik (GI) · 2024
Cited by 0Open access
Ian Stewart, Robin L. Jones · Birkhäuser Basel eBooks · 1983
ZusammenfassungWie können wir schlüssig beweisen, daß ein Programm genau das leistet, wozu es geschrieben worden ist? Ich will mich nicht auf komplizierte philosophische Erörterungen einlassen (wir wären auf dem besten Weg dazu), aber grob gesprochen ist das so, als wolle man von einem Astronomen wissen, ob morgen die Sonne aufgehen wird. Wenn er sehr pedantisch ist, gibt er vielleicht zur Antwort, die Erde kreise jetzt schon sehr lange um die Sonne. Wir besäßen ein System physikalischer Gesetze, das darauf hindeute, sie werde das auch künftig tun. Man dürfe also einiges darauf verwetten, daß das auch morgen noch der Fall sein werde. Er würde aber hinzufügen, er könne nicht mit Bestimmtheit wissen, ob unsere physikalischen Gesetze richtig seien. Das, was wir seit Jahrtausenden beobachteten, könne auch die Manifestation eines viel komplexeren Gesetzes sein, dessen Wirkung morgen darin bestehen möge, die Erdrotation umzukehren oder den Planeten ganz aus seiner Bahn zu führen.
Cited by 0
Robin L. Jones, Clive Maynard, Ian Stewart · 1990
Cited by 0
Kirschner, Lukas, Soremekun, Ezekiel, Zeller, Andreas · CISPA Helmholtz Center · 2020
When a program fails to process an input, it need not be the program code that is at fault. It can also be that the input data is faulty, for instance as result of data corruption. To get the data processed, one then has to debug the input data—that is, (1) identify which parts of the input data prevent processing, and (2) recover as much of the (valuable) input data as possible. In this paper, we present a general-purpose algorithm called ddmax that addresses these problems automatically. Through experiments, ddmax maximizes the subset of the input that can still be processed by the program, thus recovering and repairing as much data as possible; the difference between the original failing input and the “maximized” passing input includes all input fragments that could not be processed. To the best of our knowledge, ddmax is the first approach that fixes faults in the input data without requiring program analysis. In our evaluation, ddmax repaired about 69% of input files and recovered about 78% of data within one minute per input.
Cited by 0Open access
Costiou, Steven, Vanègue, Adrien · SPIRE - Sciences Po Institutional REpository · 2024
A tool to spy on debugging actions for research experiments done with Pharo.
Cited by 0
Scerpa, Daniel · AMS Laurea Institutional Research Repository (University of Bologna) · 2018
Per migliorare l'efficienza del processo di debug, nel corso degli anni, è cresciuta sempre di più l’idea di mettere, a disposizione del programmatore, un debugger che consentisse non solo, di fare un passo avanti nel codice, ma anche la possibilità di ripercorrerre all’indietro l’esecuzione del programma per ridurre i costi e i tempi nel sviluppare software.
Cited by 0Open access
Kim, Dongsun · Figshare · 2023
SW 소스코드 자동수정을 위한 AI모델 및 학습 방안 연구
Cited by 0Open access
Shomper, Keith A. · DigitalCommons-Cedarville (Cedarville University) · 1993
Cited by 0
WORLD SCIENTIFIC eBooks · 1993
Cited by 0
anonymous, anonymous · Figshare · 2023
SW 소스코드 자동수정을 위한 AI모델 및 학습 방안 연구
Cited by 0Open access
Langdon, WB · UCL Discovery (University College London) · 2011
During six months of intensive nVidia CUDA C programming many bugs were created. We pass on the software engineering lessons learnt, particularly those relevant to parallel general-purpose computation on graphics hardware GPGPU. © 2011 ACM.
Cited by 0