English
Related papers

Related papers: Effectiveness of Annotation-Based Static Type Infe…

200 papers

Creating good type error messages for constraint-based type inference systems is difficult. Typical type error messages reflect implementation details of the underlying constraint-solving algorithms rather than the specific factors leading…

Programming Languages · Computer Science 2024-02-21 Ishan Bhanuka , Lionel Parreaux , David Binder , Jonathan Immanuel Brachthäuser

Automated software verification is a very active field of research which has made enormous progress both in theoretical and practical aspects. Recently, an important amount of research effort has been put into applying these techniques on…

Programming Languages · Computer Science 2010-11-16 Guido de Caso , Diego Garbervetsky , Daniel Gorín

Session types express and enforce safe communication in concurrent message-passing systems by statically capturing the interaction protocols between processes in the type. Recent works extend session types with arithmetic refinements, which…

Programming Languages · Computer Science 2026-02-09 Toby Ueno , Ankush Das

Industry can get any research it wants, just by publishing a baseline result along with the data and scripts need to reproduce that work. For instance, the paper ``Data Mining Static Code Attributes to Learn Defect Predictors'' presented…

Software Engineering · Computer Science 2025-01-28 Tim Menzies

Termination properties of actual Prolog systems with constraints are fragile and difficult to analyse. The lack of the occurs-check, moded and overloaded arithmetical evaluation via is/2 and the occasional nontermination of finite domain…

Programming Languages · Computer Science 2009-03-13 Markus Triska , Ulrich Neumerkel , Jan Wielemaker

Type-level programming is an increasingly popular way to obtain additional type safety. Unfortunately, it remains a second-class citizen in the majority of industrially-used programming languages. We propose a new dependently-typed system…

Programming Languages · Computer Science 2020-11-17 Georg Stefan Schmid , Olivier Blanvillain , Jad Hamza , Viktor Kunčak

Even though much progress has been made in identifying and mitigating smart contract vulnerabilities, we often hear about coding or design issues leading to great financial losses. This paper presents our progress toward finding defects…

Logic in Computer Science · Computer Science 2024-11-01 Stefan-Claudiu Susan

Gradual typing combines static and dynamic typing in the same language, offering the benefits of both to programmers. Static typing provides error detection and strong guarantees while dynamic typing enables rapid prototyping and flexible…

Programming Languages · Computer Science 2016-10-27 Michael M. Vitousek , Jeremy G. Siek

When using existing ACL2 datatype frameworks, many theorems require type hypotheses. These hypotheses slow down the theorem prover, are tedious to write, and are easy to forget. We describe a principled approach to types that provides…

Logic in Computer Science · Computer Science 2015-09-22 Sol Swords , Jared Davis

In this paper we show how prescritive type checking and constraint solving can be combined to increase automation during software verification. We do so by defining a type system and implementing a typechecker for {log} (read `setlog'), a…

Logic in Computer Science · Computer Science 2025-01-22 Maximiliano Cristiá , Gianfranco Rossi

Typestates are good at capturing dynamic states of a program as compared to normal types that can capture static structural properties of data and program. Although useful, typestates are suitable only for specifying and verifying program…

Programming Languages · Computer Science 2017-12-27 Ashish Mishra , Deepak Dsouza , Y. N. Srikant

Dynamic languages (such as Python and JavaScript) offer flexibility and simplified type handling for programming, but this can also lead to an increase in type-related errors and additional overhead for compile-time type inference. As a…

Software Engineering · Computer Science 2026-04-06 Teyu Lin , Minghao Fan , Huaxun Huang , Zhirong Shen , Rongxin Wu

All formalizations of session types rely on linear types for soundness as session-typed communication channels must change their type at every operation. Embedded language implementations of session types follow suit. They either rely on…

Programming Languages · Computer Science 2023-03-03 Peter Thiemann

Gradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type…

Software Engineering · Computer Science 2024-01-15 Yiu Wai Chow , Luca Di Grazia , Michael Pradel

This paper presents a new type analysis for logic programs. The analysis is performed with a priori type definitions; and type expressions are formed from a fixed alphabet of type constructors. Non-discriminative union is used to join type…

Programming Languages · Computer Science 2010-12-16 Lunjin Lu

We introduce SMProbLog, a generalization of the probabilistic logic programming language ProbLog. A ProbLog program defines a distribution over logic programs by specifying for each clause the probability that it belongs to a randomly…

Artificial Intelligence · Computer Science 2021-10-08 Pietro Totis , Angelika Kimmig , Luc De Raedt

Researchers are increasingly using language models (LMs) for text annotation. These approaches rely only on a prompt telling the model to return a given output according to a set of instructions. The reproducibility of LM outputs may…

Computation and Language · Computer Science 2026-05-18 Christopher Barrie , Elli Palaiologou , Petter Törnberg

We propose an approach on model checking information flow for imperative language with procedures. We characterize our model with pushdown system, which has a stack of unbounded length that naturally models the execution of procedural…

Cryptography and Security · Computer Science 2010-12-15 Cong Sun , Liyong Tang , Zhong Chen

Tracers provide users with useful information about program executions. In this article, we propose a ``tracer driver''. From a single tracer, it provides a powerful front-end enabling multiple dynamic analysis tools to be easily…

Software Engineering · Computer Science 2008-12-18 Ludovic Langevine , Mireille Ducasse

Metaprogramming and effect handlers interact in unexpected, and sometimes undesirable, ways. One example is scope extrusion: the generation of ill-scoped code. Scope extrusion can either be preemptively prevented, via static type systems,…

Programming Languages · Computer Science 2026-01-27 Michael Lee , Ningning Xie , Oleg Kiselyov , Jeremy Yallop