Genetic improvement of software: a comprehensive survey

J Petke, SO Haraldsson, M Harman… - IEEE Transactions …, 2017 - ieeexplore.ieee.org
Genetic improvement (GI) uses automated search to find improved versions of existing
software. We present a comprehensive survey of this nascent field of research with a focus …

Behavioral interface specification languages

J Hatcliff, GT Leavens, KRM Leino, P Müller… - ACM Computing …, 2012 - dl.acm.org
Behavioral interface specification languages provide formal code-level annotations, such as
preconditions, postconditions, invariants, and assertions that allow programmers to express …

The oracle problem in software testing: A survey

ET Barr, M Harman, P McMinn… - IEEE transactions on …, 2014 - ieeexplore.ieee.org
Testing involves examining the behaviour of a system in order to discover potential faults.
Given an input for a system, the challenge of distinguishing the corresponding desired …

Smart contracts vulnerabilities: a call for blockchain software engineering?

G Destefanis, M Marchesi, M Ortu… - 2018 International …, 2018 - ieeexplore.ieee.org
Smart Contracts have gained tremendous popularity in the past few years, to the point that
billions of US Dollars are currently exchanged every day through such technology. However …

A taxonomy of model‐based testing approaches

M Utting, A Pretschner… - … testing, verification and …, 2012 - Wiley Online Library
Model‐based testing (MBT) relies on models of a system under test and/or its environment to
derive test cases for the system. This paper discusses the process of MBT and defines a …

Automated fixing of programs with contracts

Y Wei, Y Pei, CA Furia, LS Silva, S Buchholz… - Proceedings of the 19th …, 2010 - dl.acm.org
In program debugging, finding a failing run is only the first step; what about correcting the
fault? Can we automate the second task as well as the first? The AutoFix-E tool …

Inferring extended finite state machine models from software executions

N Walkinshaw, R Taylor, J Derrick - Empirical software engineering, 2016 - Springer
The ability to reverse-engineer models of software behaviour is valuable for a wide range of
software maintenance, validation and verification tasks. Current reverse-engineering …

Automatic programming: Large language models and beyond

MR Lyu, B Ray, A Roychoudhury, SH Tan… - ACM Transactions on …, 2024 - dl.acm.org
Automatic programming has seen increasing popularity due to the emergence of tools like
GitHub Copilot which rely on Large Language Models (LLMs). At the same time …

Zaps and their applications

C Dwork, M Naor - … 41st Annual Symposium on Foundations of …, 2000 - ieeexplore.ieee.org
A zap is a two-round, witness-indistinguishable protocol in which the first round, consisting
of a message from the verifier to the prover, can be fixed" once-and-for-all" and applied to …

Model checking agent programming languages

LA Dennis, M Fisher, MP Webster… - Automated software …, 2012 - Springer
In this paper we describe a verification system for multi-agent programs. This is the first
comprehensive approach to the verification of programs developed using programming …