English
Related papers

Related papers: What Programs Want: Automatic Inference of Input D…

200 papers

The design and implementation of precise static analyzers for significant fragments of modern imperative languages like C, C++, Java and Python is a challenging problem. In this paper, we consider a core imperative language that has several…

Programming Languages · Computer Science 2007-06-28 Roberto Bagnara , Patricia M. Hill , Andrea Pescetti , Enea Zaffanella

As gradual typing becomes increasingly popular in languages like Python and TypeScript, there is a growing need to infer type annotations automatically. While type annotations help with tasks like code completion and static error catching,…

Programming Languages · Computer Science 2020-05-06 Jiayi Wei , Maruth Goyal , Greg Durrett , Isil Dillig

Graphs and graph transformation systems are a frequently used modelling technique for a wide range of different domains, cover- ing areas as diverse as refactorings, network topologies or reconfigurable software. Being a formal method,…

Programming Languages · Computer Science 2015-03-17 Dominik Steenken , Heike Wehrheim , Daniel Wonisch

Automata learning is a technique that has successfully been applied in verification, with the automaton type varying depending on the application domain. Adaptations of automata learning algorithms for increasingly complex types of automata…

Formal Languages and Automata Theory · Computer Science 2017-06-27 Gerco van Heerdt , Matteo Sammartino , Alexandra Silva

Among the various critical systems that worth to be formally analyzed, a wide set consists of controllers for dynamical systems. Those programs typically execute an infinite loop in which simple com putations update internal states and…

Optimization and Control · Mathematics 2014-09-18 Assalé Adje , Pierre-Loïc Garoche

To put static program analysis at the fingertips of the software developer, we propose a framework for interactive abstract interpretation. While providing sound analysis results, abstract interpretation in general can be quite costly. To…

Programming Languages · Computer Science 2022-11-28 Julian Erhard , Simmo Saan , Sarah Tilscher , Michael Schwarz , Karoliine Holter , Vesal Vojdani , Helmut Seidl

Code generation, defined as automatically writing a piece of code to solve a given problem for which an evaluation function exists, is a classic hard AI problem. Its general form, writing code using a general language used by human…

Artificial Intelligence · Computer Science 2020-07-29 Jacques Basaldúa

Software organizations want to be able to base their decisions on the latest set of available data and the real-time analytics derived from them. In order to support "real-time enterprise" for software organizations and provide information…

Software Engineering · Computer Science 2018-08-17 Silverio Martínez-Fernández , Petar Jovanovic , Xavier Franch , Andreas Jedlitschka

The area of declarative data analytics explores the application of the declarative paradigm on data science and machine learning. It proposes declarative languages for expressing data analysis tasks and develops systems which optimize…

Databases · Computer Science 2019-02-05 Nantia Makrynioti , Vasilis Vassalos

Static code analysis is a powerful approach to detect quality deficiencies such as performance bottlenecks, safety violations or security vulnerabilities already during a software system's implementation. Yet, as current software systems…

Software Engineering · Computer Science 2017-10-23 Eric Bodden

In large programming classes, it takes a significant effort from teachers to evaluate exercises and provide detailed feedback. In systems programming, test cases are not sufficient to assess exercises, since concurrency and resource…

Computers and Society · Computer Science 2024-11-07 Roberto Natella

We describe a method for utilizing the known structure of input data to make learning more efficient. Our work is in the domain of programming languages, and we use deep neural networks to do program analysis. Computer programs include a…

Neural and Evolutionary Computing · Computer Science 2019-04-01 Zehra Sura , Tong Chen , Hyojin Sung

Refinement types enable lightweight verification of functional programs. Algorithms for statically inferring refinement types typically work by reduction to solving systems of constrained Horn clauses extracted from typing derivations. An…

Programming Languages · Computer Science 2020-11-11 Zvonimir Pavlinovic , Yusen Su , Thomas Wies

Complex and nonlinear dynamical systems often involve parameters that change with time, accurate tracking of which is essential to tasks such as state estimation, prediction, and control. Existing machine-learning methods require full state…

Machine Learning · Computer Science 2023-11-16 Zheng-Meng Zhai , Mohammadamin Moradi , Bryan Glaz , Mulugeta Haile , Ying-Cheng Lai

Historically, programming language semantics has focused on assigning a precise mathematical meaning to programs. That meaning is a function from the program's input domain to its output domain determined solely by its syntactic structure.…

Most machine learning and data analytics applications, including performance engineering in software systems, require a large number of annotations and labelled data, which might not be available in advance. Acquiring annotations often…

Software Engineering · Computer Science 2023-09-21 Peter Samoaa , Linus Aronsson , Antonio Longa , Philipp Leitner , Morteza Haghir Chehreghani

In this paper we present a new static data type inference algorithm for logic programming. Without the need of declaring types for predicates, our algorithm is able to automatically assign types to predicates which, in most cases,…

Programming Languages · Computer Science 2021-08-17 João Barbosa , Mário Florido , Vítor Santos Costa

Optimizing compilers are mainly equipped to optimize control flow. The optimization of data structures is left to the programmer and it is the programmer's responsibility to design the data structures to suit the target hardware. Very…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-03-15 K. F. D. Rietveld , H. A. G. Wijshoff

This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of…

Software Engineering · Computer Science 2017-10-03 Tim Blok , Ansgar Fehnker

Our goal is to build systems which write code automatically from the kinds of specifications humans can most easily provide, such as examples and natural language instruction. The key idea of this work is that a flexible combination of…

Artificial Intelligence · Computer Science 2019-06-06 Maxwell Nye , Luke Hewitt , Joshua Tenenbaum , Armando Solar-Lezama