English
Related papers

Related papers: Kotlin's Type System is (Also) Unsound

200 papers

We present the first session typing system guaranteeing request-response liveness properties for possibly non-terminating communicating processes. The types augment the branch and select types of the standard binary session types with a set…

Logic in Computer Science · Computer Science 2017-01-11 Søren Debois , Thomas Hildebrandt , Tijs Slaats , Nobuko Yoshida

Path polymorphism is the ability to define functions that can operate uniformly over arbitrary recursively specified data structures. Its essence is captured by patterns of the form $x\,y$ which decompose a compound data structure into its…

Logic in Computer Science · Computer Science 2020-06-30 Andrés Viso , Eduardo Bonelli , Mauricio Ayala-Rincón

Security-sensitive applications that execute untrusted code often check the code's integrity by comparing its syntax to a known good value or sandbox the code to contain its effects. System M is a new program logic for reasoning about such…

Cryptography and Security · Computer Science 2015-01-26 Limin Jia , Shayak Sen , Deepak Garg , Anupam Datta

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

Programming Languages · Computer Science 2020-08-31 Isabel Wingen , Philipp Körner

We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is…

Programming Languages · Computer Science 2016-10-19 Satish Chandra , Colin S. Gordon , Jean-Baptiste Jeannin , Cole Schlesinger , Manu Sridharan , Frank Tip , Youngil Choi

We show how security type systems from the literature of language-based noninterference can be represented more directly as predicates defined by structural recursion on the programs. In this context, we show how our uniform syntactic…

Cryptography and Security · Computer Science 2013-08-16 Andrei Popescu

Blockchain platforms are coming into broad use for processing critical transactions among participants who have not established mutual trust. Many blockchains are programmable, supporting smart contracts, which maintain persistent state and…

Types in logic programming have focused on conservative approximations of program semantics by regular types, on one hand, and on type systems based on a prescriptive semantics defined for typed programs, on the other. In this paper, we…

Logic in Computer Science · Computer Science 2019-09-19 João Barbosa , Mário Florido , Vítor Santos Costa

A proof of quantumness (PoQ) allows a classical verifier to efficiently test if a quantum machine is performing a computation that is infeasible for any classical machine. In this work, we propose a new approach for constructing PoQ…

Quantum Physics · Physics 2025-06-02 Giulio Malavolta , Tamer Mour

We give new proofs of soundness (all representable functions on base types lies in certain complexity classes) for Elementary Affine Logic, LFPL (a language for polytime computation close to realistic functional programming introduced by…

Logic in Computer Science · Computer Science 2007-05-23 U. Dal Lago , M. Hofmann

As an alternative to Java, Kotlin has gained rapid popularity since its introduction and has become the default choice for developing Android apps. However, due to its interoperability with Java, Kotlin programs may contain almost the same…

Programming Languages · Computer Science 2022-08-01 Ranjith Krishnamurthy , Goran Piskachev , Eric Bodden

Substantial improvements have been achieved in recent years in voice conversion, which converts the speaker characteristics of an utterance into those of another speaker without changing the linguistic content of the utterance. Nonetheless,…

Audio and Speech Processing · Electrical Eng. & Systems 2021-05-05 Chien-yu Huang , Yist Y. Lin , Hung-yi Lee , Lin-shan Lee

Quantum money is the task of verifying the validity of banknotes while ensuring that they cannot be counterfeited. Public-key quantum money allows anyone to perform verification, while the private-key setting restricts the ability to verify…

Quantum Physics · Physics 2025-04-09 Peter Yuen

Many important security properties can be formulated in terms of flows of tainted data, and improved taint analysis tools to prevent such flows are of critical need. Most existing taint analyses use whole-program static analysis, leading to…

Programming Languages · Computer Science 2025-05-02 Nima Karimipour , Kanak Das , Manu Sridharan , Behnaz Hassanshahi

It was recently proved that a sound and complete qualitative simulator does not exist, that is, as long as the input-output vocabulary of the state-of-the-art QSIM algorithm is used, there will always be input models which cause any…

Artificial Intelligence · Computer Science 2011-11-21 Ö. Yılmaz , A. C. C. Say

Noiseless subsystems offer a general and efficient method for protecting quantum information in the presence of noise that has symmetry properties. A paradigmatic class of error models displaying non-trivial symmetries emerges under…

We present ConSORT, a type system for safety verification in the presence of mutability and aliasing. Mutability requires strong updates to model changing invariants during program execution, but aliasing between pointers makes it difficult…

Programming Languages · Computer Science 2020-02-19 John Toman , Ren Siqi , Kohei Suenaga , Atsushi Igarashi , Naoki Kobayashi

Existing automated verification techniques for safe Rust code rely on the strong type-system properties to reason about programs, especially to deduce which memory locations do not change (i.e., are framed) across function calls. However,…

Programming Languages · Computer Science 2024-05-15 Federico Poli , Xavier Denis , Peter Müller , Alexander J. Summers

The Windows Vista operating system implements an interesting model of multi-level integrity. We observe that in this model, trusted code can be blamed for any information-flow attack; thus, it is possible to eliminate such attacks by static…

Cryptography and Security · Computer Science 2008-12-18 Avik Chaudhuri , Prasad Naldurg , Sriram Rajamani

Context: Gradually-typed languages allow typed and untyped code to interoperate, but typically come with significant drawbacks. In some languages, the types are unreliable; in others, communication across type boundaries can be extremely…

Programming Languages · Computer Science 2022-06-29 Kuang-Chen Lu , Ben Greenman , Carl Meyer , Dino Viehland , Aniket Panse , Shriram Krishnamurthi