English
Related papers

Related papers: Automatic Inference of Specifications in the K Fra…

200 papers

Many programmers, when they encounter an error, would like to have the benefit of automatic fix suggestions---as long as they are, most of the time, adequate. Initial research in this direction has generally limited itself to specific…

Software Engineering · Computer Science 2015-03-18 Yu Pei , Yi Wei , Carlo A. Furia , Martin Nordio , Bertrand Meyer

Modern software relies on libraries and uses them via application programming interfaces (APIs). Correct API usage as well as many software engineering tasks are enabled when APIs have formal specifications. In this work, we analyze the…

Software Engineering · Computer Science 2019-05-17 John L. Singleton , Gary T. Leavens , Hridesh Rajan , David R. Cok

This paper presents a formal approach to specify and verify object-oriented programs written in the `programming to interfaces' paradigm. Besides the methods to be invoked by its clients, an interface also declares a set of abstract…

Logic in Computer Science · Computer Science 2013-12-02 Jianhua Zhao , Xuandong LI

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Logic in Computer Science · Computer Science 2024-12-10 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer , Marten Voorberg

Logical specifications have been shown to help reinforcement learning algorithms in achieving complex tasks. However, when a task is under-specified, agents might fail to learn useful policies. In this work, we explore the possibility of…

Artificial Intelligence · Computer Science 2026-03-02 Tanmay Ambadkar , Đorđe Žikelić , Abhinav Verma

While no one doubts the importance of correct and complete specifications, many industrial systems still do not have formal specifications written out -- and even when they do, it is hard to check their correctness and completeness. This…

Software Engineering · Computer Science 2017-08-25 Luke Chircop , Christian Colombo , Mark Micallef

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to…

Artificial Intelligence · Computer Science 2018-06-05 Evan Hernandez , Ara Vartanian , Xiaojin Zhu

We present a Bayesian framework for learning probabilistic specifications from large, unstructured code corpora, and a method to use this framework to statically detect anomalous, hence likely buggy, program behavior. The distinctive…

Software Engineering · Computer Science 2017-03-07 Vijayaraghavan Murali , Swarat Chaudhuri , Chris Jermaine

Modern software typically performs more than one functionality. These functionalities or features are not always organized in a way for modules representing these features to be used individually. Many software engineering approaches like…

Software Engineering · Computer Science 2021-08-23 Patrick Müller , Krishna Narasimhan , Mira Mezini

We extend an off-the-shelf, executable formal semantics of C (Ellison and Rosu's K Framework semantics) with the core features of CUDA-C. The hybrid CPU/GPU computation model of CUDA-C presents challenges not just for programmers, but also…

Programming Languages · Computer Science 2012-11-28 Chris Hathhorn , Michela Becchi , William L. Harrison , Adam Procter

Software developers often rely on natural language text that appears in software engineering artifacts to access critical information as they build and work on software systems. For example, developers access requirements documents to…

Software Engineering · Computer Science 2021-05-14 Arthur Marques , Giovanni Viviani , Gail C. Murphy

Automated testing plays a crucial role in ensuring software security. It heavily relies on formal specifications to validate the correctness of the system behavior. However, the main approach to defining these formal specifications is…

Software Engineering · Computer Science 2025-04-03 Hui Li , Zhen Dong , Siao Wang , Hui Zhang , Liwei Shen , Xin Peng , Dongdong She

Formal specification is essential for rigorous program verification, yet writing correct specifications remains costly and difficult to automate. Although large language models (LLMs) and agents have shown promising progress, their true…

Software Engineering · Computer Science 2026-05-05 Dong Xu , Jialun Cao , Guozhao Mo , Junjie Hu , Cheng Wen , Hongyu Lin , Xianpei Han , Shengchao Qin , Cong Tian , Shing-Chi Cheung , Le Sun , Yaojie Lu

This paper introduces a new technique for dynamic verification of component-based real-time systems based on statistical inference. Verifying such systems requires checking two types of properties: functional and real-time. For functional…

Software Engineering · Computer Science 2015-01-13 Chandrakana Nandi , Aurelien Monot , Manuel Oriol

Early-stage specifications of safety-critical systems are typically expressed in natural language, making it difficult to derive formal properties suitable for verification and needed to guarantee safety. While recent Large Language Model…

Software Engineering · Computer Science 2026-04-21 Alberto Tagliaferro , Bruno Guindani , Livia Lestingi , Matteo Rossi

We study the generalization abilities of language models when translating natural language into formal specifications with complex semantics. In particular, we fine-tune language models on three datasets consisting of English sentences and…

Software Engineering · Computer Science 2022-10-21 Christopher Hahn , Frederik Schmitt , Julia J. Tillman , Niklas Metzger , Julian Siber , Bernd Finkbeiner

Early stages of system development involve outlining desired features such as functionality, availability, or usability. Specifications are derived from these features that concretize vague ideas presented in natural languages. The…

Software Engineering · Computer Science 2014-10-09 Rongjie Yan , Chih-Hong Cheng , Guangquan Zhang , Yesheng Chai

Generating effective test inputs for a software system requires that these inputs be valid, as they will otherwise be rejected without reaching actual functionality. In the absence of a specification for the input language, common test…

Software Engineering · Computer Science 2025-03-12 Leon Bettscheider , Andreas Zeller

We show how to systematically implement an algorithm in any imperative or functional programming language. The method is based on the premise that it is easy to write down how an algorithm proceeds on a concrete input. This…

Software Engineering · Computer Science 2020-04-28 Maurice Chandoo

Many security and software testing applications require checking whether certain properties of a program hold for any possible usage scenario. For instance, a tool for identifying software vulnerabilities may need to rule out the existence…

Software Engineering · Computer Science 2018-05-03 Roberto Baldoni , Emilio Coppa , Daniele Cono D'Elia , Camil Demetrescu , Irene Finocchi