English
Related papers

Related papers: Transforming ASN.1 Specifications into CafeOBJ to …

200 papers

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

During the development and verification of complex airborne systems, a variety of languages and development environments are used for different levels of the system hierarchy. As a result, there may be manual steps to translate requirements…

Software Engineering · Computer Science 2016-04-26 Jing Liu , John D. Backes , Darren Cofer , Andrew Gacek

This paper presents the insight that practical embedding techniques, commonly used for implementing Domain-Specific Languages, correspond to theoretical Normalisation-By-Evaluation (NBE) techniques, commonly used for deriving canonical form…

Programming Languages · Computer Science 2016-03-17 Shayan Najd , Sam Lindley , Josef Svenningsson , Philip Wadler

Formal verification techniques aim at formally proving the correctness of a computer program with respect to a formal specification, but the expertise and effort required for applying formal specification and verification techniques and…

Software Engineering · Computer Science 2023-01-10 João Pascoal Faria , Rui Abreu

Having reliable specifications is an unavoidable challenge in achieving verifiable correctness, robustness, and interpretability of AI systems. Existing specifications for neural networks are in the paradigm of data as specification. That…

Machine Learning · Computer Science 2023-03-20 Chuqin Geng , Nham Le , Xiaojie Xu , Zhaoyue Wang , Arie Gurfinkel , Xujie Si

Hoare-style verification provides a principled foundation for reasoning about the correctness of quantum programs, but existing approaches do not allow fully automatic verification. While automata-based verification scales well when…

Logic in Computer Science · Computer Science 2026-05-08 Wei-Lun Tsai , Yu-Fang Chen , Ondřej Lengál

In order to properly train a machine learning model, data must be properly collected. To guarantee a proper data collection, verifying that the collected data set holds certain properties is a possible solution. For example, guaranteeing…

Software Engineering · Computer Science 2021-08-26 Jorge López , Maxime Labonne , Claude Poletti

In the last decade, a large body of work has emerged on robustness of neural networks, i.e., checking if the decision remains unchanged when the input is slightly perturbed. However, most of these approaches ignore the confidence of a…

Logic in Computer Science · Computer Science 2026-02-17 Mohammad Afzal , S. Akshay , Blaise Genest , Ashutosh Gupta

Model-driven design of software for safety-critical applications often relies on mathematically grounded techniques such as the B method. Such techniques consist in the successive applications of refinements to derive a concrete…

Software Engineering · Computer Science 2009-07-14 David Deharbe , Bruno E. G. Gomes , Anamaria M. Moreira

We review some results regarding specification, programming and verification of different classes of distributed systems which stemmed from the research of the Concurrency and Mobility Group at University of Firenze. More specifically, we…

Programming Languages · Computer Science 2019-12-04 Rocco De Nicola , Gianluigi Ferrari , Rosario Pugliese , Francesco Tiezzi

Qualitative reasoning involves expressing and deriving knowledge based on qualitative terms such as natural language expressions, rather than strict mathematical quantities. Well over 40 qualitative calculi have been proposed so far, mostly…

Artificial Intelligence · Computer Science 2025-12-17 George Baryannis , Ilias Tachmazidis , Sotiris Batsakis , Grigoris Antoniou , Mario Alviano , Emmanuel Papadakis

An issue limiting the adoption of model checking technologies by the industry is the ability, for non-experts, to express their requirements using the property languages supported by verification tools. This has motivated the definition of…

Software Engineering · Computer Science 2013-02-01 Nouha Abid , Silvano Dal Zilio , Didier Le Botlan

Recent frontier large language models (LLMs) have shown strong performance in identifying security vulnerabilities in large, mature open-source systems. As LLM-generated code becomes increasingly common, a natural goal is to prevent such…

Software Engineering · Computer Science 2026-05-13 Zhaorui Li , Chengyu Song

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

Verifying and explaining the behavior of neural networks is becoming increasingly important, especially when they are deployed in safety-critical applications. In this paper, we study verification problems for Binarized Neural Networks…

Machine Learning · Computer Science 2021-03-15 Yedi Zhang , Zhe Zhao , Guangke Chen , Fu Song , Taolue Chen

When engineering complex and distributed software and hardware systems (increasingly used in many sectors, such as manufacturing, aerospace, transportation, communication, energy, and health-care), quality has become a big issue, since…

Software Engineering · Computer Science 2009-10-06 Antonio Bucchiarone , Davide Di Ruscio , Henry Muccini , Patrizio Pelliccione

In sequential decision making, neural networks (NNs) are nowadays commonly used to represent and learn the agent's policy. This area of application has implied new software quality assessment challenges that traditional validation and…

Software Engineering · Computer Science 2023-12-18 Q. Mazouni , H. Spieker , A. Gotlieb , M. Acher

Context-Oriented Programming (COP) is a programming paradigm to encourage modularization of context-dependent software. Key features of COP are layers---modules to describe context-dependent behavioral variations of a software system---and…

Programming Languages · Computer Science 2019-09-04 Hiroaki Inoue , Atsushi Igarashi

Binary-level pointer analysis can be of use in symbolic execution, testing, verification, and decompilation of software binaries. In various such contexts, it is crucial that the result is trustworthy, i.e., it can be formally established…

Software Engineering · Computer Science 2025-01-30 Freek Verbeek , Ali Shokri , Daniel Engel , Binoy Ravindran

Parallel programs require software support to coordinate access to shared data. For this purpose, modern programming languages provide strongly-consistent shared objects. To account for their many usages, these objects offer a large API.…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-30 Boubacar Kane , Pierre Sutra