<?xml version="1.0" encoding="utf-8"?>
<raweb xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" year="2015">
  <identification id="ateams" isproject="true">
    <shortname>ATEAMS</shortname>
    <projectName>Analysis and Transformation based on rEliAble tool coMpositionS</projectName>
    <theme-de-recherche>Architecture, Languages and Compilation</theme-de-recherche>
    <domaine-de-recherche>Algorithmics, Programming, Software and Architecture</domaine-de-recherche>
    <structure_exterieure type="Organism">
      <libelle>Centrum Wiskunde &amp; Informatica</libelle>
    </structure_exterieure>
    <header_dates_team>Creation of the Project-Team: 2009 July 01, end of the Project-Team: 2015 December 31</header_dates_team>
    <LeTypeProjet>Project-Team</LeTypeProjet>
    <keywordsSdN>
      <term>1. - Architectures, systems and networks</term>
      <term>2. - Software</term>
      <term>2.1.1. - Semantics of programming languages</term>
      <term>2.1.10. - Domain-specific languages</term>
      <term>2.1.2. - Object-oriented programming</term>
      <term>2.1.3. - Functional programming</term>
      <term>2.2.1. - Static analysis</term>
      <term>2.5. - Software engineering</term>
    </keywordsSdN>
    <keywordsSecteurs>
      <term>6.1. - Software industry</term>
      <term>6.1.1. - Software engineering</term>
      <term>6.1.2. - Software evolution, maintenance</term>
      <term>6.6. - Embedded systems</term>
    </keywordsSecteurs>
    <UR name="Lille"/>
    <moreinfo/>
  </identification>
  <team id="uid1">
    <person key="ateams-2014-idm29392">
      <firstname>Jurgen</firstname>
      <lastname>Vinju</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Team leader, Centrum Wiskunde &amp; Informatica, Professor</moreinfo>
    </person>
    <person key="ateams-2014-idm26760">
      <firstname>Tijs</firstname>
      <lastname>Van Der Storm</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idm25488">
      <firstname>Jan</firstname>
      <lastname>Van Eijck</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idm28104">
      <firstname>Paul</firstname>
      <lastname>Klint</lastname>
      <categoryPro>Enseignant</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica, Professor</moreinfo>
    </person>
    <person key="ateams-2014-idp66472">
      <firstname>Maarten</firstname>
      <lastname>Dijkema</lastname>
      <categoryPro>Technique</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp67736">
      <firstname>Bert</firstname>
      <lastname>Lisser</lastname>
      <categoryPro>Technique</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp70232">
      <firstname>Ali</firstname>
      <lastname>Afroozeh</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp71448">
      <firstname>Pablo</firstname>
      <lastname>Inostroza Valdera</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp72728">
      <firstname>Anastasia</firstname>
      <lastname>Izmaylova</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp74000">
      <firstname>Davy</firstname>
      <lastname>Landman</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp76544">
      <firstname>Michael</firstname>
      <lastname>Steindorfer</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp80368">
      <firstname>Riemer</firstname>
      <lastname>Van Rozen</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp77816">
      <firstname>Jouke</firstname>
      <lastname>Stoel</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Centrum Wiskunde &amp; Informatica</moreinfo>
    </person>
    <person key="ateams-2014-idp69000">
      <firstname>Sandrine</firstname>
      <lastname>Meilen</lastname>
      <categoryPro>Assistant</categoryPro>
      <research-centre>Lille</research-centre>
      <moreinfo>Inria</moreinfo>
    </person>
  </team>
  <presentation id="uid2">
    <bodyTitle>Overall Objectives</bodyTitle>
    <subsection id="uid3" level="1">
      <bodyTitle>Presentation</bodyTitle>
      <p>Software is very complex, and it seems to become more complex every year.
Over the last decades, computer science has delivered various insights how to
organize software better. Via structured programming, modules, objects,
components and agents, these days software systems are more and more evolving
into “systems of systems” that provide services to each other. Each system is
large, uses incompatible — new, outdated or non-standard — technology and
above all, exhibits failures.</p>
      <p>It is becoming more and more urgent to analyze the properties of these
complicated, heterogeneous and very large software systems and to refactor and
transform them to make them simpler and to keep them up-to-date. With the
plethora of different languages and technology platforms it is becoming very
difficult and very expensive to construct tools to achieve this.</p>
      <p>The main challenge of ATEAMS is to address this combination of a need for all
kinds of novel analysis and transformation tools and the existence of the
diversity of programming environments. We do this by investing in a virtual
laboratory called “Rascal”. It is a domain specific programming language for
source code analysis, transformation and generation. Rascal is programming
language parametric, such that it can be used to analyze, transform or
generated source code in any language. By combining concepts from both program
analysis and transformation into this language we can efficiently experiment
with all kinds of tools and algorithms.</p>
      <p>We now focus on three sub-problems. Firstly, we study software analysis: to
extract information from existing software systems and to analyze it. The
extracted information is vital to construct sound abstract models that can
be used in further analysis. We apply these extraction techniques now to
analyze (large bodies of) source code: finding bugs and finding the causes
of software complexity.</p>
      <p>Secondly, we study refactoring: to semi-automatically improve the quality
of a software system without changing its behavior. Refactoring tools are a
combination of analysis and transformations. Implementations of refactoring
tools are complex and often broken. We study better ways of designing
refactorings and we study ways to enable new (more advanced and useful)
refactorings. We apply these refactorings now to isolate design choices in
large software systems and compare systems that are equal except a single
design choice.</p>
      <p>Finally, we study code generation from domain specific languages
(DSLs). Here we also find a combination of analysis and
transformation. Designing, implementing and, very importantly,
maintaining DSLs is costly. We focus on application areas such as
Computational Auditing, Game Economies, and Core Banking to experiment
with this subject. In Computational Auditing we are focusing on
modeling interactive questionnaires. The Game economies domain
involves modeling and verifying the dynamic behaviour of game
play. Core banking requires the formal modeling of financial services
and products.</p>
    </subsection>
  </presentation>
  <fondements id="uid4">
    <bodyTitle>Research Program</bodyTitle>
    <subsection id="uid5" level="1">
      <bodyTitle>Research method</bodyTitle>
      <p>We are inspired by formal methods and logic to construct new tools for
software analysis, transformation and generation. We try and proof the
correctness of new algorithms using any means necessary.</p>
      <p>Nevertheless we mainly focus on the study of existing (large) software
artifacts to validate the effectiveness of new tools. We apply the
scientific method. To (in)validate our hypothesis we often use detailed
manual source code analysis, or we use software metrics, and we have
started to use more human subjects (programmers).</p>
      <p>Note that we maintain ties with the CWI spinoff “Software Improvement
Group” which services most of the Dutch software industry and
government
and many European companies as well. This provides access to software
systems and information about software systems that is valuable in our
research.
</p>
    </subsection>
    <subsection id="uid6" level="1">
      <bodyTitle>Software analysis</bodyTitle>
      <p>This research focuses on source code; to analyze it, transform it
and generate it. Each analysis or transformation begins with fact
extraction. After that we may analyze specific software systems or
large bodies of software systems. Our goal is to improve software
systems by understanding and resolving the causes of software
complexity. The approach is captured in the EASY acronym: Extract
Analyze SYnthesize. The first step is to extract facts from source
code. These facts are then enriched and refined in an analysis phase.
Finally the result is synthesized in the form of transformed or
generated source code, a metrics report, a visualization or some
other output artifact.</p>
      <p>The mother and father of fact extraction techniques are probably Lex, a
scanner generator, and AWK, a language intended for fact extraction from
textual records and report generation. Lex is intended to read a file
character-by-character and produce output when certain regular
expressions (for identifiers, floating point constants, keywords) are
recognized. AWK reads its input line-by-line and regular expression
matches are applied to each line to extract facts. User-defined actions
(in particular print statements) can be associated with each successful
match. This approach based on regular expressions is in wide use for
solving many problems such as data collection, data mining, fact
extraction, consistency checking, and system administration. This same
approach is used in languages like Perl, Python, and Ruby. Murphy and
Notkin have specialized the AWK-approach for the domain of fact
extraction from source code. The key idea is to extend the expressivity
of regular expressions by adding context information, in such a way that,
for instance, the begin and end of a procedure declaration can be
recognized. This approach has, for instance, been used for call graph
extraction but becomes cumbersome when more complex context information
has to be taken into account such as scope information, variable
qualification, or nested language constructs. This suggests using
grammar-based approaches as will be pursued in the proposed project.
Another line of research is the explicit instrumentation of existing
compilers with fact extraction capabilities. Examples are: the GNU C
compiler GCC, the CPPX C++ compiler, and the Columbus C/C++ analysis
framework. The Rigi system provides several fixed fact extractors for a
number of languages. The extracted facts are represented as tuples (see
below). The CodeSurfer source code analysis tool extracts a standard
collection of facts that can be further analyzed with built-in tools or
user-defined programs written in Scheme. In all these cases the
programming language as well as the set of extracted facts are fixed thus
limiting the range of problems that can be solved.</p>
      <p>The approach we are exploring is the use of syntax-related program
patterns for fact extraction. An early proposal for such a pattern-based
approach consisted of extending a fixed base language (either C or PL/1 variant)
with pattern matching primitives. In our own previous work on
RScript we have already proposed a query algebra to express direct queries
on the syntax tree. It also allows the querying of information that is
attached to the syntax tree via annotations. A unifying view is to consider
the syntax tree itself as “facts” and to represent it as a relation. This
idea is already quite old. For instance, Linton proposes to represent all
syntactic as well as semantic aspects of a program as relations and to use
SQL to query them. Due to the lack of expressiveness of SQL (notably the
lack of transitive closure) and the performance problems encountered, this
approach has not seen wider use.</p>
      <p>Parsing is a fundamental tool for fact extraction for source code. Our
group has longstanding contributions in the field of Generalized LR
parsing and Scannerless parsing. Such generalized parsing techniques
enable generation of parsers for a wide range of existing (legacy)
programming languages, which is highly relevant for experimental
research and validation.</p>
      <p>Extracted facts are often refined, enriched and queried in the
analysis phase. We propose to use a relational formalization of the
facts. That is, facts are represented as sets of tuples, which can
then be queried using relational algebra operators (e.g., domain,
transitive closure, projection, composition etc.). This relational
representation facilitates dealing with graphs, which are commonly
needed during program analysis, for instance when processing
control-flow or data-flow graphs. The Rascal language integrates a
relational sub-language by providing comprehensions over different
kinds of data types, in combination with powerful pattern matching and
built-in primitives for computing (transitive/reflexive) closures and
fixpoint computations (equation solving).</p>
      <subsection id="uid7" level="2">
        <bodyTitle>Goals</bodyTitle>
        <p>The main goal is to replace labour-intensive manual programming of
fact extractors by automatic generation based on concise and formal
specification. There is a wide open scientific challenge here: to
create a uniform and generic framework for fact extraction that is
superior to current more ad-hoc approaches, yet flexible enough to be
customized to the analysis case at hand. We expect to develop new
ideas and techniques for generic (language-parametric) fact extraction
from source code and other software artifacts.</p>
        <p>Given the advances made in fact extraction we are starting to apply our
techniques to observe source code and analyze it in detail.
</p>
      </subsection>
    </subsection>
    <subsection id="uid8" level="1">
      <bodyTitle>Refactoring and Transformation</bodyTitle>
      <p>The second goal, to be able to safely refactor or transform source
code can be realized in strong collaboration with extraction and
analysis.</p>
      <p>Software refactoring is usually understood as changing software with
the purpose of increasing its readability and maintainability rather
than changing its external behavior. Refactoring is an essential
tool in all agile software engineering methodologies. Refactoring is
usually supported by an interactive refactoring tool and consists of
the following steps:</p>
      <simplelist>
        <li id="uid9">
          <p noindent="true">Select a code fragment to refactor.</p>
        </li>
        <li id="uid10">
          <p noindent="true">Select a refactoring to apply to it.</p>
        </li>
        <li id="uid11">
          <p noindent="true">Optionally, provide extra parameter needed by the refactoring
(e.g., a new name in a renaming).</p>
        </li>
      </simplelist>
      <p>The refactoring tool will now test whether the
preconditions for the refactoring are satisfied. Note that this
requires fact extraction from the source code. If this fails the user
is informed. The refactoring tool shows the effects of the refactoring
before effectuating them. This gives the user the opportunity to
disable the refactoring in specific cases.The refactoring tool applies
the refactoring for all enabled cases. Note that this implies a
transformation of the source code. Some refactorings can be applied to
any programming language (e.g., rename) and others are language
specific (e.g., Pull Up Method). At <ref xlink:href="http://www.refactoring.com" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www.<allowbreak/>refactoring.<allowbreak/>com</ref>
an extensive list of refactorings can be found.</p>
      <p>There is hardly any general and pragmatic theory for refactoring,
since each refactoring requires different static analysis techniques
to be able to check the preconditions. Full blown semantic
specification of programming languages have turned out to be
infeasible, let alone easily adaptable to small changes in language
semantics. On the other hand, each refactoring is an instance of the
extract, analyze and transform paradigm. Software transformation
regards more general changes such as adding functionality and
improving non-functional properties like performance and reliability.
It also includes transformation from/to the same language
(source-to-source translation) and transformation between different
languages (conversion, translation). The underlying techniques for
refactoring and transformation are mostly the same. We base our source
code transformation techniques on the classical concept of term
rewriting, or aspects thereof. It offers simple but powerful pattern
matching and pattern construction features (list matching, AC
Matching), and type-safe heterogenous data-structure traversal methods
that are certainly applicable for source code transformation.</p>
      <subsection id="uid12" level="2">
        <bodyTitle>Goals</bodyTitle>
        <p>Our goal is to integrate the techniques from program transformation
completely with relational queries. Refactoring and transformation
form the Achilles Heel of any effort to change and improve software.
Our innovation is in the strict language-parametric approach that may
yield a library of generic analyses and transformations that can be
reused across a wide range of programming and application languages.
The challenge is to make this approach scale to large bodies of source
code and rapid response times for precondition checking.</p>
      </subsection>
    </subsection>
    <subsection id="uid13" level="1">
      <bodyTitle>The Rascal Meta-programming language</bodyTitle>
      <p>The Rascal Domain-Specific Language for Source code analysis and
Transformation is developed by ATeams. It is a language
specifically designed for any kind of meta programming.</p>
      <p>Meta programming is a large and
diverse area both conceptually and technologically. There are
plentiful libraries, tools and languages available but integrated
facilities that combine both source code analysis and source code transformation are scarce.
Both domains depend on a wide range of concepts such as grammars and
parsing, abstract syntax trees, pattern matching, generalized tree
traversal, constraint solving, type inference, high fidelity
transformations, slicing, abstract interpretation, model checking, and
abstract state machines. Examples of tools that implement some of
these concepts are ANTLR,
ASF+SDF, CodeSurfer,
Crocopat, DMS, Grok,
Stratego, TOM and
TXL. These tools either specialize in analysis or in
transformation, but not in both. As a result, combinations of
analysis and transformation tools are used to get the job done. For
instance, ASF+SDF relies on
RScript for querying and TXL
interfaces with databases or query tools. In other approaches,
analysis and transformation are implemented from scratch, as done in
the Eclipse JDT. The TOM tool adds
transformation primitives to Java, such that libraries for analysis
can be used directly. In either approach, the job of integrating
analysis with transformation has to be done over and over again for
each application and this requires a significant investment.</p>
      <p>We propose a more radical solution by completely merging the set of
concepts for analysis and transformation of source code into a single
language called Rascal. This language covers the range of
applications from pure analyses to pure transformations and everything
in between. Our contribution does not consist of new concepts or
language features <i>per se</i>, but rather the careful
collaboration, integration and cross-fertilization of existing
concepts and language features.</p>
      <subsection id="uid14" level="2">
        <bodyTitle>Goals</bodyTitle>
        <p>The goals of Rascal are: (a) to remove the cognitive and
computational overhead of integrating analysis and transformation
tools, (b) to provide a safe and interactive environment for
constructing and experimenting with large and complicated source code
analyses and transformations such as, for instance, needed for
refactorings, and (c) to be easily understandable by a large group of
computer programming experts. Rascal is not limited to one
particular object programming language, but is generically applicable.
Reusable, language specific, functionality is realized as libraries.
As an end-result we envision Rascal to be a one-stop shop for source
code analysis, transformation, generation and visualization.</p>
      </subsection>
    </subsection>
    <subsection id="uid15" level="1">
      <bodyTitle>Domain-specific Languages</bodyTitle>
      <p>Our final goal is centered around Domain-specific languages (DSLs),
which are software languages tailored to a specific problem domain.
DSLs can provide orders of magnitude improvement in terms of
software quality and productivity. However, the implementation of
DSLs is challenging and requires not only thorough knowledge of the
problem domain (e.g., finance, digital forensics, insurance,
auditing etc.), but also knowledge of language implementation (e.g.,
parsing, compilation, type checking etc.). Tools for language
implementation have been around since the archetypical parser
generator YACC. However, many of such tools are characterized by
high learning curves, lack of integration of language implementation
facets, and lead to implementations that are hard to maintain. This
line of research focuses on two topics: improve the practice and
experience of DSL implementation, and evaluate the success of DSLs
in industrial practice.</p>
      <p>Language workbenches <ref xlink:href="#ateams-2015-bid0" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/> are integrated
environments to facilitate the development of all aspects of DSLs. This
includes IDE support (e.g., syntax coloring, outlining, reference
resolving etc.) for the defined languages. Rascal can be seen as a
language workbench that focuses on flexibility, programmability and
modularity. DSL implementation is, in essence, an instance of source
code analysis and transformation. As a result, Rascal's features for
fact extraction, analysis, tree traversal and synthesis are an
excellent fit for this area. An important aspect in this line of
research is bringing the IDE closer to the source code. This will
involve investigation of heterogeneous representations of source code,
by integrating graphical, tabular or forms-based user interface
elements. As a result, we propose Rascal as a feature-rich workbench
for model-driven software development.</p>
      <p>The second component of this research is concerned with evaluating
DSLs in industrial contexts. This means that DSLs constructed using
Rascal will be applied in real-life environments so that expected
improvements in quality, performance, or productivity can be observed.
We already have experience with this in the domain of digital forensics,
computational auditing and games.</p>
      <subsection id="uid16" level="2">
        <bodyTitle>Goals</bodyTitle>
        <p>The goal of this research topic is to improve the practice of
DSL-based software development through language design and tool
support. A primary focus is to extend the IDE support provided by
Rascal, and to facilitate incremental, and iterative design of DSLs.
The latter is supported by new (meta-)language constructs for
extending existing language implementations. This will require
research into extensible programming and composition of compilers,
interpreters and type checkers. Finally, a DSL is never an island: it
will have to integrate with (third-party) source code, such as host
language, libraries, runtime systems etc. This leads to the vision of
multi-lingual programming environments <ref xlink:href="#ateams-2015-bid1" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.</p>
      </subsection>
    </subsection>
  </fondements>
  <highlights id="uid17">
    <bodyTitle>Highlights of the Year</bodyTitle>
    <subsection id="uid18" level="1">
      <bodyTitle>Highlights of the Year</bodyTitle>
      <subsection id="uid19" level="2">
        <bodyTitle>Awards</bodyTitle>
        <p>Prof.dr. Paul Klint won the IEEE TCSE Software Engineering Distinguished Service Award 2015. This award is presented “annually for outstanding and/or sustained contributions and service to the software engineering community”.</p>
      </subsection>
    </subsection>
  </highlights>
  <logiciels id="uid20">
    <bodyTitle>New Software and Platforms</bodyTitle>
    <subsection id="uid21" level="1">
      <bodyTitle>MicroMachinations</bodyTitle>
      <p>
        <span class="smallcap" align="left">Functional Description</span>
      </p>
      <p>Objective: To create an integrated, live environment for modelling and evolving game economies. This will allow game designers to experiment with different strategies to realise game mechanics. The environment integrates with the SPIN model checker to prove properties (reachability, liveness). A runtime system for executing game economies allows MicroMachinations models to be embedded in actual games.</p>
      <p>Impact: One of the important problems in game software development is the distance between game design and implementation in software. MicroMachinations has the potential to bridge this gap by providing live design tools that directly modify or create the desired software behaviours.</p>
      <simplelist>
        <li id="uid22">
          <p noindent="true">Participants: Paul Klint and Riemer Van Rozen</p>
        </li>
        <li id="uid23">
          <p noindent="true">Contact: Riemer Van Rozen</p>
        </li>
        <li id="uid24">
          <p noindent="true">URL: <ref xlink:href="https://github.com/vrozen/MM-Lib" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>github.<allowbreak/>com/<allowbreak/>vrozen/<allowbreak/>MM-Lib</ref></p>
        </li>
      </simplelist>
    </subsection>
    <subsection id="uid25" level="1">
      <bodyTitle>OSSMETER</bodyTitle>
      <p><span class="smallcap" align="left">Keywords:</span> Software Quality, Metrics, Open-source
<span class="smallcap" align="left">Scientific description:</span> OSSMETER meets the challenge of software project quality assessment via fact-based business intelligence. The goal of the project was to design and evaluate a platform for incremental analysis of long lasting open-source projects to support decision making on the corporate level.
<span class="smallcap" align="left">Functional description:</span> OSSMETER is a platform which integrates metrics of open-source projects: their source code quality, the contents of their social interactions and their activity in issue tracking systems. It includes a fully programmable user-defined quality model utility and configurable dash-board user-interface. The basic metrics of the platform and their aggregation to the project level are carefully considered and rationalised.</p>
      <simplelist>
        <li id="uid26">
          <p noindent="true">Participants: Paul Klint, Jurgen Vinju, Tijs Van Der Storm, Ashim Shahi, Bas Basten.</p>
        </li>
        <li id="uid27">
          <p noindent="true">Contact: Jurgen Vinju</p>
        </li>
        <li id="uid28">
          <p noindent="true">URL: <ref xlink:href="http://www.ossmeter.org/" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www.<allowbreak/>ossmeter.<allowbreak/>org/</ref></p>
        </li>
      </simplelist>
    </subsection>
    <subsection id="uid29" level="1">
      <bodyTitle>Rascal</bodyTitle>
      <p><span class="smallcap" align="left">Keywords:</span> Metaprogramming - Language</p>
      <p noindent="true">
        <span class="smallcap" align="left">Scientific Description</span>
      </p>
      <p>Rascal primitives include immutable data, context-free grammars and algebraic data-types, relations, relational calculus operators, advanced patterns matching, generic type-safe traversal, comprehensions, concrete syntax for objects, lexically scoped backtracking, and string templates for code generation. It has libraries for integrating language front-ends, for reusing analysis algorithms, for getting typed meta-data out of version management systems, for interactive visualization, etc.</p>
      <p noindent="true">
        <span class="smallcap" align="left">Functional Description</span>
      </p>
      <p>Rascal is a programming language, such that meta programs can be created by, understood by, and debugged by programmers.</p>
      <p>You want to use the best tool for the job when analyzing, transforming or generating source code, so normally you will end up with many different tools, possibly even written in different languages. Now the problem is to integrate these tools again. Rascal solves this problem by integrating source code analysis, transformation, and generation primitives on the language level. Use it for any kind of metaprogramming task: to construct parsers for programming languages, to analyze and transform source code, or to define new DSLs with full IDE support.</p>
      <simplelist>
        <li id="uid30">
          <p noindent="true">Participants: Paul Klint, Jurgen Vinju, Tijs Van Der Storm, Davy Landman, Bert Lisser, Atze Van Der Ploeg, Vadim Zaytsev, Anastasia Izmaylova, Michael Steindorfer, Jouke Stoel, Ali Afroozeh and Ashim Shahi</p>
        </li>
        <li id="uid31">
          <p noindent="true">Contact: Paul Klint</p>
        </li>
        <li id="uid32">
          <p noindent="true">URL: <ref xlink:href="http://www.rascal-mpl.org/" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www.<allowbreak/>rascal-mpl.<allowbreak/>org/</ref></p>
        </li>
      </simplelist>
    </subsection>
    <subsection id="uid33" level="1">
      <bodyTitle>Meerkat</bodyTitle>
      <p>
        <span class="smallcap" align="left">Functional Description</span>
      </p>
      <p>Objective: To enable fully context-free general parsing using a parser combinator library (including allowing left recursion and arbitrary context-sensitive disambiguation).</p>
      <p>Impact: Meerkat explores algorithmic advances in context-free general parsing (based on the GLL parsing algorithm and memoized continuations) in the context of a scala parsing combinator library. This library uniquely combines the worst-case execution time guarantees of GLL with the flexibility of parsing combinators.  <ref xlink:href="#ateams-2015-bid2" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/></p>
      <simplelist>
        <li id="uid34">
          <p noindent="true">Participants: Anastasia Izmaylova, Ali Afroozeh and Tijs van der Storm.</p>
        </li>
        <li id="uid35">
          <p noindent="true">Contact: Anastasia Izmaylova, Ali Afroozeh</p>
        </li>
        <li id="uid36">
          <p noindent="true">URL: <ref xlink:href="http://meerkat-parser.github.io/" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>meerkat-parser.<allowbreak/>github.<allowbreak/>io/</ref></p>
        </li>
      </simplelist>
    </subsection>
    <subsection id="uid37" level="1">
      <bodyTitle>Iguana</bodyTitle>
      <p>
        <span class="smallcap" align="left">Functional Description</span>
      </p>
      <p>Objective: To provide a data-dependent context-free general parsing infra-structure for parsing programming languages and other formal data, program and modeling notations.</p>
      <p>Impact: Iguana is a fast implementation of data-dependent grammars based on the GLL context-free parsing algorithm with data-dependent non-terminals and constraints on top. It comes with a number of high-level disambiguation constructs which are translated to the intermediate layer of data-dependent (E)BNF before being loaded into an object-oriented implementation of GLL based on abstract transition network. Using Iguana parsers for languages which are considered to be hard to parse (such as Haskell and OCAML) are within reach of being generated from simple declarative specifications  <ref xlink:href="#ateams-2015-bid3" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.</p>
      <simplelist>
        <li id="uid38">
          <p noindent="true">Participants: Anastasia Izmaylova, Ali Afroozeh.</p>
        </li>
        <li id="uid39">
          <p noindent="true">Contact: Anastasia Izmaylova, Ali Afroozeh</p>
        </li>
        <li id="uid40">
          <p noindent="true">URL: <ref xlink:href="http://iguana-parser.github.io/" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>iguana-parser.<allowbreak/>github.<allowbreak/>io/</ref></p>
        </li>
      </simplelist>
    </subsection>
    <subsection id="uid41" level="1">
      <bodyTitle>Capsule</bodyTitle>
      <p>
        <span class="smallcap" align="left">Functional Description</span>
      </p>
      <p>Objective: A generic and highly optimised product-family of immutable collection data-structures.</p>
      <p>Impact: Capsule is a library for immutable sets, maps and tables. The code is generated using high-level descriptions of the requirements and internal trade-offs of hash-trie map based implementations. We are using this code generator to experiment with the fastest and leanest representations of these persistent data-types to satisfy the requirements of Rascal meta-programming applications in static analysis, empirical research in software engineering and software analytics  <ref xlink:href="#ateams-2015-bid4" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.</p>
      <simplelist>
        <li id="uid42">
          <p noindent="true">Participants: Michael Steindorfer, Jurgen Vinju</p>
        </li>
        <li id="uid43">
          <p noindent="true">Contact: Michael Steindorfer</p>
        </li>
        <li id="uid44">
          <p noindent="true">URL: <ref xlink:href="http://usethesource.io/projects/capsule/" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>usethesource.<allowbreak/>io/<allowbreak/>projects/<allowbreak/>capsule/</ref></p>
        </li>
      </simplelist>
    </subsection>
  </logiciels>
  <resultats id="uid45">
    <bodyTitle>New Results</bodyTitle>
    <subsection id="uid46" level="1">
      <bodyTitle>Faster Immutable Data Structures for the JVM</bodyTitle>
      <p>Immutable data structures involve copying when updating. Efficient implementations use persistent data-structures, so that most of the unchanged data is shared between the copies.
Existing libraries for such data structures in the context of the Java virtual machine (JVM), such as the data structures in Clojure and Scala, are based on Hash Array-Mapped Tries (HAMTs), which provide efficient insertion and concatenation operations for persistent maps and sets. In <ref xlink:href="#ateams-2015-bid4" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/> Steindorfer and Vinju presented additional optimisation which allow such operations to be up to 28 times faster than in the Clojure and Scala libraries. Furthermore, the cost of equality checking of such data structures is lower as well. All this, without incurring additional memory.
</p>
    </subsection>
    <subsection id="uid47" level="1">
      <bodyTitle>Automated Measurement and Analysis of Open Source Software</bodyTitle>
      <p rend="quoted">Deciding whether an open source software (OSS) meets the required
standards for adoption in terms of quality, maturity, activity of development and
user support is not a straightforward process. It involves analysing various sources
of information, including the project’s source code repositories, communication
channels, and bug tracking systems. OSSMETER extends state-of-the-art techniques
in the field of automated analysis and measurement of open-source software
(OSS), and develops a platform that supports decision makers in the process
of discovering, comparing, assessing and monitoring the health, quality, impact
and activity of opensource software. To achieve this, OSSMETER computes
trustworthy quality indicators by performing advanced analysis and integration
of information from diverse sources including the project metadata, source code
repositories, communication channels and bug tracking systems of OSS projects  <ref xlink:href="#ateams-2015-bid5" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>, <ref xlink:href="#ateams-2015-bid6" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/></p>
      <p>This result comes from intensive collaboration in the FP7 STREP project “OSSMETER”. The ATEAMS contribution is focused around source code metrics and activity analysis for Java and PHP.</p>
    </subsection>
    <subsection id="uid48" level="1">
      <bodyTitle>Modular Interpreters for the Masses</bodyTitle>
      <p>Object Algebras  <ref xlink:href="#ateams-2015-bid7" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/> are new design pattern for increased modularity and extensibility of tree based, abstract data types. By modelling the abstract syntax of a language as a generic factory interface, implementations of this interface provide multiple semantics of the data. For instance, one can define evaluation, type checking and pretty printing of the abstract syntax fully modularly. Additionally, the pattern allows syntax extension: adding a new constructor to the datatype, and modularly extending any existing interpretations to deal with the construct. The same interpretation of different constructs, however, might involve different kinds of context information. For instance, evaluation of arithmetic expressions does not require any context information, but evaluation of variables and binders requires and environment. In <ref xlink:href="#ateams-2015-bid8" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>, Inostroza and Van der Storm introduce a simple, modular, and type safe technique to allow such interpretations to be composed anyway. It is based on lifting one interpreter to implicitly propagate the context information it does not require, so that the signatures of the interpreters become compatible. As a result, semantic definitions of language modules do not have to anticipate all kinds of context information that might be required by other modules with which it might be composed. The technique is simple, does not sacrifice separate compilation, is easy automate, and works in mainstream languages. It provides a first step towards a foundation for defining language by assembling modular building blocks.
</p>
    </subsection>
    <subsection id="uid49" level="1">
      <bodyTitle>One Parser to Rule Them All</bodyTitle>
      <p>Parsing realistic languages requires much more than just a parsing algorithm. Different kinds of language require advanced disambiguation, operator priorities, off-side rule checking, whitespace dependence or data dependence. In <ref xlink:href="#ateams-2015-bid3" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>, Afroozeh and Izmaylova showed how most of these concerns are actually instances of data dependent parsing: the parsing process depends on the value of previously parsed input. They provided an encoding of indentation sensitive parsing, operator precedence and parsing in the presence of preprocessor directives, to a simple, data dependent core language which is executed using the general parsing algorithm GLL. By exposing the data dependent machinery at the level of the grammar formalism , this opens up a range of possibilities for custom parsing aspects, and provides a clear semantics for existing concerns like disambiguation.
</p>
    </subsection>
    <subsection id="uid50" level="1">
      <bodyTitle>A Pattern-Based Game Mechanics Design Assistant</bodyTitle>
      <p>Video game designers iteratively improve player experience by play testing game software and adjusting its design. Deciding how to improve gameplay, however, is difficult and time-consuming: designers lack an effective means for exploring decision alternatives and modifying a game's mechanics.
In <ref xlink:href="#ateams-2015-bid9" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>, Van Rozen presented the Mechanics Pattern Language (MPL) for encoding common game economy structures and design intent, and a Mechanics Design Assistant (MeDeA) for analyzing, explaining, understanding existing mechanics, and generating, filtering, exploring and applying design alternatives for modifying mechanics.
As a result, game designers' productivity and game quality is increased by providing feedback and design alternatives early in the development cycle. Furthermore, the game economy modifications are applied at runtime using the MicroMachinations library, so that the effect of changes can be immediately experienced.
</p>
    </subsection>
  </resultats>
  <contrats id="uid51">
    <bodyTitle>Bilateral Contracts and Grants with Industry</bodyTitle>
    <subsection id="uid52" level="1">
      <bodyTitle>Bilateral Grants with Industry</bodyTitle>
      <p>With the <b>ING bank</b> we a running a four-year project on advising and research in functional and non-functional properties of a part of the ING IT-infrastructure. The project involves modelling a large part of the product portfolio and using state-of-the-art MDE technology to simulate, verify and generate part of its IT infra-structure. The funding of this project is approximately 50% industry, 50% grants from CWI &amp; NWO.
</p>
    </subsection>
  </contrats>
  <partenariat id="uid53">
    <bodyTitle>Partnerships and Cooperations</bodyTitle>
    <subsection id="uid54" level="1">
      <bodyTitle>National Initiatives</bodyTitle>
      <subsection id="uid55" level="2">
        <bodyTitle>Master Software Engineering</bodyTitle>
        <p>ATEAMS is a core partner in the Master Software Engineering at
Universiteit van Amsterdam. This master is a collaboration between
SWAT/ATEAMS, Universiteit van Amsterdam, Vrije Universiteit and Hogeschool
van Amsterdam.</p>
      </subsection>
      <subsection id="uid56" level="2">
        <bodyTitle>Early Quality Assurance in Software Production</bodyTitle>
        <p>The EQUA project is a collaboration among Hogeschool van Amsterdam (main
partner) Centrum Wiskunde &amp; Informatica (CWI), Technisch Universiteit
Delft, Laboratory for Quality of Software (LaQuSo), Info Support, Software
Improvement Group (SIG), and Fontys Hogeschool Eindhoven.</p>
      </subsection>
      <subsection id="uid57" level="2">
        <bodyTitle>Next Generation Auditing: Data-assurance as a service</bodyTitle>
        <p>This project is a collaboration between Centrum Wiskunde &amp; Informatica (CWI)
PriceWaterhouseCoopers (PWC), Belastingdienst (National Tax Office), and
Computational Auditing, is to enable research in the field of computational
auditing.</p>
      </subsection>
      <subsection id="uid58" level="2">
        <bodyTitle>Domain-Specific Languages: A Big Future for Small Programs</bodyTitle>
        <p>Software and programming have a brilliant past that has brought us the automation of many expected and unexpected human and societal activities ranging from banking and consumer electronics to mobile networking, search engines and social networks. The present of software is overwhelming: many software systems have sizes in the range of 10–100 million lines of source code and contain tens of thousands of errors that are yet to be discovered. We claim that software will only have a big future if software itself becomes smaller. Smaller software leads to higher software productivity (we have to write less) and higher software quality (quality guarantees become part of the language and not of the program).</p>
        <p>This project is funded by NWO (the Dutch national science foundation).</p>
      </subsection>
    </subsection>
    <subsection id="uid59" level="1">
      <bodyTitle>European Initiatives</bodyTitle>
      <subsection id="uid60" level="2">
        <bodyTitle>FP7 &amp; H2020 Projects</bodyTitle>
        <simplelist>
          <li id="uid61">
            <p noindent="true">FP7 STREP “OSSMETER — Automated Measurement and Analysis of Open Source Software” (ended in 2015)</p>
          </li>
        </simplelist>
      </subsection>
      <subsection id="uid62" level="2">
        <bodyTitle>Collaborations with Major European Organizations</bodyTitle>
        <sanspuceslist>
          <li id="uid63">
            <p noindent="true">Centrum Wiskunde &amp; Informatica (CWI): Software Analysis &amp; Transformation (Netherlands)</p>
          </li>
          <li id="uid64">
            <p noindent="true">CWI SWAT is the research team associated directly with ATEAMS.</p>
          </li>
        </sanspuceslist>
      </subsection>
    </subsection>
    <subsection id="uid65" level="1">
      <bodyTitle>International Initiatives</bodyTitle>
      <subsection id="uid66" level="2">
        <bodyTitle>Inria International Partners</bodyTitle>
        <subsection id="uid67" level="3">
          <bodyTitle>Informal International Partners</bodyTitle>
          <p>ATEAMS collaborates with the following research teams:</p>
          <simplelist>
            <li id="uid68">
              <p noindent="true">Eindhoven Technical University - SET (Eindhoven, The Netherlands)</p>
            </li>
            <li id="uid69">
              <p noindent="true">Universiteit van Amsterdam - Systems and Network Engineering (Amsterdam, The Netherlands)</p>
            </li>
            <li id="uid70">
              <p noindent="true">Royal Holloway University of London - Dept. of Computer Science</p>
            </li>
            <li id="uid71">
              <p noindent="true">The University of Hong Kong (China) - Computer Science</p>
            </li>
            <li id="uid72">
              <p noindent="true">Delft Technical University (The Netherlands)</p>
            </li>
            <li id="uid73">
              <p noindent="true">University of Texas at Austin (USA)</p>
            </li>
            <li id="uid74">
              <p noindent="true">TU Darmstadt (Germany)</p>
            </li>
          </simplelist>
        </subsection>
        <subsection id="uid75" level="3">
          <bodyTitle>Research stays abroad</bodyTitle>
          <simplelist>
            <li id="uid76">
              <p noindent="true">Michael Steindorfer stayed for 3 months at Oracle Labs in Austria to study efficient data-structures and data-structure optimisations on the JVM.</p>
            </li>
          </simplelist>
        </subsection>
      </subsection>
    </subsection>
  </partenariat>
  <diffusion id="uid77">
    <bodyTitle>Dissemination</bodyTitle>
    <subsection id="uid78" level="1">
      <bodyTitle>Promoting Scientific Activities</bodyTitle>
      <subsection id="uid79" level="2">
        <bodyTitle>Scientific events organisation</bodyTitle>
        <subsection id="uid80" level="3">
          <bodyTitle>General chair, scientific chair</bodyTitle>
          <simplelist>
            <li id="uid81">
              <p noindent="true">Tijs van der Storm: co-organizer of the 3rd Workshop on Domain-Specific Language Design and Implementation (DSLDI'15).</p>
            </li>
          </simplelist>
        </subsection>
        <subsection id="uid82" level="3">
          <bodyTitle>Member of the organizing committees</bodyTitle>
          <simplelist>
            <li id="uid83">
              <p noindent="true">Tijs van der Storm: Publicity co-chair SPLASH and track organizer SPLASH-I</p>
            </li>
            <li id="uid84">
              <p noindent="true">Jurgen Vinju: co-organizer Bits &amp; Chips Software Event (Legacy Software Track), Eindhoven, The Netherlands</p>
            </li>
          </simplelist>
        </subsection>
      </subsection>
      <subsection id="uid85" level="2">
        <bodyTitle>Scientific events selection</bodyTitle>
        <subsection id="uid86" level="3">
          <bodyTitle>Member of the conference program committees</bodyTitle>
          <simplelist>
            <li id="uid87">
              <p noindent="true">Paul Klint: International Conference on Software Language Engineering (SLE'15), 14th edition of the BElgian-NEtherlands software eVOLution seminar (BENEVOL 2015), 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER'15)</p>
            </li>
            <li id="uid88">
              <p noindent="true">Tijs van der Storm: International Conference on Model Transformation (ICMT'15), International Conference on Software Language Engineering (SLE'15), Transformation Tool Context (TTC'15), Future Programming Workshop (FPW'15).</p>
            </li>
            <li id="uid89">
              <p noindent="true">Jurgen Vinju: 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'15), 3rd International Workshop on
The Globalization of Modeling Languages
Workshop (GEMOC'15), 5th Summer School on Grand Timely Topics in Software Engineering (GTTSE'15), IEEE International Conference on Software Comprehension (ICPC'15), 14th edition of the BElgian-NEtherlands software eVOLution seminar (BENEVOL 2015).</p>
            </li>
          </simplelist>
        </subsection>
        <subsection id="uid90" level="3">
          <bodyTitle>Reviewer</bodyTitle>
          <subsection id="uid91" level="4">
            <bodyTitle>Journal</bodyTitle>
            <simplelist>
              <li id="uid92">
                <p noindent="true">Member of the editorial boards:</p>
                <simplelist>
                  <li id="uid93">
                    <p noindent="true">Paul Klint: editor of Science of Computer Programming (Elsevier SCP)</p>
                  </li>
                </simplelist>
              </li>
              <li id="uid94">
                <p noindent="true">Reviewer - Reviewing activities:</p>
                <simplelist>
                  <li id="uid95">
                    <p noindent="true">Paul Klint: Science of Computer Programming</p>
                  </li>
                  <li id="uid96">
                    <p noindent="true">Tijs van der Storm: Science of Computer Programming (SCP), Computer Languages and Systems (COMLAN)</p>
                  </li>
                  <li id="uid97">
                    <p noindent="true">Jurgen Vinju: Science of Computer Programming (SCP), Computer Languages and Systems (COMLAN), Journal on Empirical Software Engineering (ESE), Journal of Software Maintenance and Evolution (JSME)</p>
                  </li>
                </simplelist>
              </li>
            </simplelist>
          </subsection>
        </subsection>
      </subsection>
      <subsection id="uid98" level="2">
        <bodyTitle>Invited talks</bodyTitle>
        <simplelist>
          <li id="uid99">
            <p noindent="true">Textual and projectional language workbenches. Tijs van der Storm, Dagstuhl on “Domain-Specific Languages”.</p>
          </li>
          <li id="uid100">
            <p noindent="true">“Software Engineering: The War Against Complexity”, Jurgen Vinju. CHA-Q Open Tool Demonstrations Event (keynote), February 24, Antwerpen, Belgium.</p>
          </li>
          <li id="uid101">
            <p noindent="true">“Program Analysis and Transformation with Rascal” tutorial at the 36th annual ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI) in Portland, USA. Mark Hills, Jurgen Vinju, Paul Klint.</p>
          </li>
        </simplelist>
      </subsection>
      <subsection id="uid102" level="2">
        <bodyTitle>Leadership within the scientific community</bodyTitle>
        <subsection id="uid103" level="3">
          <bodyTitle>Member of steering committees</bodyTitle>
          <simplelist>
            <li id="uid104">
              <p noindent="true">Jurgen Vinju: International Conference on Software Language Engineering (ACM SLE) (<i>chair</i>)</p>
            </li>
            <li id="uid105">
              <p noindent="true">Jurgen Vinju: International Working Conference on Source Analysis and Manipulation (IEEE SCAM)</p>
            </li>
          </simplelist>
        </subsection>
        <subsection id="uid106" level="3">
          <bodyTitle>Member of other groups</bodyTitle>
          <simplelist>
            <li id="uid107">
              <p noindent="true">Jurgen Vinju: Member of IFIP WG 2.3 — Working Group on Software Implementation Technology</p>
            </li>
            <li id="uid108">
              <p noindent="true">Tijs van der Storm: Member of IFIP WG 2.16 — Working Group on Language Design</p>
            </li>
            <li id="uid109">
              <p noindent="true">Tijs van der Storm: Member of the board of European Association for Programming Languages and Systems (EAPLS)</p>
            </li>
          </simplelist>
        </subsection>
      </subsection>
    </subsection>
    <subsection id="uid110" level="1">
      <bodyTitle>Teaching - Supervision - Juries</bodyTitle>
      <subsection id="uid111" level="2">
        <bodyTitle>Teaching</bodyTitle>
        <sanspuceslist>
          <li id="uid112">
            <p noindent="true">Tijs van der Storm, “Software Construction”, Masters, Universiteit van Amsterdam</p>
          </li>
          <li id="uid113">
            <p noindent="true">Jurgen J. Vinju, “Software Evolution”, Masters, Universiteit van Amsterdam</p>
          </li>
        </sanspuceslist>
      </subsection>
      <subsection id="uid114" level="2">
        <bodyTitle>Supervision</bodyTitle>
        <sanspuceslist>
          <li id="uid115">
            <p noindent="true">PhD : Atze van der Ploeg, “ Efficient Abstractions for Visualization and Interaction”,
Universiteit van Amsterdam, April, 8th, 2015
<ref xlink:href="#ateams-2015-bid10" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/> (advisors: Tijs van der Storm and Paul Klint)</p>
          </li>
          <li id="uid116">
            <p noindent="true">PhD in progress : Ali Afroozeh, “Closing the Book on Parsing”, 2017 (advisors: Jurgen Vinju and Paul Klint)</p>
          </li>
          <li id="uid117">
            <p noindent="true">PhD in progress : Pablo Inostroza Valdera, “Modular Language Implementation with Object Algebras”, 2018 (advisors: Tijs van der Storm and Paul Klint)</p>
          </li>
          <li id="uid118">
            <p noindent="true">PhD in progress : Anastasia Izmaylova, “Parser Combinators Revisited”, 2017 (advisors: Jurgen Vinju and Paul Klint)</p>
          </li>
          <li id="uid119">
            <p noindent="true">PhD in progress : Davy Landman, “Source Code Complexity in Context” , 2016 (advisros: Jurgen Vinju and Paul Klint)</p>
          </li>
          <li id="uid120">
            <p noindent="true">PhD in progress : Riemer van Rozen, “Domain-Specific Languages for Game Developmenr”, 2017 (advisors: Paul Klint and Tijs van der Storm)</p>
          </li>
          <li id="uid121">
            <p noindent="true">PhD in progress : Michael Steindorfer, “Fast and Lean Immutable Data Structures”, 2017 (advisors: Jurgen Vinju and Paul Klint)</p>
          </li>
          <li id="uid122">
            <p noindent="true">PhD in progress : Jouke Stoel, “Solving the Bank”, 2019 (advisors: Jurgen Vinju and Tijs van der Storm)</p>
          </li>
          <li id="uid123">
            <p noindent="true">Msc : Zisimopolous, P.: “A Grid Scheduling infrastructure for SmartConnect's performance monitoring calculations”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
          <li id="uid124">
            <p noindent="true">Msc : Zhelyazkov, A.T.: “Form controls in WebGL. A stepping stone to a WebGL library for developing commercial interactive 3D websites”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
          <li id="uid125">
            <p noindent="true">Msc : Valencia Vargas, S.: “Begelman vs. FolkRank. The Comparison of Two Algorithms in the Tag Recommendation Context: An Exploratory Study”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
          <li id="uid126">
            <p noindent="true">Msc : Heimensen, M.: “JavaScript language extension with language workbenches”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
          <li id="uid127">
            <p noindent="true">Msc : Harezlak, H.: “Geographically-aware scaling for real-time persistent WebSocket applications”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
          <li id="uid128">
            <p noindent="true">Msc: Chow, K.: “Performance of Face Recognition Algorithms on Mobile Devices”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
          <li id="uid129">
            <p noindent="true">Msc: Iwan Flameling: “An automatic CSRF protection tool”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
          <li id="uid130">
            <p noindent="true">Msc: Omar Pakker: “Graph-Based Querying On top of the Entity Framework”, Universiteit van Amsterdam, The Netherlands</p>
          </li>
        </sanspuceslist>
      </subsection>
      <subsection id="uid131" level="2">
        <bodyTitle>Juries</bodyTitle>
        <simplelist>
          <li id="uid132">
            <p noindent="true">Jurgen Vinju:</p>
            <simplelist>
              <li id="uid133">
                <p noindent="true">Phd Reza Yazdanshenas, A. — Universitet i Oslo, Norway</p>
              </li>
              <li id="uid134">
                <p noindent="true">Phd Hafeez Osman, M. — Universiteit Leiden, The Netherlands</p>
              </li>
            </simplelist>
          </li>
        </simplelist>
      </subsection>
    </subsection>
    <subsection id="uid135" level="1">
      <bodyTitle>Popularization</bodyTitle>
      <simplelist>
        <li id="uid136">
          <p noindent="true">Ali Afroozeh and Anastasia Izmaylova: “Meerkat parsers: a general parser combinator library for real programming languages”, Scala Days 2015, Amsterdam, The Netherlands.</p>
        </li>
        <li id="uid137">
          <p noindent="true">Paul Klint: “Paul Klint in RTL Nieuws over het nieuwe betalingssysteem van het pgb” (radio interview).</p>
        </li>
        <li id="uid138">
          <p noindent="true">Paul Klint: “De evolutie van codetaal”, media appearance, NRC Handelsblad</p>
        </li>
        <li id="uid139">
          <p noindent="true">Paul Klint: “Première internetfilm over Nederlands informatica erfgoed”, media appearance, Automatisering Gids.</p>
        </li>
        <li id="uid140">
          <p noindent="true">Paul Klint: “Remembering Arra: a pioneer in Dutch computing”, media appearance, <ref xlink:href="http://www.engineersonline.nl/" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www.<allowbreak/>engineersonline.<allowbreak/>nl/</ref>.</p>
        </li>
        <li id="uid141">
          <p noindent="true">Davy Landman: “Let's talk about complexity”, Devnology software development community talk, Amsterdam, The Netherlands.</p>
        </li>
        <li id="uid142">
          <p noindent="true">Tijs van der Storm: “Opportunities and Risks of MDSE: experience with Derric, a DSL for Digital Forensics”, Bits&amp;Chips industry conference.</p>
        </li>
        <li id="uid143">
          <p noindent="true">Jouke Stoel and Tijs van der Storm: “Hack Your Language with Rascal”, workshop at Joy of Coding conference, Rotterdam, The Netherlands.</p>
        </li>
        <li id="uid144">
          <p noindent="true">Tijs van der Storm, “Live Little Languages”, JBI Colloquium, Groningen, The Netherlands.</p>
        </li>
        <li id="uid145">
          <p noindent="true">Jurgen Vinju: “Public/Private Collaboration <formula type="inline"><math xmlns="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mo>{</mo></math></formula>in,for,with<formula type="inline"><math xmlns="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mo>}</mo></math></formula> Software Engineering”, 21st Annual Conference of the European Association of Research Managers and Administrators , Leiden, The Netherlands</p>
        </li>
        <li id="uid146">
          <p noindent="true">Jurgen Vinju: OSSMETER Pitch EU Concertation Meeting - Turning cloud research into innovative software &amp; services, March 25th 2015, Brussels, Belgium.</p>
        </li>
        <li id="uid147">
          <p noindent="true">Jurgen Vinju: Challenges and Opportunities of Big Software-based Innovation NWO Big Software Match Making Day, July 1st, 2015, Utrecht, The Netherlands.</p>
        </li>
      </simplelist>
    </subsection>
  </diffusion>
  <biblio id="bibliography" html="bibliography" numero="10" titre="Bibliography">
    
    <biblStruct id="ateams-2015-bid32" type="inproceedings" rend="refer" n="refercite:Basten2010">
      <analytic>
        <title level="a">Tracking Down the Origins of Ambiguity in Context-Free Grammars</title>
        <author>
          <persName>
            <foreName>Bas</foreName>
            <surname>Basten</surname>
            <initial>B.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes" x-editorial-board="yes">
        <editor role="editor">
          <persName>
            <foreName>Ana</foreName>
            <surname>Cavalcanti</surname>
            <initial>A.</initial>
          </persName>
          <persName key="veridis-2014-idp94304">
            <foreName>David</foreName>
            <surname>Deharbe</surname>
            <initial>D.</initial>
          </persName>
          <persName>
            <foreName>Marie-Claude</foreName>
            <surname>Gaudel</surname>
            <initial>M.-C.</initial>
          </persName>
          <persName>
            <foreName>Jim</foreName>
            <surname>Woodcock</surname>
            <initial>J.</initial>
          </persName>
        </editor>
        <title level="m">Seventh International Colloquium on Theoretical Aspects of Computing (ICTAC 2010)</title>
        <imprint>
          <biblScope type="volume">6255</biblScope>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <month>September</month>
            <year>2010</year>
          </dateStruct>
          <biblScope type="pages">76-90</biblScope>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid37" type="inproceedings" rend="refer" n="refercite:imp">
      <analytic>
        <title level="a">Accelerating the Creation of Customized, Language-Specific IDEs in Eclipse</title>
        <author>
          <persName>
            <foreName>Philippe</foreName>
            <surname>Charles</surname>
            <initial>P.</initial>
          </persName>
          <persName>
            <foreName>Robert M.</foreName>
            <surname>Fuhrer</surname>
            <initial>R. M.</initial>
          </persName>
          <persName>
            <foreName>Stanley M.</foreName>
            <surname>Sutton Jr</surname>
            <initial>S. M.</initial>
          </persName>
          <persName>
            <foreName>Evelyn</foreName>
            <surname>Duesterwald</surname>
            <initial>E.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes" x-editorial-board="yes">
        <editor role="editor">
          <persName>
            <foreName>Shail</foreName>
            <surname>Arora</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>Gary T.</foreName>
            <surname>Leavens</surname>
            <initial>G. T.</initial>
          </persName>
        </editor>
        <title level="m">Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009</title>
        <imprint>
          <dateStruct>
            <year>2009</year>
          </dateStruct>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid40" type="inproceedings" rend="refer" n="refercite:oliveira:hal-00923387">
      <identifiant type="hal" value="hal-00923387"/>
      <analytic>
        <title level="a">Feature-Oriented Programming With Object Algebras</title>
        <author>
          <persName>
            <foreName>Bruno Cesar</foreName>
            <surname>Dos Santos Oliveira</surname>
            <initial>B. C.</initial>
          </persName>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
          <persName>
            <foreName>Alex</foreName>
            <surname>Loh</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>William R.</foreName>
            <surname>Cook</surname>
            <initial>W. R.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes">
        <title level="m">Proceedings of the European Conference on Object-Oriented Programming (ECOOP)</title>
        <imprint>
          <dateStruct>
            <year>2013</year>
          </dateStruct>
          <ref xlink:href="http://hal.inria.fr/hal-00923387" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00923387</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid36" type="book" rend="refer" n="refercite:EijUng09:cswfp">
      <monogr x-editorial-board="no" x-international-audience="yes" x-proceedings="no">
        <title level="m">Computational Semantics with Functional Programming</title>
        <author>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
          <persName>
            <foreName>Christina</foreName>
            <surname>Unger</surname>
            <initial>C.</initial>
          </persName>
        </author>
        <imprint>
          <publisher>
            <orgName>Cambridge University Press</orgName>
          </publisher>
          <dateStruct>
            <month>September</month>
            <year>2010</year>
          </dateStruct>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid0" type="article" rend="refer" n="refercite:erdweg:hal-01261481">
      <identifiant type="hal" value="hal-01261481"/>
      <analytic>
        <title level="a">Evaluating And Comparing Language Workbenches: Existing Results And Benchmarks For The Future</title>
        <author>
          <persName>
            <foreName>S.</foreName>
            <surname>Erdweg</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
          <persName>
            <foreName>M.</foreName>
            <surname>Voelter</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>L.</foreName>
            <surname>Tratt</surname>
            <initial>L.</initial>
          </persName>
          <persName>
            <foreName>R.</foreName>
            <surname>Bosman</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>W. R.</foreName>
            <surname>Cook</surname>
            <initial>W. R.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Gerritsen</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Hulshout</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>S.</foreName>
            <surname>Kelly</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Loh</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>G.</foreName>
            <surname>Konat</surname>
            <initial>G.</initial>
          </persName>
          <persName>
            <foreName>P. J.</foreName>
            <surname>Molina</surname>
            <initial>P. J.</initial>
          </persName>
          <persName>
            <foreName>M.</foreName>
            <surname>Palatnik</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>R.</foreName>
            <surname>Pohjonen</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>E.</foreName>
            <surname>Schindler</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>K.</foreName>
            <surname>Schindler</surname>
            <initial>K.</initial>
          </persName>
          <persName>
            <foreName>R.</foreName>
            <surname>Solmi</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>V.</foreName>
            <surname>Vergu</surname>
            <initial>V.</initial>
          </persName>
          <persName>
            <foreName>E.</foreName>
            <surname>Visser</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>K. B. van der</foreName>
            <surname>Vlist</surname>
            <initial>K. B. v. d.</initial>
          </persName>
          <persName>
            <foreName>G.</foreName>
            <surname>Wachsmuth</surname>
            <initial>G.</initial>
          </persName>
          <persName>
            <foreName>J. M. van der</foreName>
            <surname>Woning</surname>
            <initial>J. M. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-editorial-board="yes" x-international-audience="yes">
        <title level="j">Computer Languages, Systems and Structures</title>
        <imprint>
          <biblScope type="volume">44</biblScope>
          <biblScope type="number">Part A</biblScope>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">24 - 47</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261481" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261481</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid44" type="inproceedings" rend="refer" n="refercite:hills:hal-00756880">
      <identifiant type="hal" value="hal-00756880"/>
      <analytic>
        <title level="a">Program Analysis Scenarios In Rascal</title>
        <author>
          <persName>
            <foreName>Mark</foreName>
            <surname>Hills</surname>
            <initial>M.</initial>
          </persName>
          <persName key="ateams-2014-idm28104">
            <foreName>Paul</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes">
        <editor role="editor">
          <persName>
            <foreName>F</foreName>
            <surname>Durán</surname>
            <initial>F.</initial>
          </persName>
        </editor>
        <title level="m">Proceedings of the International Workshop on Rewriting Logic and its Applications (WRLA, 2012)</title>
        <loc>Talinn, Estonia</loc>
        <imprint>
          <biblScope type="volume">7571</biblScope>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
          <biblScope type="pages">10 - 30</biblScope>
          <ref xlink:href="http://hal.inria.fr/hal-00756880" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00756880</ref>
        </imprint>
      </monogr>
      <note type="bnote">An invited paper for WRLA 2012, describing our work on program analysis and comparing our approach to approaches based on rewriting logic semantics</note>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid43" type="inproceedings" rend="refer" n="refercite:hills:hal-00756879">
      <identifiant type="hal" value="hal-00756879"/>
      <analytic>
        <title level="a">Scripting A Refactoring With Rascal And Eclipse</title>
        <author>
          <persName>
            <foreName>Mark</foreName>
            <surname>Hills</surname>
            <initial>M.</initial>
          </persName>
          <persName key="ateams-2014-idm28104">
            <foreName>Paul</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes">
        <editor role="editor">
          <persName>
            <foreName>P.</foreName>
            <surname>Sommerlad</surname>
            <initial>P.</initial>
          </persName>
        </editor>
        <title level="m">Proceedings of the 5th Workshop on Refactoring Tools 2012</title>
        <loc>Rapperswil, Switzerland</loc>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
          <biblScope type="pages">40 - 49</biblScope>
          <ref xlink:href="http://hal.inria.fr/hal-00756879" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00756879</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid42" type="article" rend="refer" n="refercite:hills:hal-00756876">
      <identifiant type="hal" value="hal-00756876"/>
      <analytic>
        <title level="a">A One-Stop Shop For Software Evolution Tool Construction</title>
        <author>
          <persName>
            <foreName>Mark</foreName>
            <surname>Hills</surname>
            <initial>M.</initial>
          </persName>
          <persName key="ateams-2014-idm28104">
            <foreName>Paul</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-editorial-board="yes" x-international-audience="yes">
        <title level="j">ERCIM News</title>
        <imprint>
          <biblScope type="number">88</biblScope>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
          <biblScope type="pages">11 - 12</biblScope>
          <ref xlink:href="http://hal.inria.fr/hal-00756876" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00756876</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid31" type="techreport" rend="refer" n="refercite:izmaylova:hal-00923379">
      <identifiant type="arXiv" value=""/>
      <identifiant type="hal" value="hal-00923379"/>
      <monogr>
        <title level="m">M3: An Open Model For Measuring Code Artifacts</title>
        <author>
          <persName key="ateams-2014-idp72728">
            <foreName>A.</foreName>
            <surname>Izmaylova</surname>
            <initial>A.</initial>
          </persName>
          <persName key="ateams-2014-idm28104">
            <foreName>Paul</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName key="ateams-2014-idp75272">
            <foreName>A.</foreName>
            <surname>Shahi</surname>
            <initial>A.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
        <imprint>
          <biblScope type="number">arXiv-1312.1188</biblScope>
          <dateStruct>
            <year>2013</year>
          </dateStruct>
          <biblScope type="pages">1-2</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-00923379" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00923379</ref>
        </imprint>
      </monogr>
      <note type="typdoc">Research Report</note>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid35" type="inproceedings" rend="refer" n="refercite:RASCALSCAM">
      <identifiant type="doi" value="10.1109/SCAM.2009.28"/>
      <analytic>
        <title level="a">RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation</title>
        <author>
          <persName key="ateams-2014-idm28104">
            <foreName>Paul</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName>
            <foreName>Tijs van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes" x-editorial-board="yes">
        <title level="m">IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'09)</title>
        <loc>Los Alamitos, CA, USA</loc>
        <imprint>
          <dateStruct>
            <year>2009</year>
          </dateStruct>
          <biblScope type="pages">168-177</biblScope>
          <ref xlink:href="http://doi.ieeecomputersociety.org/10.1109/SCAM.2009.28" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>doi.<allowbreak/>ieeecomputersociety.<allowbreak/>org/<allowbreak/>10.<allowbreak/>1109/<allowbreak/>SCAM.<allowbreak/>2009.<allowbreak/>28</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid34" type="incollection" rend="refer" n="refercite:RASCALLNCS">
      <identifiant type="doi" value="10.1007/978-3-642-18023-1_6"/>
      <analytic>
        <title level="a">EASY Meta-programming with Rascal</title>
        <author>
          <persName key="ateams-2014-idm28104">
            <foreName>Paul</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <editor role="editor">
          <persName>
            <foreName>João</foreName>
            <surname>Fernandes</surname>
            <initial>J.</initial>
          </persName>
          <persName>
            <foreName>Ralf</foreName>
            <surname>Lämmel</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>Joost</foreName>
            <surname>Visser</surname>
            <initial>J.</initial>
          </persName>
          <persName>
            <foreName>João</foreName>
            <surname>Saraiva</surname>
            <initial>J.</initial>
          </persName>
        </editor>
        <title level="m">Generative and Transformational Techniques in Software Engineering III</title>
        <title level="s">Lecture Notes in Computer Science</title>
        <imprint>
          <biblScope type="volume">6491</biblScope>
          <publisher>
            <orgName>Springer Berlin / Heidelberg</orgName>
          </publisher>
          <dateStruct>
            <year>2011</year>
          </dateStruct>
          <biblScope type="pages">222-289</biblScope>
          <ref xlink:href="http://dx.doi.org/10.1007/978-3-642-18023-1_6" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>dx.<allowbreak/>doi.<allowbreak/>org/<allowbreak/>10.<allowbreak/>1007/<allowbreak/>978-3-642-18023-1_6</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid30" type="inproceedings" rend="refer" n="refercite:klint:hal-00923383">
      <identifiant type="hal" value="hal-00923383"/>
      <analytic>
        <title level="a">Micro-Machinations: A DSL For Game Economies</title>
        <author>
          <persName key="ateams-2014-idm28104">
            <foreName>Paul</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName key="ateams-2014-idp80368">
            <foreName>Riemer</foreName>
            <surname>Van Rozen</surname>
            <initial>R.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <editor role="editor">
          <persName>
            <foreName>M.</foreName>
            <surname>Erwig</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>R. F.</foreName>
            <surname>Paige</surname>
            <initial>R. F.</initial>
          </persName>
          <persName>
            <foreName>E.</foreName>
            <surname>van Wyk</surname>
            <initial>E.</initial>
          </persName>
        </editor>
        <title level="m">Proceedings of the International Conference on Software Language Engineering (SLE, 2013)</title>
        <loc>Unknown</loc>
        <title level="s">Lecture Notes in Computer Science</title>
        <imprint>
          <biblScope type="volume">8225</biblScope>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2013</year>
          </dateStruct>
          <biblScope type="pages">36 - 55</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-00923383" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00923383</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid41" type="inproceedings" rend="refer" n="refercite:loh:hal-00756886">
      <identifiant type="hal" value="hal-00756886"/>
      <analytic>
        <title level="a">Managed Data: Modular Strategies For Data Abstraction</title>
        <author>
          <persName>
            <foreName>Alex</foreName>
            <surname>Loh</surname>
            <initial>A.</initial>
          </persName>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
          <persName>
            <foreName>William R.</foreName>
            <surname>Cook</surname>
            <initial>W. R.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes">
        <title level="m">Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software 2012</title>
        <loc>Tucson, United States</loc>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
          <biblScope type="pages">179 - 194</biblScope>
          <ref xlink:href="http://hal.inria.fr/hal-00756886" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00756886</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid33" type="inproceedings" rend="refer" n="refercite:Steindorfer:2015:OHM:2814270.2814312">
      <identifiant type="doi" value="10.1145/2814270.2814312"/>
      <analytic>
        <title level="a">Optimizing Hash-array Mapped Tries for Fast and Lean Immutable JVM Collections</title>
        <author>
          <persName key="ateams-2014-idp76544">
            <foreName>Michael J.</foreName>
            <surname>Steindorfer</surname>
            <initial>M. J.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="m">Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications</title>
        <loc>New York, NY, USA</loc>
        <title level="s">OOPSLA 2015</title>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">783–800</biblScope>
          <ref xlink:href="http://doi.acm.org/10.1145/2814270.2814312" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>doi.<allowbreak/>acm.<allowbreak/>org/<allowbreak/>10.<allowbreak/>1145/<allowbreak/>2814270.<allowbreak/>2814312</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid38" type="inproceedings" rend="refer" n="refercite:vanderstorm:2011:hal-00644687:1">
      <identifiant type="hal" value="hal-00644687"/>
      <analytic>
        <title level="a">Bringing Domain-Specific Languages to Digital Forensics</title>
        <author>
          <persName>
            <foreName>Jeroen</foreName>
            <surname>van den Bos</surname>
            <initial>J.</initial>
          </persName>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes">
        <title level="m">Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu , HI, USA, May 21-28, 2011</title>
        <loc>Honolulu, United States</loc>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2011</year>
          </dateStruct>
          <biblScope type="pages">671-680</biblScope>
          <ref xlink:href="http://hal.inria.fr/hal-00644687/en" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00644687/<allowbreak/>en</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid45" type="article" rend="refer" n="refercite:vandenbos:hal-00756885">
      <identifiant type="hal" value="hal-00756885"/>
      <analytic>
        <title level="a">Domain-Specific Languages For Better Forensic Software</title>
        <author>
          <persName>
            <foreName>Jeroen</foreName>
            <surname>van den Bos</surname>
            <initial>J.</initial>
          </persName>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-editorial-board="yes" x-international-audience="yes">
        <title level="j">ERCIM News</title>
        <imprint>
          <biblScope type="volume">2012</biblScope>
          <biblScope type="number">90</biblScope>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
          <ref xlink:href="http://hal.inria.fr/hal-00756885" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00756885</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid47" type="inproceedings" rend="refer" n="refercite:vandenbos:hal-00756891">
      <identifiant type="hal" value="hal-00756891"/>
      <analytic>
        <title level="a">Domain-Specific Optimization In Digital Forensics</title>
        <author>
          <persName>
            <foreName>Jeroen</foreName>
            <surname>van den Bos</surname>
            <initial>J.</initial>
          </persName>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes">
        <editor role="editor">
          <persName>
            <foreName>Z.</foreName>
            <surname>Hu</surname>
            <initial>Z.</initial>
          </persName>
          <persName>
            <foreName>J.</foreName>
            <surname>de Lara</surname>
            <initial>J.</initial>
          </persName>
        </editor>
        <title level="m">Proceedings of the International Conference on Model Transformation (ICMT, 2012)</title>
        <loc>Prague, Czech Republic</loc>
        <imprint>
          <biblScope type="volume">7307</biblScope>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
          <biblScope type="pages">121 - 136</biblScope>
          <ref xlink:href="http://hal.inria.fr/hal-00756891" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00756891</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid1" type="article" rend="refer" n="refercite:vanderstorm:hal-00923385">
      <identifiant type="hal" value="hal-00923385"/>
      <analytic>
        <title level="a">Towards Multilingual Programming Environments</title>
        <author>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="j">Science of Computer Programming</title>
        <imprint>
          <dateStruct>
            <year>2013</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-00923385" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00923385</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid39" type="inproceedings" rend="refer" n="refercite:cc">
      <analytic>
        <title level="a">What does control flow really look like? Eyeballing the Cyclomatic Complexity Metric</title>
        <author>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen</foreName>
            <surname>Vinju</surname>
            <initial>J.</initial>
          </persName>
          <persName>
            <foreName>Michael W.</foreName>
            <surname>Godfrey</surname>
            <initial>M. W.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="m">Ninth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM'12)</title>
        <imprint>
          <publisher>
            <orgName>IEEE Computer Society</orgName>
          </publisher>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid46" type="inproceedings" rend="refer" n="refercite:storm:hal-00758627">
      <identifiant type="hal" value="hal-00758627"/>
      <analytic>
        <title level="a">Object Grammars: Compositional &amp; Bidirectional Mapping Between Text and Graphs</title>
        <author>
          <persName key="ateams-2014-idm26760">
            <foreName>Tijs</foreName>
            <surname>Van Der Storm</surname>
            <initial>T.</initial>
          </persName>
          <persName>
            <foreName>William R.</foreName>
            <surname>Cook</surname>
            <initial>W. R.</initial>
          </persName>
          <persName>
            <foreName>Alex</foreName>
            <surname>Loh</surname>
            <initial>A.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-international-audience="yes" x-proceedings="yes">
        <editor role="editor">
          <persName>
            <foreName>Krzysztof</foreName>
            <surname>Czarnecki</surname>
            <initial>K.</initial>
          </persName>
          <persName>
            <foreName>Görel</foreName>
            <surname>Hedin</surname>
            <initial>G.</initial>
          </persName>
        </editor>
        <title level="m">Software Language Engineering</title>
        <loc>Dresden, Germany</loc>
        <imprint>
          <dateStruct>
            <month>September</month>
            <year>2012</year>
          </dateStruct>
          <ref xlink:href="http://hal.inria.fr/hal-00758627" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-00758627</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid24" type="book" rend="year" n="cite:benthem:hal-01261490">
      <identifiant type="hal" value="hal-01261490"/>
      <monogr x-scientific-popularization="no" x-international-audience="yes">
        <title level="m">Logic in Action</title>
        <author>
          <persName>
            <foreName>Johan Van</foreName>
            <surname>Benthem</surname>
            <initial>J. V.</initial>
          </persName>
          <persName>
            <foreName>Hans van</foreName>
            <surname>Ditmarsch</surname>
            <initial>H. v.</initial>
          </persName>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
          <persName>
            <foreName>Jan</foreName>
            <surname>Jaspars</surname>
            <initial>J.</initial>
          </persName>
        </author>
        <imprint>
          <publisher>
            <orgName>Internet</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261490" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261490</ref>
        </imprint>
      </monogr>
      <note type="bnote">electronic book, available from url below</note>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid16" type="proceedings" rend="year" n="cite:storm:hal-01261478">
      <identifiant type="hal" value="hal-01261478"/>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes">
        <title level="m">Proceedings Of The 3rd Workshop On Domain-Specific Language Design And Implementation (DSLDI'15)</title>
        <editor role="editor">
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
          <persName>
            <foreName>S.</foreName>
            <surname>Erdweg</surname>
            <initial>S.</initial>
          </persName>
        </editor>
        <imprint>
          <dateStruct>
            <month>August</month>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261478" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261478</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid15" type="incollection" rend="year" n="cite:afroozeh:hal-01261483">
      <identifiant type="doi" value="10.1007/978-3-662-46663-6_5"/>
      <identifiant type="hal" value="hal-01261483"/>
      <analytic>
        <title level="a">Faster, Practical GLL Parsing</title>
        <author>
          <persName key="ateams-2014-idp70232">
            <foreName>Ali</foreName>
            <surname>Afroozeh</surname>
            <initial>A.</initial>
          </persName>
          <persName key="ateams-2014-idp72728">
            <foreName>Anastasia</foreName>
            <surname>Izmaylova</surname>
            <initial>A.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no">
        <editor role="editor">
          <persName>
            <foreName>Björn</foreName>
            <surname>Franke</surname>
            <initial>B.</initial>
          </persName>
        </editor>
        <title level="m">Compiler Construction</title>
        <title level="s">Lecture Notes in Computer Science</title>
        <imprint>
          <biblScope type="volume">9031</biblScope>
          <publisher>
            <orgName>Springer Berlin Heidelberg</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">89-108</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261483" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261483</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid11" type="article" rend="year" n="cite:basten:hal-01261480">
      <identifiant type="hal" value="hal-01261480"/>
      <analytic>
        <title level="a">Modular Language Implementation In Rascal ― Experience Report</title>
        <author>
          <persName>
            <foreName>H. J. S.</foreName>
            <surname>Basten</surname>
            <initial>H. J. S.</initial>
          </persName>
          <persName>
            <foreName>J. van den</foreName>
            <surname>Bos</surname>
            <initial>J. v. d.</initial>
          </persName>
          <persName>
            <foreName>M. A.</foreName>
            <surname>Hills</surname>
            <initial>M. A.</initial>
          </persName>
          <persName key="ateams-2014-idm28104">
            <foreName>P.</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName>
            <foreName>A. W.</foreName>
            <surname>Lankamp</surname>
            <initial>A. W.</initial>
          </persName>
          <persName key="ateams-2014-idp67736">
            <foreName>B.</foreName>
            <surname>Lisser</surname>
            <initial>B.</initial>
          </persName>
          <persName>
            <foreName>A. J. van der</foreName>
            <surname>Ploeg</surname>
            <initial>A. J. v. d.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
          <persName>
            <foreName>J. J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-editorial-board="yes" x-international-audience="yes" id="rid01754">
        <idno type="issn">0167-6423</idno>
        <title level="j">Science of Computer Programming</title>
        <imprint>
          <biblScope type="volume">114</biblScope>
          <dateStruct>
            <month>December</month>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">7 - 19</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261480" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261480</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid26" type="incollection" rend="year" n="cite:eijck:hal-01261485">
      <identifiant type="hal" value="hal-01261485"/>
      <analytic>
        <title level="a">Implementing Semantic Theories</title>
        <author>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no">
        <editor role="editor">
          <persName>
            <foreName>Shalom</foreName>
            <surname>Lappin</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>Chris</foreName>
            <surname>Fox</surname>
            <initial>C.</initial>
          </persName>
        </editor>
        <title level="m">Handbook of Contemporary Semantics, Second Edition</title>
        <imprint>
          <publisher>
            <orgName>Wiley</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">455–491</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261485" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261485</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid14" type="incollection" rend="year" n="cite:eijck:hal-01261486">
      <identifiant type="hal" value="hal-01261486"/>
      <analytic>
        <title level="a">Strategies in Social Software</title>
        <author>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no">
        <editor role="editor">
          <persName>
            <foreName>J.</foreName>
            <surname>van Benthem</surname>
            <initial>J.</initial>
          </persName>
          <persName key="multispeech-2015-idp141192">
            <foreName>S.</foreName>
            <surname>Ghosh</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>R.</foreName>
            <surname>Verbrugge</surname>
            <initial>R.</initial>
          </persName>
        </editor>
        <title level="m">Modeling Strategic Reasoning: Logics, Games and Communities</title>
        <title level="s">LNCS</title>
        <imprint>
          <biblScope type="number">8972</biblScope>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261486" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261486</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid13" type="incollection" rend="year" n="cite:eijck:hal-01261488">
      <identifiant type="hal" value="hal-01261488"/>
      <analytic>
        <title level="a">Varieties of Belief and Probability</title>
        <author>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no">
        <editor role="editor">
          <persName>
            <foreName>Sujata</foreName>
            <surname>Ghosh</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>Jakyb</foreName>
            <surname>Szymanik</surname>
            <initial>J.</initial>
          </persName>
        </editor>
        <title level="m">The Facts Matter ―- Essays on Logic and Cognition in Honour of Rineke Verbrugge</title>
        <title level="s">Tributes, Volume 25</title>
        <imprint>
          <publisher>
            <orgName>College Publications</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">67–87</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261488" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261488</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid23" type="article" rend="year" n="cite:eijck:hal-01261475">
      <identifiant type="hal" value="hal-01261475"/>
      <analytic>
        <title level="a">Understanding Information Update In Questionnaires</title>
        <author>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-editorial-board="yes" x-international-audience="yes" id="rid01754">
        <idno type="issn">0167-6423</idno>
        <title level="j">Science of Computer Programming</title>
        <imprint>
          <biblScope type="volume">97</biblScope>
          <biblScope type="number">Part 1</biblScope>
          <dateStruct>
            <month>January</month>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261475" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261475</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid21" type="article" rend="year" n="cite:erdweg:hal-01261481">
      <identifiant type="hal" value="hal-01261481"/>
      <analytic>
        <title level="a">Evaluating And Comparing Language Workbenches: Existing Results And Benchmarks For The Future</title>
        <author>
          <persName>
            <foreName>S.</foreName>
            <surname>Erdweg</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
          <persName>
            <foreName>M.</foreName>
            <surname>Voelter</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>L.</foreName>
            <surname>Tratt</surname>
            <initial>L.</initial>
          </persName>
          <persName>
            <foreName>R.</foreName>
            <surname>Bosman</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>W. R.</foreName>
            <surname>Cook</surname>
            <initial>W. R.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Gerritsen</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Hulshout</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>S.</foreName>
            <surname>Kelly</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Loh</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>G.</foreName>
            <surname>Konat</surname>
            <initial>G.</initial>
          </persName>
          <persName>
            <foreName>P. J.</foreName>
            <surname>Molina</surname>
            <initial>P. J.</initial>
          </persName>
          <persName>
            <foreName>M.</foreName>
            <surname>Palatnik</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>R.</foreName>
            <surname>Pohjonen</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>E.</foreName>
            <surname>Schindler</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>K.</foreName>
            <surname>Schindler</surname>
            <initial>K.</initial>
          </persName>
          <persName>
            <foreName>R.</foreName>
            <surname>Solmi</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>V.</foreName>
            <surname>Vergu</surname>
            <initial>V.</initial>
          </persName>
          <persName>
            <foreName>E.</foreName>
            <surname>Visser</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>K. B. van der</foreName>
            <surname>Vlist</surname>
            <initial>K. B. v. d.</initial>
          </persName>
          <persName>
            <foreName>G.</foreName>
            <surname>Wachsmuth</surname>
            <initial>G.</initial>
          </persName>
          <persName>
            <foreName>J. M. van der</foreName>
            <surname>Woning</surname>
            <initial>J. M. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-editorial-board="yes" x-international-audience="yes" id="rid00394">
        <idno type="issn">1477-8424</idno>
        <title level="j">Computer Languages, Systems and Structures</title>
        <imprint>
          <biblScope type="volume">44</biblScope>
          <biblScope type="number">Part A</biblScope>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">24 - 47</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261481" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261481</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid17" type="article" rend="year" n="cite:storm:hal-01261474">
      <identifiant type="hal" value="hal-01261474"/>
      <analytic>
        <title level="a">Towards Multilingual Programming Environments</title>
        <author>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
          <persName>
            <foreName>J. J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-editorial-board="yes" x-international-audience="yes" id="rid01754">
        <idno type="issn">0167-6423</idno>
        <title level="j">Science of Computer Programming</title>
        <imprint>
          <biblScope type="volume">97</biblScope>
          <biblScope type="number">Part 1</biblScope>
          <dateStruct>
            <month>January</month>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261474" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261474</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid3" type="inproceedings" rend="year" n="cite:afroozeh:hal-01261484">
      <identifiant type="doi" value="10.1145/2814228.2814242"/>
      <identifiant type="hal" value="hal-01261484"/>
      <analytic>
        <title level="a">One Parser to Rule Them All</title>
        <author>
          <persName key="ateams-2014-idp70232">
            <foreName>Ali</foreName>
            <surname>Afroozeh</surname>
            <initial>A.</initial>
          </persName>
          <persName key="ateams-2014-idp72728">
            <foreName>Anastasia</foreName>
            <surname>Izmaylova</surname>
            <initial>A.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming &amp; Software</title>
        <loc>New York, NY, USA</loc>
        <title level="s">Onward! 2015</title>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">151–170</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261484" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261484</ref>
        </imprint>
        <meeting id="cid623641">
          <title>ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software</title>
          <num>2015</num>
          <abbr type="sigle"/>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid6" type="inproceedings" rend="year" n="cite:almeida:hal-01261966">
      <identifiant type="hal" value="hal-01261966"/>
      <analytic>
        <title level="a">OSSMETER: Automated Measurement And Analysis Of Open Source Software</title>
        <author>
          <persName>
            <foreName>B.</foreName>
            <surname>Almeida</surname>
            <initial>B.</initial>
          </persName>
          <persName>
            <foreName>S.</foreName>
            <surname>Ananiadou</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Bagnato</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Berreteaga</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>J.</foreName>
            <surname>Di Rocco</surname>
            <initial>J.</initial>
          </persName>
          <persName>
            <foreName>Davide</foreName>
            <surname>Di Ruscio</surname>
            <initial>D.</initial>
          </persName>
          <persName>
            <foreName>D.</foreName>
            <surname>Kolovos</surname>
            <initial>D.</initial>
          </persName>
          <persName>
            <foreName>I.</foreName>
            <surname>Korkontzelos</surname>
            <initial>I.</initial>
          </persName>
          <persName>
            <foreName>S.</foreName>
            <surname>Hansen</surname>
            <initial>S.</initial>
          </persName>
          <persName>
            <foreName>P.</foreName>
            <surname>Maló</surname>
            <initial>P.</initial>
          </persName>
          <persName>
            <foreName>N.</foreName>
            <surname>Matragkas</surname>
            <initial>N.</initial>
          </persName>
          <persName>
            <foreName>R. F.</foreName>
            <surname>Paige</surname>
            <initial>R. F.</initial>
          </persName>
          <persName>
            <foreName>J. J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of International Conference on Software Technologies: Applications and Foundations 2015 (STAF 0)</title>
        <loc>L'Aquila, Italy</loc>
        <title level="s">Lecture Notes in Computational Science and Engineering</title>
        <imprint>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.archives-ouvertes.fr/hal-01261966" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>archives-ouvertes.<allowbreak/>fr/<allowbreak/>hal-01261966</ref>
        </imprint>
        <meeting id="cid624636">
          <title>Transformation Tool Contest Part of the Software Technologies: Applications and Foundations Federation of Conferences</title>
          <num>8</num>
          <abbr type="sigle">STAF</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid27" type="inproceedings" rend="year" n="cite:basten:hal-01261493">
      <identifiant type="hal" value="hal-01261493"/>
      <analytic>
        <title level="a">M3: A General Model For Source Code Analytics In Rascal</title>
        <author>
          <persName>
            <foreName>H. J. S.</foreName>
            <surname>Basten</surname>
            <initial>H. J. S.</initial>
          </persName>
          <persName>
            <foreName>M. A.</foreName>
            <surname>Hills</surname>
            <initial>M. A.</initial>
          </persName>
          <persName key="ateams-2014-idm28104">
            <foreName>P.</foreName>
            <surname>Klint</surname>
            <initial>P.</initial>
          </persName>
          <persName key="ateams-2014-idp74000">
            <foreName>D.</foreName>
            <surname>Landman</surname>
            <initial>D.</initial>
          </persName>
          <persName key="ateams-2014-idp75272">
            <foreName>A.</foreName>
            <surname>Shahi</surname>
            <initial>A.</initial>
          </persName>
          <persName key="ateams-2014-idp76544">
            <foreName>M.</foreName>
            <surname>Steindorfer</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>J. J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of International Workshop on Software Analytics 2015 (SWAN 2015)</title>
        <loc>Montreal, Canada</loc>
        <imprint>
          <publisher>
            <orgName>IEEE</orgName>
          </publisher>
          <dateStruct>
            <month>March</month>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261493" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261493</ref>
        </imprint>
        <meeting id="cid624978">
          <title>IEEE International Workshop on Software Analytics</title>
          <num>1</num>
          <abbr type="sigle">SWAN</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid18" type="inproceedings" rend="year" n="cite:benthem:hal-01261492">
      <identifiant type="hal" value="hal-01261492"/>
      <analytic>
        <title level="a">Symbolic Model Checking for Dynamic Epistemic Logic</title>
        <author>
          <persName>
            <foreName>Johan Van</foreName>
            <surname>Benthem</surname>
            <initial>J. V.</initial>
          </persName>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
          <persName>
            <foreName>Malvin</foreName>
            <surname>Gattinger</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>Kaile</foreName>
            <surname>Su</surname>
            <initial>K.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <editor role="editor">
          <persName>
            <foreName>Wiebe van der</foreName>
            <surname>Hoek</surname>
            <initial>W. v. d.</initial>
          </persName>
          <persName>
            <foreName>H. Holliday</foreName>
            <surname>Wesley</surname>
            <initial>H. H.</initial>
          </persName>
          <persName>
            <foreName>Wang</foreName>
            <surname>Wen-fang</surname>
            <initial>W.</initial>
          </persName>
        </editor>
        <title level="m">Logic, Rationality, and Interaction; 5th International Workshop, LORI 2015</title>
        <loc>Taipei, Taiwan</loc>
        <title level="s">LNCS</title>
        <imprint>
          <biblScope type="number">9394</biblScope>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">366–378</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261492" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261492</ref>
        </imprint>
        <meeting id="cid73827">
          <title>International Workshop on Logic, Rationality and Interaction</title>
          <num>5</num>
          <abbr type="sigle">LORI</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid5" type="inproceedings" rend="year" n="cite:diruscio:hal-01261967">
      <identifiant type="hal" value="hal-01261967"/>
      <analytic>
        <title level="a">OSSMETER: A Software Measurement Platform For Automatically Analysing Open Source Software Projects</title>
        <author>
          <persName>
            <foreName>D.</foreName>
            <surname>DiRuscio</surname>
            <initial>D.</initial>
          </persName>
          <persName>
            <foreName>D.</foreName>
            <surname>Kolovos</surname>
            <initial>D.</initial>
          </persName>
          <persName>
            <foreName>N.</foreName>
            <surname>Matragkas</surname>
            <initial>N.</initial>
          </persName>
          <persName>
            <foreName>I.</foreName>
            <surname>Korkontzelos</surname>
            <initial>I.</initial>
          </persName>
          <persName>
            <foreName>J. J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of Joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on Foundations of Software Engineering 2015 (ESEC/FSE)</title>
        <loc>Bergame, Italy</loc>
        <title level="s">ACM International Conference Proceeding Series</title>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.archives-ouvertes.fr/hal-01261967" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>archives-ouvertes.<allowbreak/>fr/<allowbreak/>hal-01261967</ref>
        </imprint>
        <meeting id="cid340930">
          <title>Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering</title>
          <num>10</num>
          <abbr type="sigle">ESEC/FSE</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid12" type="inproceedings" rend="year" n="cite:eijck:hal-01261489">
      <identifiant type="hal" value="hal-01261489"/>
      <analytic>
        <title level="a">Elements of Epistemic Crypto Logic (Extended Abstract)</title>
        <author>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
          <persName>
            <foreName>Malvin</foreName>
            <surname>Gattinger</surname>
            <initial>M.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <editor role="editor">
          <persName>
            <foreName/>
            <surname>Bordini</surname>
            <initial/>
          </persName>
          <persName>
            <foreName/>
            <surname>Elkind</surname>
            <initial/>
          </persName>
          <persName>
            <foreName/>
            <surname>Weiss</surname>
            <initial/>
          </persName>
          <persName>
            <foreName/>
            <surname>Yolum</surname>
            <initial/>
          </persName>
        </editor>
        <title level="m">Proceedings of the 14th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2015)</title>
        <loc>Istanbul, Turkey</loc>
        <imprint>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261489" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261489</ref>
        </imprint>
        <meeting id="cid112748">
          <title>International Conference on Autonomous Agents and Multiagent Systems</title>
          <num>14</num>
          <abbr type="sigle">AAMAS</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid25" subtype="nonparu-n" type="inproceedings" rend="year" n="cite:gattinger:hal-01261491">
      <identifiant type="hal" value="hal-01261491"/>
      <analytic>
        <title level="a">Towards Model Checking Cryptographic Protocols with Dynamic Epistemic Logic</title>
        <author>
          <persName>
            <foreName>Malvin</foreName>
            <surname>Gattinger</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>Jan Van</foreName>
            <surname>Eijck</surname>
            <initial>J. V.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings LAMAS (LAMAS 2015)</title>
        <loc>Istanbul, Turkey</loc>
        <imprint>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261491" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261491</ref>
        </imprint>
        <meeting id="cid623643">
          <title>Workshop on Logical Aspects of Multi-Agent Systems</title>
          <num>2015</num>
          <abbr type="sigle">LAMAS</abbr>
        </meeting>
      </monogr>
      <note type="bnote">available from <ref xlink:href="http://www.irit.fr/~Emiliano.Lorini/LAMAS2015/accepted.htm" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www.<allowbreak/>irit.<allowbreak/>fr/<allowbreak/>~Emiliano.<allowbreak/>Lorini/<allowbreak/>LAMAS2015/<allowbreak/>accepted.<allowbreak/>htm</ref></note>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid29" type="inproceedings" rend="year" n="cite:hentz:hal-01261968">
      <identifiant type="hal" value="hal-01261968"/>
      <analytic>
        <title level="a">Reducing The Cost Of Grammar-Based Testing Using Pattern Coverage</title>
        <author>
          <persName>
            <foreName>C.</foreName>
            <surname>Hentz</surname>
            <initial>C.</initial>
          </persName>
          <persName>
            <foreName>J. J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
          <persName>
            <foreName>A. M.</foreName>
            <surname>Moreira</surname>
            <initial>A. M.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of IFIP International Conference on Testing Software and Systems 2015 (ICTSS)</title>
        <loc>Dubai, United Arab Emirates</loc>
        <imprint>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.archives-ouvertes.fr/hal-01261968" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>archives-ouvertes.<allowbreak/>fr/<allowbreak/>hal-01261968</ref>
        </imprint>
        <meeting id="cid390541">
          <title>International Conference on Testing Software and Systems</title>
          <num>27</num>
          <abbr type="sigle">ICTSS</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid22" type="inproceedings" rend="year" n="cite:hermans:hal-01261473">
      <identifiant type="hal" value="hal-01261473"/>
      <analytic>
        <title level="a">Copy-Paste Tracking: Fixing Spreadsheets Without Breaking Them</title>
        <author>
          <persName>
            <foreName>F.</foreName>
            <surname>Hermans</surname>
            <initial>F.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of the International Conference on Live Coding (ICLC, 2015)</title>
        <loc>Leeds, UK</loc>
        <imprint>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261473" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261473</ref>
        </imprint>
        <meeting id="cid624979">
          <title>International Conference on Live Coding</title>
          <num>1</num>
          <abbr type="sigle">ICLC</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid8" type="inproceedings" rend="year" n="cite:inostrozavaldera:hal-01261476">
      <identifiant type="hal" value="hal-01261476"/>
      <analytic>
        <title level="a">Modular Interpreters For The Masses: Implicit Context Propagation Using Object Algebras</title>
        <author>
          <persName>
            <foreName>P. A.</foreName>
            <surname>Inostroza Valdera</surname>
            <initial>P. A.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <editor role="editor">
          <persName>
            <foreName>C.</foreName>
            <surname>Kästner</surname>
            <initial>C.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Gokhālé</surname>
            <initial>A.</initial>
          </persName>
        </editor>
        <title level="m">Proceedings of ACM International Conference on Generative Programming and Component Engineering 2015 (GPCE 0)</title>
        <title level="s">ACM International Conference Proceeding Series</title>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">171 - 180</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261476" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261476</ref>
        </imprint>
        <meeting id="cid283018">
          <title>International Conference on Generative Programming and Component Engineering</title>
          <num>14</num>
          <abbr type="sigle">GPCE</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid9" type="inproceedings" rend="year" n="cite:rozen:hal-01261970">
      <identifiant type="hal" value="hal-01261970"/>
      <analytic>
        <title level="a">A Pattern-Based Game Mechanics Design Assistant</title>
        <author>
          <persName>
            <foreName>R. van</foreName>
            <surname>Rozen</surname>
            <initial>R. v.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of Foundations of Digital Games 2015 (FDG 2015)</title>
        <loc>Pacific Grove, United States</loc>
        <imprint>
          <publisher>
            <orgName>Society for the Advancement of the Science of Digital Games</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.archives-ouvertes.fr/hal-01261970" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>archives-ouvertes.<allowbreak/>fr/<allowbreak/>hal-01261970</ref>
        </imprint>
        <meeting id="cid440760">
          <title>International Conference on the Foundations of Digital Games</title>
          <num>2015</num>
          <abbr type="sigle">FDG</abbr>
        </meeting>
      </monogr>
      <note type="bnote">at Asilomar Conference Grounds</note>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid20" type="inproceedings" rend="year" n="cite:rozen:hal-01261479">
      <identifiant type="hal" value="hal-01261479"/>
      <analytic>
        <title level="a">Origin Tracking + Text Differencing = Textual Model Differencing</title>
        <author>
          <persName>
            <foreName>R. van</foreName>
            <surname>Rozen</surname>
            <initial>R. v.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Theory and Practice of Model Transformations</title>
        <imprint>
          <publisher>
            <orgName>Springer International Publishing</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">18 - 33</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261479" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261479</ref>
        </imprint>
        <meeting id="cid292478">
          <title>International Conference on Model Transformation</title>
          <num>8</num>
          <abbr type="sigle">ICMT</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid4" type="inproceedings" rend="year" n="cite:steindorfer:hal-01261487">
      <identifiant type="doi" value="10.1145/2814270.2814312"/>
      <identifiant type="hal" value="hal-01261487"/>
      <analytic>
        <title level="a">Optimizing Hash-array Mapped Tries for Fast and Lean Immutable JVM Collections</title>
        <author>
          <persName key="ateams-2014-idp76544">
            <foreName>Michael J.</foreName>
            <surname>Steindorfer</surname>
            <initial>M. J.</initial>
          </persName>
          <persName key="ateams-2014-idm29392">
            <foreName>Jurgen J.</foreName>
            <surname>Vinju</surname>
            <initial>J. J.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications</title>
        <loc>New York, NY, USA</loc>
        <title level="s">OOPSLA 2015</title>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">783–800</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01261487" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261487</ref>
        </imprint>
        <meeting id="cid22068">
          <title>ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications</title>
          <num>30</num>
          <abbr type="sigle">OOPSLA</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid28" type="inproceedings" rend="year" n="cite:stoel:hal-01261969">
      <identifiant type="arXiv" value=""/>
      <identifiant type="hal" value="hal-01261969"/>
      <analytic>
        <title level="a">A Case For Rebel, A DSL For Product Specifications</title>
        <author>
          <persName>
            <foreName>J. H.</foreName>
            <surname>Stoel</surname>
            <initial>J. H.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of Domain-specific Language Design and Implementation 2015 (DSLDI 0)</title>
        <imprint>
          <publisher>
            <orgName>arXiv</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">9 - 11</biblScope>
          <ref xlink:href="https://hal.archives-ouvertes.fr/hal-01261969" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>archives-ouvertes.<allowbreak/>fr/<allowbreak/>hal-01261969</ref>
        </imprint>
        <meeting id="cid624977">
          <title>Proceedings of Domain-specific Language Design and Implementation</title>
          <num>3</num>
          <abbr type="sigle">DSLDI</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid19" type="inproceedings" rend="year" n="cite:zhang:hal-01261477">
      <identifiant type="hal" value="hal-01261477"/>
      <analytic>
        <title level="a">Scrap Your Boilerplate With Object Algebras</title>
        <author>
          <persName key="cqfd-2014-idp68192">
            <foreName>H.</foreName>
            <surname>Zhang</surname>
            <initial>H.</initial>
          </persName>
          <persName>
            <foreName>Z.</foreName>
            <surname>Chu</surname>
            <initial>Z.</initial>
          </persName>
          <persName>
            <foreName>Bruno Cesar</foreName>
            <surname>Dos Santos Oliveira</surname>
            <initial>B. C.</initial>
          </persName>
          <persName>
            <foreName>T. van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Proceedings of the Object-oriented Programming, Systems, Languages, and Applications (OOPSLA, 2015)</title>
        <imprint>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01261477" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01261477</ref>
        </imprint>
        <meeting id="cid22068">
          <title>ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications</title>
          <num>30</num>
          <abbr type="sigle">OOPSLA</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid7" type="incollection" rend="foot" n="footcite:oliveira2012extensibility">
      <analytic>
        <title level="a">Extensibility for the Masses</title>
        <author>
          <persName>
            <foreName>Bruno Cesar</foreName>
            <surname>Dos Santos Oliveira</surname>
            <initial>B. C.</initial>
          </persName>
          <persName>
            <foreName>William R</foreName>
            <surname>Cook</surname>
            <initial>W. R.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="m">ECOOP 2012–Object-Oriented Programming</title>
        <imprint>
          <publisher>
            <orgName>Springer</orgName>
          </publisher>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
          <biblScope type="pages">2–27</biblScope>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid2" type="inproceedings" rend="foot" n="footcite:Izmaylova:2016:PGP:2847538.2847539">
      <identifiant type="doi" value="10.1145/2847538.2847539"/>
      <analytic>
        <title level="a">Practical, General Parser Combinators</title>
        <author>
          <persName key="ateams-2014-idp72728">
            <foreName>Anastasia</foreName>
            <surname>Izmaylova</surname>
            <initial>A.</initial>
          </persName>
          <persName key="ateams-2014-idp70232">
            <foreName>Ali</foreName>
            <surname>Afroozeh</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>Tijs van der</foreName>
            <surname>Storm</surname>
            <initial>T. v. d.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="m">Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation</title>
        <loc>New York, NY, USA</loc>
        <title level="s">PEPM 2016</title>
        <imprint>
          <publisher>
            <orgName>ACM</orgName>
          </publisher>
          <dateStruct>
            <year>2016</year>
          </dateStruct>
          <biblScope type="pages">1–12</biblScope>
          <ref xlink:href="http://doi.acm.org/10.1145/2847538.2847539" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>doi.<allowbreak/>acm.<allowbreak/>org/<allowbreak/>10.<allowbreak/>1145/<allowbreak/>2847538.<allowbreak/>2847539</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="ateams-2015-bid10" type="phdthesis" rend="foot" n="footcite:AtzePhD">
      <monogr>
        <title level="m">Efficient Abstractions For Visualization And Interaction</title>
        <author>
          <persName>
            <foreName>A. J. van der</foreName>
            <surname>Ploeg</surname>
            <initial>A. J. v. d.</initial>
          </persName>
        </author>
        <imprint>
          <publisher>
            <orgName type="school">Universiteit van Amsterdam</orgName>
          </publisher>
          <dateStruct>
            <month>April</month>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">1 - 146</biblScope>
          <ref xlink:href="http://oai.cwi.nl/oai/asset/23618/23618A.pdf" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>oai.<allowbreak/>cwi.<allowbreak/>nl/<allowbreak/>oai/<allowbreak/>asset/<allowbreak/>23618/<allowbreak/>23618A.<allowbreak/>pdf</ref>
        </imprint>
      </monogr>
      <note type="typdoc">Ph. D. Thesis</note>
    </biblStruct>
  </biblio>
</raweb>
