Write a Blog >>
SLE 2016
Mon 31 October - Tue 1 November 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Tue 1 Nov 2016 10:55 - 11:20 at Zürich 2 - Development Environments Chair(s): Anthony Sloane

Modern IDEs support multiple programming languages via plug-ins, but developing a high-quality language plug-in is a huge development effort and individual plug-ins are not reusable in other IDEs. We call this the IDE portability problem.

In this paper, we present a solution to the IDE portability problem based on a language-independent and IDE-independent intermediate representation (IR) for editor-service products. This IR enables IDE-independent language services to provide editor services for arbitrary IDEs, using language-independent IDE plug-ins. We combine the IR with a service-oriented architecture to facilitate the modular addition of language services, the decomposition of language services into smaller interdependent services, and the use of arbitrary implementation languages for services.

To evaluate the feasibility of our design, we have implemented the IR and architecture in a framework called Monto. We demonstrate the generality of our design by constructing language services for Java, JavaScript, Python, and Haskell and show that they are reusable in the Eclipse IDE and in a web-based IDE. We also evaluate the performance of Monto and show that Monto is responsive and has admissible performance overhead.

Slides (monto.pdf)5.28MiB

Tue 1 Nov
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:10: Development EnvironmentsSLE at Zürich 2
Chair(s): Anthony SloaneMacquarie University, Australia
10:30 - 10:55
Towards a Universal Code Formatter through Machine LearningArtifact EvaluationDistinguished Paper
Terence ParrUniversity of San Francisco, USA, Jurgen VinjuCWI, Netherlands
DOI Pre-print Media Attached File Attached
10:55 - 11:20
The IDE Portability Problem and Its Solution in MontoArtifact Evaluation
Sven KeidelDelft University of Technology, Netherlands, Wulf PfeifferTU Darmstadt, Germany, Sebastian ErdwegDelft University of Technology, Netherlands
DOI Media Attached File Attached
11:20 - 11:45
Principled Syntactic Code Completion using PlaceholdersArtifact Evaluation
Luis Eduardo de Souza AmorimDelft University of Technology, Netherlands, Sebastian ErdwegDelft University of Technology, Netherlands, Guido WachsmuthDelft University of Technology, Netherlands, Eelco VisserDelft University of Technology, Netherlands
DOI Media Attached
11:45 - 12:00
DrAST: An Inspection Tool for Attributed Syntax Trees (Tool Demo)Artifact Evaluation
Joel LindholmLund University, Sweden, Johan ThorsbergLund University, Sweden, Görel HedinLund University, Sweden
DOI Media Attached