Searched for: +
(1 - 15 of 15)
document
Keidel, S. (author), Poulsen, C.B. (author), Erdweg, S.T. (author)
Abstract interpretation is a technique for developing static analyses. Yet, proving abstract interpreters sound is challenging for interesting analyses, because of the high proof complexity and proof effort. To reduce complexity and effort, we propose a framework for abstract interpreters that makes their soundness proof compositional. Key to...
conference paper 2018
document
Konat, G.D.P. (author), Steindorfer, M.J. (author), Erdweg, S.T. (author), Visser, Eelco (author)
Context. <br/>Software development pipelines are used for automating essential parts of software engineering processes, such as build automation and continuous integration testing. In particular, interactive pipelines, which process events in a live environment such as an IDE, require timely results for low-latency feedback, and persistence to...
journal article 2018
document
Bračevac, Oliver (author), Amin, Nada (author), Salvaneschi, Guido (author), Erdweg, S.T. (author), Eugster, Patrick (author), Mezini, Mira (author)
We present the first language design to uniformly express variants of n-way joins over asynchronous event streams from different domains, e.g., stream-relational algebra, event processing, reactive and concurrent programming. We model asynchronous reactive programs and joins in direct style, on top of algebraic effects and handlers. Effect...
journal article 2018
document
Grewe, Sylvia (author), Erdweg, S.T. (author), Pacak, André (author), Raulf, Michael (author), Mezini, Mira (author)
Exploration of language specifications helps to discover errors and inconsistencies early during the development of a programming language. We propose exploration of language specifications via application of existing automated first-order theorem provers (ATPs). To this end, we translate language specifications and exploration tasks to first...
journal article 2018
document
de Souza Amorim, L.E. (author), Erdweg, S.T. (author), Steindorfer, M.J. (author), Visser, Eelco (author)
In layout-sensitive languages, the indentation of an expression or statement can influence how a program is parsed. While some of these languages (e.g., Haskell and Python) have been widely adopted, there is little support for software language engineers in building tools for layout-sensitive languages. As a result, parsers, pretty-printers,...
conference paper 2018
document
Konat, G.D.P. (author), Erdweg, S.T. (author), Visser, Eelco (author)
Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the...
conference paper 2018
document
Szabo, T. (author), Bergmann, Gábor (author), Erdweg, S.T. (author), Voelter, Markus (author)
Program analyses detect errors in code, but when code changes frequently as in an IDE, repeated re-analysis from-scratch is unnecessary: It leads to poor performance unless we give up on precision and recall. Incremental program analysis promises to deliver fast feedback without giving up on precision or recall by deriving a new analysis result...
journal article 2018
document
Erdweg, S.T. (author), Ostermann, Klaus (author)
Model-driven development is a pragmatic approach to software development that embraces domain-specific languages (DSLs), where models correspond to DSL programs. A distinguishing feature of model-driven development is that clients of a model can select from an open set of alternative semantics of the model by applying different model...
journal article 2017
document
Kuci, Edlira (author), Erdweg, S.T. (author), Bračevac, Oliver (author), Bejleri, Andi (author), Mezini, Mira (author)
This paper addresses compositional and incremental type checking for object-oriented programming languages. Recent work achieved incremental type checking for structurally typed functional languages through co-contextual typing rules, a constraint-based formulation that removes any context dependency for expression typings. However, that work...
conference paper 2017
document
de Souza Amorim, L.E. (author), Erdweg, S.T. (author), Wachsmuth, G.H. (author), Visser, Eelco (author)
Principled syntactic code completion enables developers to change source code by inserting code templates, thus increasing developer efficiency and supporting language exploration. However, existing code completion systems are ad-hoc and neither complete nor sound. They are not complete and only provide few code templates for selected...
conference paper 2016
document
Bračevac, Oliver (author), Erdweg, S.T. (author), Salvaneschi, Guido (author), Mezini, Mira (author)
Running distributed applications in the cloud involves deployment. That is, distribution and configuration of application services and middleware infrastructure. The considerable complexity of these tasks resulted in the emergence of declarative JSON-based domain-specific deployment languages to develop deployment programs. However, existing...
conference paper 2016
document
Konat, G.D.P. (author), Erdweg, S.T. (author), Visser, Eelco (author)
It is common practice to bootstrap compilers of programming languages. By using the compiled language to implement the compiler, compiler developers can code in their own high-level language and gain a large-scale test case. In this paper, we investigate bootstrapping of compiler-compilers as they occur in language workbenches. Language...
conference paper 2016
document
Lorenzen, Florian (author), Erdweg, S.T. (author)
Syntactic language extensions can introduce new facilities into a programming language while requiring little implementation effort and modest changes to the compiler. It is typical to desugar language extensions in a distinguished compiler phase after parsing or type checking, not affecting any of the later compiler phases. If desugaring...
journal article 2016
document
Grewe, Sylvia (author), Erdweg, S.T. (author), Mezini, Mira (author)
Developing provably sound type systems is a non-trivial task which, as of today, typically requires expert skills in formal methods and a considerable amount of time. Our Veritas [3] project aims at providing support for the development of soundness proofs of type systems and efficient type checker implementations from type system specifications...
conference paper 2016
document
Erdweg, S.T. (author), Vergu, V.A. (author), Mezini, Mira (author), Visser, Eelco (author)
A key problem in metaprogramming and specifically in generative programming is to guarantee that generated code is well-formed with respect to the context-free and context-sensitive constraints of the target language. We propose typesmart constructors as a dynamic approach to enforcing the well-formedness of generated code. A typesmart...
conference paper 2014
Searched for: +
(1 - 15 of 15)