English
Related papers

Related papers: Using ACL2 To Teach Students About Software Testin…

200 papers

Verification of numerical accuracy properties in modern software remains an important and challenging task. This paper describes an original framework combining different solutions for numerical accuracy. First, we extend an existing…

Software Engineering · Computer Science 2019-11-26 Maxime Jacquemin , Fonenantsoa Maurica , Nikolai Kosmatov , Julien Signoles , Franck Védrine

In this work, we show a methodology aimed to improve the quality of the assessment process for subjects related to basic programming. The method takes into account the relevance of the items and the students answers to follow different…

Computers and Society · Computer Science 2014-03-07 P. Molins-Ruano , C. González-Sacristán , F. Díez , P. Rodriguez , G. M. Sacha

Concolic testing is a popular software verification technique based on a combination of concrete and symbolic execution. Its main focus is finding bugs and generating test cases with the aim of maximizing code coverage. A previous approach…

Logic in Computer Science · Computer Science 2020-09-23 Fred Mesnard , Etienne Payet , German Vidal

This paper introduces a proposal for a Proof Carrying Code (PCC) architecture called Lissom. Started as a challenge for final year Computing students, Lissom was thought as a mean to prove to a sceptic community, and in particular to…

Logic in Computer Science · Computer Science 2008-12-18 Joao Gomes , Daniel Martins , Simao Melo de Sousa , Jorge Sousa Pinto

Most software development projects rely on Integrated Development Environments (IDEs) based on the desktop paradigm, with an interactive, mouse-driven user interface. The standard installation of ACL2, on the other hand, is designed to work…

Software Engineering · Computer Science 2013-05-01 Caleb Eggensperger

Effective software testing is critical for producing reliable and secure software, yet many computer science students struggle to master the foundational concepts required to construct comprehensive test suites. While automated feedback…

Software Engineering · Computer Science 2025-10-02 Shiza Andleeb , Teo Mendoza , Lucas Cordova , Gursimran Walia , Jeffrey C. Carver

Contrastive learning (CL) has recently emerged as an effective approach to learning representation in a range of downstream tasks. Central to this approach is the selection of positive (similar) and negative (dissimilar) sets to provide the…

Machine Learning · Computer Science 2021-10-25 Anh Bui , Trung Le , He Zhao , Paul Montague , Seyit Camtepe , Dinh Phung

The focus of this study is on Unsupervised Continual Learning (UCL), as it presents an alternative to Supervised Continual Learning which needs high-quality manual labeled data. The experiments under the UCL paradigm indicate a phenomenon…

Computer Vision and Pattern Recognition · Computer Science 2023-11-28 Chen Cheng , Jingkuan Song , Xiaosu Zhu , Junchen Zhu , Lianli Gao , Hengtao Shen

Test or prove? These two approaches to software verification have long been presented as opposites. One is dynamic, the other static: a test executes the program, a proof only analyzes the program text. A different perspective is emerging,…

Software Engineering · Computer Science 2026-02-10 Li Huang , Bertrand Meyer , Manuel Oriol

Software testing is an important tool to ensure software quality. This is a hard task in robotics due to dynamic environments and the expensive development and time-consuming execution of test cases. Most testing approaches use model-based…

Robotics · Computer Science 2017-08-15 Simon Hangl , Sebastian Stabinger , Justus Piater

The paper studies how code generation by LLMs can be combined with formal verification to produce critical embedded software. The first contribution is a general framework, spec2code, in which LLMs are combined with different types of…

Software Engineering · Computer Science 2024-11-21 Minal Suresh Patil , Gustav Ung , Mattias Nyberg

We present a data definition framework that enables the convenient specification of data types in ACL2s, the ACL2 Sedan. Our primary motivation for developing the data definition framework was pedagogical. We were teaching undergraduate…

Programming Languages · Computer Science 2014-06-09 Harsh Raju Chamarthi , Peter C. Dillinger , Panagiotis Manolios

Formal software testing education is important for building efficient QA professionals. Various aspects of quality assurance approaches are usually covered in courses for training software testing students. Automated Test Tools is one of…

Software Engineering · Computer Science 2024-06-03 Susmita Haldar , Mary Pierce , Luiz Fernando Capretz

Formal methods yet advantageous, face challenges towards wide acceptance and adoption in software development practices. The major reason being presumed complexity. The issue can be addressed by academia with a thoughtful plan of teaching…

Software Engineering · Computer Science 2019-06-05 Mansur Khazeev , Manuel Mazzara , Daniel De Carvalho , Hamna Aslam

A recent case study from AWS by Chong et al. proposes an effective methodology for Bounded Model Checking in industry. In this paper, we report on a follow up case study that explores the methodology from the perspective of three research…

Software Engineering · Computer Science 2021-07-05 Siddharth Priya , Xiang Zhou , Yusen Su , Yakir Vizel , Yuyan Bao , Arie Gurfinkel

2LS ("tools") is a verification tool for C programs, built upon the CPROVER framework. It allows one to verify user-specified assertions, memory safety properties (e.g. buffer overflows), numerical overflows, division by zero, memory leaks,…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Viktor Malík , Peter Schrammel , Tomáš Vojnar

We explore the possibility of accelerating the formal verification of classical programs with a quantum computer. A common source of security flaws stems from the existence of common programming errors like use after free, null-pointer…

Quantum Physics · Physics 2026-05-06 Sebastian Issel , Kilian Tscharke , Pascal Debus

Software Engineering concepts such as version control, continuous integration, and unit testing are often not presented in college computer science curriculums until the third year of study, after completing several semesters of programming…

Software Engineering · Computer Science 2023-10-09 Joseph Latessa , Aadi Huria , Deepak Raju

Generating factual-consistent summaries is a challenging task for abstractive summarization. Previous works mainly encode factual information or perform post-correct/rank after decoding. In this paper, we provide a factual-consistent…

Computation and Language · Computer Science 2022-01-11 Wei Liu , Huanqin Wu , Wenjing Mu , Zhen Li , Tao Chen , Dan Nie

Distributed software is very tricky to implement correctly as some errors only occur in peculiar situations. For such errors testing is not effective. Mathematically proving correctness is hard and time consuming, and therefore, it is…

Logic in Computer Science · Computer Science 2025-08-08 Jan Friso Groote , Jeroen J. A. Keiren