English
Related papers

Related papers: Verified Subtyping with Traits and Mixins

200 papers

The Dependent Object Types (DOT) calculus formalizes key features of Scala. The D$_{<: }$ calculus is the core of DOT. To date, presentations of D$_{<: }$ have used declarative typing and subtyping rules, as opposed to algorithmic.…

Programming Languages · Computer Science 2017-09-29 Abel Nieto

Scale variation across object instances remains a key challenge in object detection task. Despite the remarkable progress made by modern detection models, this challenge is particularly evident in the semi-supervised case. While existing…

Computer Vision and Pattern Recognition · Computer Science 2023-03-17 Liang Liu , Boshen Zhang , Jiangning Zhang , Wuhao Zhang , Zhenye Gan , Guanzhong Tian , Wenbing Zhu , Yabiao Wang , Chengjie Wang

We propose a formal approach for relating abstract separation logic library specifications with the trace properties they enforce on interactions between a client and a library. Separation logic with abstract predicates enforces a resource…

Programming Languages · Computer Science 2017-02-13 Lars Birkedal , Thomas Dinsdale-Young , Guilhem Jaber , Kasper Svendsen , Nikos Tzevelekos

Aliasing is a known source of challenges in the context of imperative object-oriented languages, which have led to important advances in type systems for aliasing control. However, their large-scale adoption has turned out to be a…

Programming Languages · Computer Science 2016-07-26 Philipp Haller , Alexandre Loiko

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

In testing stateful abstractions, it is often necessary to record interactions, such as method invocations, and express assertions over these interactions. Following the Test Spy design pattern, we can reify such interactions…

Software Engineering · Computer Science 2019-08-26 Konstantin Läufer , John O'Sullivan , George K. Thiruvathukal

We propose Splinter, a new technique for proving properties of heap-manipulating programs that marries (1) a new separation logic-based analysis for heap reasoning with (2) an interpolation-based technique for refining heap-shape invariants…

Logic in Computer Science · Computer Science 2015-01-20 Aws Albarghouthi , Josh Berdine , Byron Cook , Zachary Kincaid

Learning the compatibility between fashion items across categories is a key task in fashion analysis, which can decode the secret of clothing matching. The main idea of this task is to map items into a latent style space where compatible…

Information Retrieval · Computer Science 2019-08-01 Zekun Li , Zeyu Cui , Shu Wu , Xiaoyu Zhang , Liang Wang

Type soundness is an important property of modern programming languages. In this paper we explore the idea that "well-typed languages are sound": the idea that the appropriate typing discipline over language specifications guarantees that…

Programming Languages · Computer Science 2016-11-17 Matteo Cimini , Dale Miller , Jeremy G. Siek

The calculus of Dependent Object Types (DOT) has enabled a more principled and robust implementation of Scala, but its support for type-level computation has proven insufficient. As a remedy, we propose $F^\omega_{..}$, a rigorous…

Programming Languages · Computer Science 2021-07-06 Sandro Stucki , Paolo G. Giarrusso

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

Architecture patterns capture architectural design experience and provide abstract solutions to recurring architectural design problems. They consist of a description of component types and restrict component connection and activation.…

Software Engineering · Computer Science 2017-03-22 Diego Marmsoler , Silvio Degenhardt

Style is a significant component of natural language text, reflecting a change in the tone of text while keeping the underlying information the same. Even though programming languages have strict syntax rules, they also have style. Code can…

Computation and Language · Computer Science 2022-09-15 Karl Munson , Anish Savla , Chih-Kai Ting , Serenity Wade , Kiran Kate , Kavitha Srinivas

Functional programming typically emphasizes programming with first-class functions and immutable data. Immutable data types enable fault tolerance in distributed systems, and ensure process isolation in message-passing concurrency, among…

Programming Languages · Computer Science 2017-04-12 Philipp Haller , Ludvig Axelsson

The interplay between process behaviour and spatial aspects of computation has become more and more relevant in Computer Science, especially in the field of collective adaptive systems, but also, more generally, when dealing with systems…

Logic in Computer Science · Computer Science 2014-06-27 Vincenzo Ciancia , Diego Latella , Michele Loreti , Mieke Massink

We demonstrate that traits are a natural way to support correctness-by-construction (CbC) in an existing programming language in the presence of traditional post-hoc verification (PhV). With Correctness-by-Construction, programs are…

Programming Languages · Computer Science 2022-04-13 Tobias Runge , Alex Potanin , Thomas Thüm , Ina Schaefer

Formally verifying properties of programs that manipulate arrays in loops is computationally challenging. In this paper, we focus on a useful class of such programs, and present a novel property-driven verification method that first infers…

Software Engineering · Computer Science 2017-10-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Code-switching is a prevalent linguistic phenomenon in which multilingual individuals seamlessly alternate between languages. Despite its widespread use online and recent research trends in this area, research in code-switching presents…

Computation and Language · Computer Science 2024-05-08 Frances A. Laureano De Leon , Harish Tayyar Madabushi , Mark Lee

With this paper, we survey techniques for improving the predictive accuracy of pretrained large language models by allocating additional compute at inference time. In categorizing test-time scaling methods, we place special emphasis on how…

Computation and Language · Computer Science 2025-11-20 Zhuoyi Yang , Xu Guo , Tong Zhang , Huijuan Xu , Boyang Li

The program synthesis problem within the Inductive Logic Programming (ILP) community has typically been seen as untyped. We consider the benefits of user provided types on background knowledge. Building on the Meta-Interpretive Learning…

Artificial Intelligence · Computer Science 2021-02-26 Rolf Morel