English
Related papers

Related papers: Refinement types for precisely named cache locatio…

200 papers

Renaming identifiers in source code is a common refactoring task in software development. When renaming an identifier, other identifiers containing words with the same naming intention related to the renaming should be renamed…

Software Engineering · Computer Science 2024-09-27 Naoki Doi , Yuki Osumi , Shinpei Hayashi

We introduce a new setting, the category of $\omega$PAP spaces, for reasoning denotationally about expressive differentiable and probabilistic programming languages. Our semantics is general enough to assign meanings to most practical…

Programming Languages · Computer Science 2023-05-29 Mathieu Huot , Alexander K. Lew , Vikash K. Mansinghka , Sam Staton

Despite great advances in program synthesis techniques, they remain algorithmic black boxes. Although they guarantee that when synthesis is successful, the implementation satisfies the specification, they provide no additional information…

Programming Languages · Computer Science 2024-03-07 Amirmohammad Nazari , Souti Chattopadhyay , Swabha Swayamdipta , Mukund Raghothaman

Our aim is to statically verify that in a given reactive program, the length of collection variables does not grow beyond a given bound. We propose a scalable type-based technique that checks that each collection variable has a given…

Programming Languages · Computer Science 2019-01-29 Tianhan Lu , Pavol Cerny , Bor-Yuh Evan Chang , Ashutosh Trivedi

An efficient and flexible engine for computing fixed points is critical for many practical applications. In this paper, we firstly present a goal-directed fixed point computation strategy in the logic programming paradigm. The strategy…

Programming Languages · Computer Science 2007-05-23 Hai-Feng Guo , Gopal Gupta

Comprehensibility of source code is strongly affected by identifier names, therefore software developers need to give good (e.g. meaningful but short) names to identifiers. On the other hand, giving a good name is sometimes a difficult and…

Software Engineering · Computer Science 2019-07-15 Hiroshi Yonai , Yasuhiro Hayase , Hiroyuki Kitagawa

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

Liquid typing provides a decidable refinement inference mechanism that is convenient but subject to two major issues: (1) inference is global and requires top-level annotations, making it unsuitable for inference of modular code components…

Programming Languages · Computer Science 2019-10-31 Niki Vazou , Éric Tanter , David Van Horn

The pattern-match safety problem is to verify that a given functional program will never crash due to non-exhaustive patterns in its function definitions. We present a refinement type system that can be used to solve this problem. The…

Programming Languages · Computer Science 2020-11-26 Eddie Jones , Steven Ramsay

The majority of modern systems exhibit sophisticated concurrent behaviour, where several system components modify and observe the system state with fine-grained atomicity. Many systems (e.g., multi-core processors, real-time controllers)…

Logic in Computer Science · Computer Science 2013-05-28 Brijesh Dongol , John Derrick

This study presents incremental correction methods for refining neural network parameters or control functions entering into a continuous-time dynamic system to achieve improved solution accuracy in satisfying the interim point constraints…

Optimization and Control · Mathematics 2024-03-12 Namhoon Cho , Hyo-Sang Shin , Antonios Tsourdos , Davide Amato

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

Training large-scale image recognition models is computationally expensive. This raises the question of whether there might be simple ways to improve the test performance of an already trained model without having to re-train or fine-tune…

Computer Vision and Pattern Recognition · Computer Science 2018-11-27 A. Emin Orhan

This dissertation introduces executable refinement types, which refine structural types by semi-decidable predicates, and establishes their metatheory and accompanying implementation techniques. These results are useful for undecidable type…

Programming Languages · Computer Science 2014-03-14 Kenneth Knowles

In the language-theoretic approach to refinement verification, we check that the language of traces of an implementation all belong to the language of a specification. We consider the refinement verification problem for asynchronous…

Formal Languages and Automata Theory · Computer Science 2023-06-23 Pascal Baumann , Moses Ganardi , Rupak Majumdar , Ramanathan S. Thinniyam , Georg Zetzsche

A resource leak occurs when a program fails to free some finite resource after it is no longer needed. Such leaks are a significant cause of real-world crashes and performance problems. Recent work proposed an approach to prevent resource…

Software Engineering · Computer Science 2023-09-25 Narges Shadab , Pritam Gharat , Shrey Tiwari , Michael D. Ernst , Martin Kellogg , Shuvendu Lahiri , Akash Lal , Manu Sridharan

Names are essential to both human cognition and vision-language models. Open-vocabulary models utilize class names as text prompts to generalize to categories unseen during training. However, the precision of these names is often overlooked…

Computer Vision and Pattern Recognition · Computer Science 2024-05-27 Haiwen Huang , Songyou Peng , Dan Zhang , Andreas Geiger

Pointer analysis is a fundamental static program analysis for computing the set of objects that an expression can refer to. Decades of research has gone into developing methods of varying precision and efficiency for pointer analysis for…

Programming Languages · Computer Science 2021-10-07 K. Tuncay Tekle , Yanhong A. Liu

For applications in worst-case execution time analysis and in security, it is desirable to statically classify memory accesses into those that result in cache hits, and those that result in cache misses. Among cache replacement policies,…

Programming Languages · Computer Science 2018-12-21 Claire Maïza , Valentin Touzeau , David Monniaux , Jan Reineke

We present a new type system combining occurrence typing, previously used to type check programs in dynamically-typed languages such as Racket, JavaScript, and Ruby, with dependent refinement types. We demonstrate that the addition of…

Programming Languages · Computer Science 2016-10-05 Andrew M. Kent , David Kempe , Sam Tobin-Hochstadt