5 Search Results for "Clarke, Siobhán"


Document
Scopes and Frames Improve Meta-Interpreter Specialization

Authors: Vlad Vergu, Andrew Tolmach, and Eelco Visser

Published in: LIPIcs, Volume 134, 33rd European Conference on Object-Oriented Programming (ECOOP 2019)


Abstract
DynSem is a domain-specific language for concise specification of the dynamic semantics of programming languages, aimed at rapid experimentation and evolution of language designs. To maintain a short definition-to-execution cycle, DynSem specifications are meta-interpreted. Meta-interpretation introduces runtime overhead that is difficult to remove by using interpreter optimization frameworks such as the Truffle/Graal Java tools; previous work has shown order-of-magnitude improvements from applying Truffle/Graal to a meta-interpreter, but this is still far slower than what can be achieved with a language-specific interpreter. In this paper, we show how specifying the meta-interpreter using scope graphs, which encapsulate static name binding and resolution information, produces much better optimization results from Truffle/Graal. Furthermore, we identify that JIT compilation is hindered by large numbers of calls between small polymorphic rules and we introduce rule cloning to derive larger monomorphic rules at run time as a countermeasure. Our contributions improve the performance of DynSem-derived interpreters to within an order of magnitude of a handwritten language-specific interpreter.

Cite as

Vlad Vergu, Andrew Tolmach, and Eelco Visser. Scopes and Frames Improve Meta-Interpreter Specialization. In 33rd European Conference on Object-Oriented Programming (ECOOP 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 134, pp. 4:1-4:30, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019)


Copy BibTex To Clipboard

@InProceedings{vergu_et_al:LIPIcs.ECOOP.2019.4,
  author =	{Vergu, Vlad and Tolmach, Andrew and Visser, Eelco},
  title =	{{Scopes and Frames Improve Meta-Interpreter Specialization}},
  booktitle =	{33rd European Conference on Object-Oriented Programming (ECOOP 2019)},
  pages =	{4:1--4:30},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-111-5},
  ISSN =	{1868-8969},
  year =	{2019},
  volume =	{134},
  editor =	{Donaldson, Alastair F.},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2019.4},
  URN =		{urn:nbn:de:0030-drops-107969},
  doi =		{10.4230/LIPIcs.ECOOP.2019.4},
  annote =	{Keywords: Definitional interpreters, partial evaluation}
}
Document
Brave New Idea Paper
Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications (Brave New Idea Paper)

Authors: Daniel A. A. Pelsmaeker, Hendrik van Antwerpen, and Eelco Visser

Published in: LIPIcs, Volume 134, 33rd European Conference on Object-Oriented Programming (ECOOP 2019)


Abstract
Editor services assist programmers to more effectively write and comprehend code. Implementing editor services correctly is not trivial. This paper focuses on the specification of semantic editor services, those that use the semantic model of a program. The specification of refactorings is a common subject of study, but many other semantic editor services have received little attention. We propose a language-parametric approach to the definition of semantic editor services, using a declarative specification of the static semantics of the programming language, and constraint solving. Editor services are specified as constraint problems, and language specifications are used to ensure correctness. We describe our approach for the following semantic editor services: reference resolution, find usages, goto subclasses, code completion, and the extract definition refactoring. We do this in the context of Statix, a constraint language for the specification of type systems. We investigate the specification of editor services in terms of Statix constraints, and the requirements these impose on a suitable solver.

Cite as

Daniel A. A. Pelsmaeker, Hendrik van Antwerpen, and Eelco Visser. Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications (Brave New Idea Paper). In 33rd European Conference on Object-Oriented Programming (ECOOP 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 134, pp. 26:1-26:18, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019)


Copy BibTex To Clipboard

@InProceedings{pelsmaeker_et_al:LIPIcs.ECOOP.2019.26,
  author =	{Pelsmaeker, Daniel A. A. and van Antwerpen, Hendrik and Visser, Eelco},
  title =	{{Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications}},
  booktitle =	{33rd European Conference on Object-Oriented Programming (ECOOP 2019)},
  pages =	{26:1--26:18},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-111-5},
  ISSN =	{1868-8969},
  year =	{2019},
  volume =	{134},
  editor =	{Donaldson, Alastair F.},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2019.26},
  URN =		{urn:nbn:de:0030-drops-108182},
  doi =		{10.4230/LIPIcs.ECOOP.2019.26},
  annote =	{Keywords: semantics, constraint solving, Statix, name binding, editor services, reference resolution, code completion, refactoring}
}
Document
DynSem: A DSL for Dynamic Semantics Specification

Authors: Vlad Vergu, Pierre Neron, and Eelco Visser

Published in: LIPIcs, Volume 36, 26th International Conference on Rewriting Techniques and Applications (RTA 2015)


Abstract
The formal semantics of a programming language and its implementation are typically separately defined, with the risk of divergence such that properties of the formal semantics are not properties of the implementation. In this paper, we present DynSem, a domain-specific language for the specification of the dynamic semantics of programming languages that aims at supporting both formal reasoning and efficient interpretation. DynSem supports the specification of the operational semantics of a language by means of statically typed conditional term reduction rules. DynSem supports concise specification of reduction rules by providing implicit build and match coercions based on reduction arrows and implicit term constructors. DynSem supports modular specification by adopting implicit propagation of semantic components from I-MSOS, which allows omitting propagation of components such as environments and stores from rules that do not affect those. DynSem supports the declaration of native operators for delegation of aspects of the semantics to an external definition or implementation. DynSem supports the definition of auxiliary meta-functions, which can be expressed using regular reduction rules and are subject to semantic component propagation. DynSem specifications are executable through automatic generation of a Java-based AST interpreter.

Cite as

Vlad Vergu, Pierre Neron, and Eelco Visser. DynSem: A DSL for Dynamic Semantics Specification. In 26th International Conference on Rewriting Techniques and Applications (RTA 2015). Leibniz International Proceedings in Informatics (LIPIcs), Volume 36, pp. 365-378, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2015)


Copy BibTex To Clipboard

@InProceedings{vergu_et_al:LIPIcs.RTA.2015.365,
  author =	{Vergu, Vlad and Neron, Pierre and Visser, Eelco},
  title =	{{DynSem: A DSL for Dynamic Semantics Specification}},
  booktitle =	{26th International Conference on Rewriting Techniques and Applications (RTA 2015)},
  pages =	{365--378},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-85-9},
  ISSN =	{1868-8969},
  year =	{2015},
  volume =	{36},
  editor =	{Fern\'{a}ndez, Maribel},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.RTA.2015.365},
  URN =		{urn:nbn:de:0030-drops-52080},
  doi =		{10.4230/LIPIcs.RTA.2015.365},
  annote =	{Keywords: programming languages, dynamic semantics, reduction semantics, semantics engineering, IDE, interpreters, modularity}
}
Document
06302 Abstracts Collection – Aspects For Legacy Applications

Authors: Siobhán Clarke, Leon Moonen, and Ganesan Ramalingam

Published in: Dagstuhl Seminar Proceedings, Volume 6302, Aspects For Legacy Applications (2007)


Abstract
From 26.07.06 to 29.07.06, the Dagstuhl Seminar 06302 ``Aspects For Legacy Applications'' was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ideas are put together in this paper. The first section describes the seminar topics and goals in general. Links to extended abstracts or full papers are provided, if available.

Cite as

Siobhán Clarke, Leon Moonen, and Ganesan Ramalingam. 06302 Abstracts Collection – Aspects For Legacy Applications. In Aspects For Legacy Applications. Dagstuhl Seminar Proceedings, Volume 6302, pp. 1-17, Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2007)


Copy BibTex To Clipboard

@InProceedings{clarke_et_al:DagSemProc.06302.1,
  author =	{Clarke, Siobh\'{a}n and Moonen, Leon and Ramalingam, Ganesan},
  title =	{{06302 Abstracts Collection – Aspects For Legacy Applications}},
  booktitle =	{Aspects For Legacy Applications},
  pages =	{1--17},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2007},
  volume =	{6302},
  editor =	{Siobh\'{a}n Clarke and Leon Moonen and Ganesan Ramalingam},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.06302.1},
  URN =		{urn:nbn:de:0030-drops-8901},
  doi =		{10.4230/DagSemProc.06302.1},
  annote =	{Keywords: Aspect orientation, software evolution, program analysis, reverse engineering, aspect identification, software reengineering}
}
Document
06302 Summary – Aspects For Legacy Applications

Authors: Leon Moonen, Ganesan Ramalingam, and Siobhán Clarke

Published in: Dagstuhl Seminar Proceedings, Volume 6302, Aspects For Legacy Applications (2007)


Abstract
This paper provides a summary of the objectives, structure, and the outcome of Dagstuhl seminar #06302 on Aspects For Legacy Applications, held from July 26th to July 29th 2006 at Schloss Dagstuhl, Germany. The goal of the seminar was to bring together researchers from the domains of aspect oriented software development, software reengineering (with a focus on reverse engineering, program comprehension, software evolution and software maintenance) and program analysis to investigate how aspects can help us to understand, maintain, and transform legacy software systems.

Cite as

Leon Moonen, Ganesan Ramalingam, and Siobhán Clarke. 06302 Summary – Aspects For Legacy Applications. In Aspects For Legacy Applications. Dagstuhl Seminar Proceedings, Volume 6302, pp. 1-8, Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2007)


Copy BibTex To Clipboard

@InProceedings{moonen_et_al:DagSemProc.06302.2,
  author =	{Moonen, Leon and Ramalingam, Ganesan and Clarke, Siobh\'{a}n},
  title =	{{06302 Summary – Aspects For Legacy Applications}},
  booktitle =	{Aspects For Legacy Applications},
  pages =	{1--8},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2007},
  volume =	{6302},
  editor =	{Siobh\'{a}n Clarke and Leon Moonen and Ganesan Ramalingam},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.06302.2},
  URN =		{urn:nbn:de:0030-drops-8798},
  doi =		{10.4230/DagSemProc.06302.2},
  annote =	{Keywords: Aspect orientation, software evolution, program analysis, reverse engineering, aspect identification, software reengineering}
}
  • Refine by Author
  • 3 Visser, Eelco
  • 2 Clarke, Siobhán
  • 2 Moonen, Leon
  • 2 Ramalingam, Ganesan
  • 2 Vergu, Vlad
  • Show More...

  • Refine by Classification
  • 1 Software and its engineering → Interpreters
  • 1 Software and its engineering → Semantics

  • Refine by Keyword
  • 2 Aspect orientation
  • 2 aspect identification
  • 2 program analysis
  • 2 reverse engineering
  • 2 software evolution
  • Show More...

  • Refine by Type
  • 5 document

  • Refine by Publication Year
  • 2 2007
  • 2 2019
  • 1 2015

Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail