English
Related papers

Related papers: Specializing Scope Graph Resolution Queries: Exten…

200 papers

Designing query languages for graph structured data is an active field of research, where expressiveness and efficient algorithms for query evaluation are conflicting goals. To better handle dynamically changing data, recent work has been…

Logic in Computer Science · Computer Science 2016-05-06 M. Praveen , B. Srivathsan

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

Specializing low-level systems to specifics of the workload they serve and platform they are running on often significantly improves performance. However, specializing systems is difficult because of three compounding challenges: i)…

Software Engineering · Computer Science 2025-01-22 Vaastav Anand , Deepak Garg , Antoine Kaufmann

A type system combining type application, constants as types, union types (associative, commutative and idempotent) and recursive types has recently been proposed for statically typing path polymorphism, the ability to define functions that…

Logic in Computer Science · Computer Science 2020-06-30 Juan Edi , Andrés Viso , Eduardo Bonelli

Precise and fast static type analysis for dynamically typed language is very difficult. This is mainly because the lack of static type information makes it difficult to approximate all possible values of a variable. Actually, the existing…

Software Engineering · Computer Science 2023-02-16 Ryutaro Kodama , Yoshitaka Arahori , Kathuhiko Gondow

Static analyzers are tool sets which are proving to be indispensable to modern programmers. These enable the programmers to detect possible errors and security defects present in the current code base within the implementation phase of the…

Software Engineering · Computer Science 2019-05-14 Eljose E Sajan , Yunpeng Zhang , Liang-Chieh Cheng

Developing efficient geo-distributed applications is challenging as programmers can easily introduce computations that entail high latency communication. We propose a language design which makes latency explicit and extracts type-level…

Programming Languages · Computer Science 2020-07-31 Tobias Reinhard

When writing programs involving matrices or tensors in general, it is desirable to rule out the inconsistency of tensor shapes (i.e., the generalization of matrix sizes) before actual computation. For this purpose, some languages provide…

Programming Languages · Computer Science 2026-04-28 Takashi Suwa , Atsushi Igarashi

Spellchecking is one of the most fundamental and widely used search features. Correcting incorrectly spelled user queries not only enhances the user experience but is expected by the user. However, most widely available spellchecking…

Computation and Language · Computer Science 2024-04-16 Sanat Sharma , Josep Valls-Vargas , Tracy Holloway King , Francois Guerin , Chirag Arora

Automatic synthesis from a given specification automatically constructs correct implementation. This frees the user from the mundane implementation work, but still requires the specification. But is specifying easier than implementing? In…

Logic in Computer Science · Computer Science 2016-02-04 Ayrat Khalimov

Formally verified compilers and formally verified static analyzers are a solution to the problem that certain industries face when they have to demonstrate to authorities that the object code they run truly corresponds to its source code…

Logic in Computer Science · Computer Science 2024-07-12 David Monniaux

Strictness analysis is critical to efficient implementation of languages with non-strict evaluation, mitigating much of the performance overhead of laziness. However, reasoning about strictness at the source level can be challenging and…

Programming Languages · Computer Science 2026-01-12 Daniel Sainati , Joseph W. Cutler , Benjamin C. Pierce , Stephanie Weirich

Runtime verification is an effective automated method for specification-based offline testing and analysis as well as online monitoring of complex systems. The specification language is often a variant of regular expressions or a popular…

Logic in Computer Science · Computer Science 2014-11-11 Ramy Medhat , Yogi Joshi , Borzoo Bonakdarpour , Sebastian Fischmeister

Automated theorem provers are used in extended static checking, where they are the performance bottleneck. Extended static checkers are run typically after incremental changes to the code. We propose to exploit this usage pattern to improve…

Logic in Computer Science · Computer Science 2007-08-07 Radu Grigore , Michał Moskal

Typical JavaScript (JS) programs feature a large number of object property accesses. Hence, fast property reads and writes are crucial for good performance. Unfortunately, many (often redundant) dynamic checks are implied in each property…

Programming Languages · Computer Science 2015-07-10 Maxime Chevalier-Boisvert , Marc Feeley

Work on knowledge graphs and graph-based data management often focus either on declarative graph query languages or on frameworks for graph analytics, where there has been little work in trying to combine both approaches. However, many…

Databases · Computer Science 2020-04-07 Aidan Hogan , Juan Reutter , Adrian Soto

Expressing class specifications via executable constraints is important for various software engineering tasks such as test generation, bug finding and automated debugging, but developers rarely write them. Techniques that infer…

Software Engineering · Computer Science 2022-01-27 Facundo Molina , Marcelo d'Amorim , Nazareno Aguirre

We present Refined TypeScript (RSC), a lightweight refinement type system for TypeScript, that enables static verification of higher-order, imperative programs. We develop a formal core of RSC that delineates the interaction between…

Programming Languages · Computer Science 2016-04-12 Panagiotis Vekris , Benjamin Cosman , Ranjit Jhala

Gradual typing combines static and dynamic typing in the same program. One would hope that the performance in a gradually typed language would range between that of a dynamically typed language and a statically typed language. Existing…

Programming Languages · Computer Science 2018-02-20 Andre Kuhlenschmidt , Deyaaeldeen Almahallawi , Jeremy G. Siek

We propose a new technique based on program synthesis for automatically generating visualizations from natural language queries. Our method parses the natural language query into a refinement type specification using the intents-and-slots…

Programming Languages · Computer Science 2022-09-05 Qiaochu Chen , Shankara Pailoor , Celeste Barnaby , Abby Criswell , Chenglong Wang , Greg Durrett , Isil Dillig