26,098 papers · page 261 of 1,305
Rodrigo Raya, Viktor Kuncak
We show that the satisfiability problem for the quantifier-free theory of product structures with the equicardinality relation is in NP. As an application, we extend the combinatory array logic fragment to handle cardinality constraints. The resulting fragment is independent of t…
Riley Roberts, Thakur Neupane, Lukas Buecherl, Chris J. Myers, Zhen Zhang
Abstract elided by the publisher.
Georg Stefan Schmid, Viktor Kuncak
. We present an approach for verification of programs with shared mutable references against specifications such as assertions, pre-conditions, postconditions, and read/write effects. We implement our tool in the Stainless verification system for Scala. A novelty of our approach is t…
Tobias Seufert, Christoph Scholl, Arun Chandrasekharan, Sven Reimer, Tobias Welp
Abstract elided by the publisher.
Landon Taylor, Zhen Zhang
Abstract elided by the publisher.
Rahmadi Trimananda, Weiyu Luo, Brian Demsky, Guoqing Harry Xu
Event-driven architectures are broadly used for systems that must respond to events in the real world. Event-driven applications are prone to concurrency bugs that involve subtle errors in reasoning about the ordering of events. Unfortunately, there are several challenges in usin…
Scott Wesley, Maria Christakis, Jorge A. Navas, Richard J. Trefler, Valentin Wüstholz, Arie Gurfinkel
Abstract elided by the publisher.
Tobias Winkler, Johannes Lehmann, Joost-Pieter Katoen
State-of-the-art probabilistic model checkers perform verification on explicit-state Markov models defined in a high-level programming formalism like the PRISM modeling language. Typically, the low-level models resulting from such program-like specifications exhibit lots of struc…
Yuming Wu, Lei Bu, Jiawan Wang, Xinyue Ren, Wen Xiong, Xuandong Li
Abstract elided by the publisher.
Yoni Zohar, Ahmed Irfan, Makai Mann, Aina Niemetz, Andres Nötzli, Mathias Preiner, Andrew Reynolds, Clark W. Barrett + 1 more
Abstract elided by the publisher.
Hannah Potter, Ardi Madadi, René Just, Cyrus Omar
Learning the syntax and semantics of a new programming language is a challenge. It is common for learners to refer to language documentation many times and in many contexts as they build comfort and understanding. We review existing functional language documentation, finding that…
Ahsan Pervaiz, Yao Hsiang Yang, Adam Duracz, Ferenc Bartha, Ryuichi Sai, Connor Imes, Robert Cartwright, Krishna Palem + 2 more
Adaptive computing systems automatically monitor their behavior and dynamically adjust their own configuration parameters—or knobs—to ensure that user goals are met despite unpredictable external disturbances to the system. A major limitation of prior adaptation frameworks is tha…
Diana Kirk
Practice adaptation in the domain of software engineering (SE) is ubiquitous and well-studied. The main rationale for tailoring lies in the complexity of the environments within which SE projects are implemented. This complexity means that the practices that make up software meth…
Klara Seitz, Patrick Rein, Jens Lincke, Robert Hirschfeld
Crochet is still purely manual. While other crafts such as knitting or weaving have received technical support, the process of creating instructions for new crochet patterns is barely supported by domain-specific, digital tools. Those tools are constrained by their underlying cro…
João Costa Seco, Jonathan Aldrich, Luís Carvalho, Bernardo Toninho, Carla Ferreira
Program synthesis has the potential to democratize programming by enabling non-programmers to write software. But conventional approaches to synthesis may fail if given insufficient information - a common occurrence when asking non-experts to describe the application they want to…
Agustín Rafael Martínez
We present a language with all the power of abstraction and the simplicity of two fundamental relations: substitution and categorization. With a graphic symbol representing each one of them, we created a playful visual programming environment aimed at teaching with high expressiv…
Magnus Madsen
We present the design values and design principles of the Flix programming language, a functional-first, imperative, and logic programming language. We explain how these values and principles came into being and how they have influenced the design of Flix over the last several ye…
Manuel Rigger, Zhendong Su
A test oracle determines whether a system behaves correctly for a given input. Automatic testing techniques rely on an automated test oracle to test the system without user interaction. Important families of automated test oracles include Differential Testing and Metamorphic Test…
Philippe Voinov, Manuel Rigger, Zhendong Su
Software developers frequently refactor code. Often, a single logical refactoring change involves changing multiple related components in a source base such as renaming each occurrence of a variable or function. While many code editors can perform such common and generic refactor…
Jonas Spenger, Paris Carbone, Philipp Haller
Portals is a serverless, distributed programming model that blends the exactly-once processing guarantees of stateful dataflow streaming frameworks with the message-driven compositionality of actor frameworks. Decentralized applications in Portals can be built dynamically, scale …