English
Related papers

Related papers: Check Your (Students') Proofs-With Holes

200 papers

A low-degree test is a collection of simple, local rules for checking the proximity of an arbitrary function to a low-degree polynomial. Each rule depends on the function's values at a small number of places. If a function satisfies many…

Computational Complexity · Computer Science 2013-07-16 Katalin Friedl , Madhu Sudan

Structural induction is a proof technique that is widely used to prove statements about discrete structures. Students find it hard to construct inductive proofs, and when learning to construct such proofs, receiving feedback is important.…

Logic in Computer Science · Computer Science 2020-03-02 Josje Lodder , Bastiaan Heeren , Johan Jeuring

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual…

Programming Languages · Computer Science 2017-05-29 James Cheney , Alberto Momigliano

Noisy data, non-convex objectives, model misspecification, and numerical instability can all cause undesired behaviors in machine learning systems. As a result, detecting actual implementation errors can be extremely difficult. We…

Software Engineering · Computer Science 2017-06-28 Daniel Selsam , Percy Liang , David L. Dill

Recently there has been a great attention from the scientific community towards the use of the model-checking technique as a tool for test generation in the simulation field. This paper aims to provide a useful mean to get more insights…

Logic in Computer Science · Computer Science 2011-11-14 Margherita Napoli , Mimmo Parente

Incorrectness Separation Logic (ISL) is a proof system designed to automate verification and detect bugs in programs manipulating heap memories. In this study, we extend ISL to support variable-length array predicates and pointer…

Logic in Computer Science · Computer Science 2025-03-04 Yeonseok Lee , Koji Nakazawa

Language model reasoning traces are rarely all-or-nothing; they frequently contain valid intermediate steps before a critical error occurs. Existing uncertainty quantification methods typically certify final answers or entire responses,…

Artificial Intelligence · Computer Science 2026-05-29 Matt Y. Cheung , Ashok Veeraraghavan , Hanjie Chen , Guha Balakrishnan

We present a tool for verification of hybrid systems expressed in the sequential fragment of HCSP (Hybrid Communicating Sequential Processes). The tool permits annotating HCSP programs with pre- and postconditions, invariants, and proof…

Logic in Computer Science · Computer Science 2023-02-22 Huanhuan Sheng , Alexander Bentkamp , Bohua Zhan

We present the first constructions of single-prover proof systems that achieve perfect zero knowledge (PZK) for languages beyond NP, under no intractability assumptions: 1. The complexity class #P has PZK proofs in the model of Interactive…

Computational Complexity · Computer Science 2016-10-13 Eli Ben-Sasson , Alessandro Chiesa , Michael A. Forbes , Ariel Gabizon , Michael Riabzev , Nicholas Spooner

In software testing, a set of test cases is constructed according to some predefined selection criteria. The software is then examined against these test cases. Three interesting observations have been made on the current artifacts of…

Software Engineering · Computer Science 2020-03-02 T. Y. Chen , S. C. Cheung , S. M. Yiu

We give a process for verifying numerical programs against their functional specifications. Our implementation is capable of automatically verifying programs against tight error bounds featuring common elementary functions. We demonstrate…

Logic in Computer Science · Computer Science 2022-07-05 Junaid Rasheed , Michal Konečný

We argue that verification of recursive programs by means of the assertional method of C.A.R. Hoare can be conceptually simplified using a modular reasoning. In this approach some properties of the program are established first and…

Logic in Computer Science · Computer Science 2009-07-27 Krzysztof R. Apt , Frank S. de Boer , Ernst-Rüdiger Olderog

Logic programs are a powerful approach for solving NP-Hard problems. However, due to their declarative nature, debugging logic programs poses significant challenges. Unlike procedural paradigms, which allow for step-by-step inspection of…

Software Engineering · Computer Science 2024-10-29 Ricardo Brancas , Vasco Manquinho , Ruben Martins

We propose a new library to model and verify hardware circuits in the Coq proof assistant. This library allows one to easily build circuits by following the usual pen-and-paper diagrams. We define a deep-embedding: we use a (dependently…

Logic in Computer Science · Computer Science 2011-08-23 Thomas Braibant

Separation logic is successful for software verification in both theory and practice. Decision procedure for symbolic heaps is one of the key issues. This paper proposes a cyclic proof system for symbolic heaps with general form of…

Logic in Computer Science · Computer Science 2018-05-29 Makoto Tatsuta , Koji Nakazawa , Daisuke Kimura

Learning basic programming with Scratch can be hard for novices and tutors alike: Students may not know how to advance when solving a task, teachers may face classrooms with many raised hands at a time, and the problem is exacerbated when…

Software Engineering · Computer Science 2021-05-13 Florian Obermüller , Ute Heuer , Gordon Fraser

As software systems increase in size and complexity dramatically, ensuring their correctness, security, and reliability becomes an increasingly formidable challenge. Despite significant advancements in verification techniques and tools,…

Background: Proof Blocks is a software tool that enables students to construct proofs by assembling prewritten lines and gives them automated feedback. Prior work on learning gains from Proof Blocks has focused on comparing learning gains…

Human-Computer Interaction · Computer Science 2023-11-03 Seth Poulsen , Hongxuan Chen , Yael Gertner , Benjamin Cosman , Matthew West , Geoffrey L Herman

While the use of programming problems on exams is a common form of summative assessment in CS courses, grading such exam problems can be a difficult and inconsistent process. Through an analysis of historical grading patterns we show that…

Computers and Society · Computer Science 2024-03-25 Sonja Johnson-Yu , Nicholas Bowman , Mehran Sahami , Chris Piech

Gradualizing the Calculus of Inductive Constructions (CIC) involves dealing with subtle tensions between normalization, graduality, and conservativity with respect to CIC. Recently, GCIC has been proposed as a parametrized gradual type…

Programming Languages · Computer Science 2022-09-05 Kenji Maillard , Meven Lennon-Bertrand , Nicolas Tabareau , Éric Tanter