The IDE Portability Problem and Its Solution in Monto
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 NovDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | |||
10:30 25mTalk | Towards a Universal Code Formatter through Machine Learning SLE DOI Pre-print Media Attached File Attached | ||
10:55 25mTalk | The IDE Portability Problem and Its Solution in Monto SLE Sven Keidel Delft University of Technology, Netherlands, Wulf Pfeiffer TU Darmstadt, Germany, Sebastian Erdweg Delft University of Technology, Netherlands DOI Media Attached File Attached | ||
11:20 25mTalk | Principled Syntactic Code Completion using Placeholders SLE Luis Eduardo de Souza Amorim Delft University of Technology, Netherlands, Sebastian Erdweg Delft University of Technology, Netherlands, Guido Wachsmuth Delft University of Technology, Netherlands, Eelco Visser Delft University of Technology, Netherlands DOI Media Attached | ||
11:45 15mTalk | DrAST: An Inspection Tool for Attributed Syntax Trees (Tool Demo) SLE Joel Lindholm Lund University, Sweden, Johan Thorsberg Lund University, Sweden, Görel Hedin Lund University, Sweden DOI Media Attached |