English
Related papers

Related papers: Emulation-Completeness of Programming Languages

200 papers

Scheduling languages express to a compiler a sequence of optimizations to apply. Compilers that support a scheduling language interface allow exploration of compiler optimizations, i.e., exploratory compilers. While scheduling languages…

Programming Languages · Computer Science 2024-10-29 Mary Hall , Cosmin Oancea , Anne C. Elster , Ari Rasch , Sameeran Joshi , Amir Mohammad Tavakkoli , Richard Schulze

Understanding a program's runtime reasoning behavior, meaning how intermediate states and control flows lead to final execution results, is essential for reliable code generation, debugging, and automated reasoning. Although large language…

Software Engineering · Computer Science 2025-12-02 Mohammad Abdollahi , Khandaker Rifah Tasnia , Soumit Kanti Saha , Jinqiu Yang , Song Wang , Hadi Hemmati

As large language models (LLMs) become integral to code-related tasks, a central question emerges: Do LLMs truly understand program semantics? We introduce EquiBench, a new benchmark for evaluating LLMs through equivalence checking, i.e.,…

Machine Learning · Computer Science 2025-09-23 Anjiang Wei , Jiannan Cao , Ran Li , Hongyu Chen , Yuhui Zhang , Ziheng Wang , Yuan Liu , Thiago S. F. X. Teixeira , Diyi Yang , Ke Wang , Alex Aiken

Dependent types help programmers write highly reliable code. However, this reliability comes at a cost: it can be challenging to write new prototypes in (or migrate old code to) dependently-typed programming languages. Gradual typing makes…

Programming Languages · Computer Science 2019-08-23 Joseph Eremondi , Éric Tanter , Ronald Garcia

Expertise in programming traditionally assumes a binary novice-expert divide. Learning resources typically target programmers who are learning programming for the first time, or expert programmers for that language. An underrepresented, yet…

Software Engineering · Computer Science 2018-08-29 Nischal Shrestha , Titus Barik , Chris Parnin

We present a semi-automated framework to construct and reason about programs in a deeply-embedded while-language. The while-language we consider is a simple computation model that can simulate (and be simulated by) Turing Machines with a…

Logic in Computer Science · Computer Science 2025-04-22 Kevin Kappelmann , Fabian Huch , Lukas Stevens , Mohammad Abdulaziz

The ability to identify authors of computer programs based on their coding style is a direct threat to the privacy and anonymity of programmers. While recent work found that source code can be attributed to authors with high accuracy,…

Cryptography and Security · Computer Science 2017-12-19 Aylin Caliskan , Fabian Yamaguchi , Edwin Dauber , Richard Harang , Konrad Rieck , Rachel Greenstadt , Arvind Narayanan

Code completion is widely used by software developers to provide coding suggestions given a partially written code snippet. Apart from the traditional code completion methods, which only support single token completion at minimal positions,…

Software Engineering · Computer Science 2021-06-29 Jingxuan Li , Rui Huang , Wei Li , Kai Yao , Weiguo Tan

Program equivalence in linear contexts, where programs are used or executed exactly once, is an important issue in programming languages. However, existing techniques like those based on bisimulations and logical relations only target at…

Programming Languages · Computer Science 2011-10-12 Yuxin Deng , Yu Zhang

Many debugging tools rely on compiler-produced metadata to present a source-language view of program states, such as variable values and source line numbers. While this tends to work for unoptimised programs, current compilers often…

Programming Languages · Computer Science 2024-02-08 J. Ryan Stinnett , Stephen Kell

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source…

Programming Languages · Computer Science 2017-08-29 José María Rey-Poza , Julio Mariño-Carballo

Recent advances in large language models (LLMs) for code applications have demonstrated remarkable zero-shot fluency and instruction following on challenging code related tasks ranging from test case generation to self-repair.…

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel…

Programming Languages · Computer Science 2023-02-10 Frank S. de Boer , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

The present paper introduces a novel notion of `(effective) computability', called viability, of strategies in game semantics in an intrinsic (i.e., without recourse to the standard Church-Turing computability), non-inductive and…

Logic in Computer Science · Computer Science 2018-06-27 Norihiro Yamada

In programming, protocols are everywhere. Protocols describe the pattern of interaction (or communication) between software systems, for example, between a user-space program and the kernel or between a local application and an online…

Programming Languages · Computer Science 2022-11-08 Laura Bocchi , Dominic Orchard , A. Laura Voinea

Large language models (LLMs) can generate executable code from natural language descriptions, but the resulting programs frequently contain bugs due to hallucinations. In the absence of formal specifications, existing approaches attempt to…

Software Engineering · Computer Science 2026-03-31 Yihan Dai , Sijie Liang , Haotian Xu , Peichu Xie , Sergey Mechtaev

Neural networks have in recent years shown promise for helping software engineers write programs and even formally verify them. While semantic information plays a crucial part in these processes, it remains unclear to what degree popular…

Machine Learning · Computer Science 2023-06-27 Shizhuo Dylan Zhang , Curt Tigges , Stella Biderman , Maxim Raginsky , Talia Ringer

Verification proofs encode complete program behavior, yet we discard them after checking correctness. We present compiling by proving, a paradigm that transforms these proofs into optimized execution rules. By constructing All-Path…

Programming Languages · Computer Science 2025-09-29 Jianhong Zhao , Everett Hildenbrandt , Juan Conejero , Yongwang Zhao

Erlang's dynamic typing discipline can lead to runtime errors that persist even after process restarts. Some of these runtime errors could be prevented through static type checking. While Erlang provides a type specification language, the…

Programming Languages · Computer Science 2026-03-24 Albert Schimpf , Stefan Wehr , Annette Bieniusa