English
Related papers

Related papers: Debugging Trait Errors as Logic Programs

200 papers

Bug finding tools can find defects in software source code us- ing an automated static analysis. This automation may be able to reduce the time spent for other testing and review activities. For this we need to have a clear understanding of…

Software Engineering · Computer Science 2017-11-15 Stefan Wagner , Jan Jürjens , Claudia Koller , Peter Trischberger

Rust claims to advance industrial programming by bridging the gap between low-level systems programming and high-level application programming. At the heart of the argument that this enables programmers to build more reliable and efficient…

Programming Languages · Computer Science 2021-10-22 Aaron Weiss , Olek Gierczak , Daniel Patterson , Amal Ahmed

Programmers learning Rust struggle to understand ownership types, Rust's core mechanism for ensuring memory safety without garbage collection. This paper describes our attempt to systematically design a pedagogy for ownership types. First,…

Programming Languages · Computer Science 2023-09-11 Will Crichton , Gavin Gray , Shriram Krishnamurthi

What properties about the internals of a program explain the possible differences in its overall running time for different inputs? In this paper, we propose a formal framework for considering this question we dub trace-set discrimination.…

Programming Languages · Computer Science 2017-02-24 Saeid Tizpaz-Niari , Pavol Cerny , Bor-Yuh Evan Chang , Sriram Sankaranarayanan , Ashutosh Trivedi

We introduce Cargo Scan, the first interactive program analysis tool designed to help developers audit third-party Rust code. Real systems written in Rust rely on thousands of transitive dependencies. These dependencies are as dangerous in…

Programming Languages · Computer Science 2026-02-09 Lydia Zoghbi , David Thien , Ranjit Jhala , Deian Stefan , Caleb Stanford

Rust is a popular programming language in building various low-level software in recent years. It aims to provide safe concurrency when implementing multi-threaded software through a suite of compiler checking rules. Unfortunately, there is…

Programming Languages · Computer Science 2019-02-07 Zeming Yu , Linhai Song , Yiying Zhang

Retrieval-augmented generation (RAG) is a prevalent approach for building LLM-based question-answering systems that can take advantage of external knowledge databases. Due to the complexity of real-world RAG systems, there are many…

Computation and Language · Computer Science 2026-01-16 Kin Kwan Leung , Mouloud Belbahri , Yi Sui , Alex Labach , Xueying Zhang , Stephen Anthony Rose , Jesse C. Cresswell

With the proliferation of multi-core hardware, parallel programs have become ubiquitous. These programs have their own type of bugs known as concurrency bugs and among them, data race bugs have been mostly in the focus of researchers over…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-07-17 Ali Tehrani , Mohammed Khaleel , Reza Akbari , Ali Jannesari

The rapid evolution of the telecommunication industry necessitates efficient troubleshooting processes to maintain network reliability, software maintainability, and service quality. Trouble Reports (TRs), which document issues in…

Software Engineering · Computer Science 2025-11-24 Soroush Javdan , Pragash Krishnamoorthy , Olga Baysal

Debugging is the dominant cost in modern hardware verification, where assertion failures are among the most frequent and expensive to resolve. While Large Language Models (LLMs) show promise, they often fail to capture the precise, reusable…

Artificial Intelligence · Computer Science 2025-12-16 Yunsheng Bai , Haoxing Ren

Prolog is a well-known declarative programming language commonly used in introductory courses on logic and reasoning. However, many students find Prolog challenging because it lacks the familiar debugging mechanisms found in imperative…

Programming Languages · Computer Science 2026-05-27 Ricardo Brancas , Vasco Manquinho , Ruben Martins

In the present day we use machine learning for sensitive tasks that require models to be both understandable and robust. Although traditional models such as decision trees are understandable, they suffer from adversarial attacks. When a…

Machine Learning · Computer Science 2020-12-21 Daniël Vos , Sicco Verwer

Developers rely on the static safety guarantees of the Rust programming language to write secure and performant applications. However, Rust is frequently used to interoperate with other languages which allow design patterns that conflict…

Software Engineering · Computer Science 2026-01-12 Ian McCormack , Joshua Sunshine , Jonathan Aldrich

This paper introduces a framework of parametric descriptive directional types for constraint logic programming (CLP). It proposes a method for locating type errors in CLP programs and presents a prototype debugging tool. The main technique…

Programming Languages · Computer Science 2007-05-23 W. Drabent , J. Maluszynski , P. Pietrzak

Retrieval Augmented Generation (RAG) has advanced software engineering tasks but remains underexplored in unit test generation. To bridge this gap, we investigate the efficacy of RAG-based unit test generation for machine learning (ML/DL)…

Software Engineering · Computer Science 2025-10-20 Jiho Shin , Nima Shiri Harzevili , Reem Aleithan , Hadi Hemmati , Song Wang

Programming language documentation refers to the set of technical documents that provide application developers with a description of the high-level concepts of a language. Such documentation is essential to support application developers…

Software Engineering · Computer Science 2022-10-11 Filipe R. Cogo , Xin Xia , Ahmed E. Hassan

Malware detection and classification into families are critical tasks in cybersecurity, complicated by the continual evolution of malware to evade detection. This evolution introduces concept drift, in which the statistical properties of…

Cryptography and Security · Computer Science 2026-02-04 Olha Jurečková , Martin Jureček

The performance of coverage-based fault localization greatly depends on the quality of test cases being executed. These test cases execute some lines of the given program and determine whether the underlying tests are passed or failed. In…

Software Engineering · Computer Science 2020-06-17 Shuvalaxmi Dass , Xiaozhen Xue , Akbar Siami Namin

Static verification relying on an automated theorem prover can be very slow and brittle: since static verification is undecidable, correct code may not pass a particular static verifier. In this work we use metaprogramming to generate code…

Programming Languages · Computer Science 2019-08-21 Isaac Oscar Gariano , Marco Servetto , Alex Potanin , Hrshikesh Arora

Modern ontology debugging methods allow efficient identification and localization of faulty axioms defined by a user while developing an ontology. The ontology development process in this case is characterized by rather frequent and regular…

Artificial Intelligence · Computer Science 2012-09-06 Kostyantyn Shchekotykhin , Philipp Fleiss , Patrick Rodler , Gerhard Friedrich