VLDB 2026 Research / reviewers in the wild / expert
Ralf Lämmel
dblp:l/RalfLammel
· DBLP profile ↗
73ranked-venue papers
30as first author
10since 2021 · last 2025
0000-0001-9946-4363ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 65 · 29 first-author · 6 since 2021Databases, data management, data science and information retrieval · 7 · 4 since 2021Theory of computation · 5 · 4 first-authorArtificial intelligence and machine learning · 1Systems, architecture and hardware · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | On-device Fault Classification for industrial environments: leveraging hierarchical CNNs for energy efficiencyabstractDiagnosis and predictive maintenance are vital in modern production, where minimizing downtime and ensuring efficiency are crucial. Embedded AI enables real-time, on-site analysis, reducing reliance on cloud infrastructures. This paper presents an energy-efficient sensor data classification method for edge devices using adaptive inference strategies.The approach employs a hierarchical system, starting with a lightweight machine learning model to assess data complexity. When classification ambiguity arises, the system escalates to more computationally demanding Convolutional Neural Networks (CNNs), balancing resource consumption and accuracy.Using the IDMT-ISA-Compressed-Air dataset for compressed air leak detection, the system reduces energy use by 55.95% compared to a baseline CNN while maintaining classification performance and lowering latency. The method ensures efficient AI-powered monitoring directly on edge devices. Devesh Vashishth, Kavya Sasikumar, Marco Wagner, Ralf Lämmel |
ETFA | 4 |
| 2024 | eSPARQL: Representing and Reconciling Agnostic and Atheistic Beliefs in RDF-star Knowledge Graphs
Xinyi Pan, Daniel Hernández 0002, Philipp Seifer, Ralf Lämmel, Steffen Staab |
ISWC (2) | 4 |
| 2024 | AI Effects on Research and Education: A Programming and Software Language Perspective (Panel)abstractIn this panel, we discuss how AI is affecting research and education in the field of programming and software languages. We explore different positions regarding carefully welcoming AI into research and education. We focus more on fundamental, philosophical, methodological questions, less so on specific technological advances or studies. Ralf Lämmel |
SLE | 1 |
| 2024 | From Shapes to Shapes: Inferring SHACL Shapes for Results of SPARQL CONSTRUCT QueriesabstractSPARQL CONSTRUCT queries allow for the specification of data processing pipelines that transform given input graphs into new output graphs. It is now common to constrain graphs through SHACL shapes allowing users to understand which data they can expect and which not. However, it becomes challenging to understand what graph data can be expected at the end of a data processing pipeline without knowing the particular input data: Shape constraints on the input graph may affect the output graph, but may no longer apply literally, and new shapes may be imposed by the query template. In this paper, we study the derivation of shape constraints that hold on all possible output graphs of a given SPARQL CONSTRUCT query. We assume that the SPARQL CONSTRUCT query is fixed, e.g., being part of a program, whereas the input graphs adhere to input shape constraints but may otherwise vary over time and, thus, are mostly unknown. We study a fragment of SPARQL CONSTRUCT queries (SCCQ) and a fragment of SHACL (Simple SHACL). We formally define the problem of deriving the most restrictive set of Simple SHACL shapes that constrain the results from evaluating a SCCQ over any input graph restricted by a given set of Simple SHACL shapes. We propose and implement an algorithm that statically analyses input SHACL shapes and CONSTRUCT queries and prove its soundness and complexity. Philipp Seifer, Daniel Hernández 0002, Ralf Lämmel, Steffen Staab |
WWW | 3 |
| 2024 | Virtual Platform: Effective and Seamless Variability Management for Software SystemsabstractCustomization is a general trend in software engineering, demanding systems that support variable stakeholder requirements. Two opposing strategies are commonly used to create variants: software clone & own and software configuration with an integrated platform. Organizations often start with the former, which is cheap and agile, but does not scale. The latter scales by establishing an integrated platform that shares software assets between variants, but requires high up-front investments or risky migration processes. So, could we have a method that allows an easy transition or even combine the benefits of both strategies? We propose a method and tool that supports a truly incremental development of variant-rich systems, exploiting a spectrum between the opposing strategies. We design, formalize, and prototype a variability-management framework: the virtual platform. Virtual platform bridges clone & own and platform-oriented development. Relying on programming-language independent conceptual structures representing software assets, it offers operators for engineering and evolving a system, comprising: traditional, asset-oriented operators and novel, feature-oriented operators for incrementally adopting concepts of an integrated platform. The operators record meta-data that is exploited by other operators to support the transition. Among others, they eliminate expensive feature-location effort or the need to trace clones. A cost-and-benefit analysis of using the virtual platform to simulate the development of a real-world variant-rich system shows that it leads to benefits in terms of saved effort and time for clone detection and feature location. Furthermore, we present a user study indicating that the virtual platform effectively supports exploratory and hands-on tasks, outperforming manual development concerning correctness. We also observed that participants were significantly faster when performing typical variability management tasks using the virtual platform. Furthermore, participants perceived manual development to be significantly more difficult than using the virtual platform, preferring virtual platform for all our tasks. We supplement our findings with recommendations on when to use virtual platform and on incorporating the virtual platform in practice. Wardah Mahmood, Gül Çalikli, Daniel Strüber 0001, Ralf Lämmel, Mukelabai Mukelabai, Thorsten Berger |
IEEE Trans. Software Eng. | 4 |
| 2023 | Operationalizing validity of empirical software engineering studies
Johannes Härtel, Ralf Lämmel |
Empir. Softw. Eng. | 2 |
| 2022 | Operationalizing Threats to MSR Studies by Simulation-Based TestingabstractQuantitative studies on the border between Mining Software Repository (MSR) and Empirical Software Engineering (ESE) apply data analysis methods, like regression modeling, statistic tests or correlation analysis, to commits or pulls to better understand the software development process. Such studies assure the validity of the reported results by following a sound methodology. However, with increasing complexity, parts of the methodology can still go wrong. This may result in MSR/ESE studies with undetected threats to validity. In this paper, we propose to systematically protect against threats by operationalizing their treatment using simulations. A simulation substitutes observed and unobserved data, related to an MSR/ESE scenario, with synthetic data, carefully defined according to plausible assumptions on the scenario. Within a simulation, unobserved data becomes transparent, which is the key difference to a real study, necessary to detect threats to an analysis methodology. Running an analysis methodology on synthetic data may detect basic technical bugs and misinterpretations, but it also improves the trust in the methodology. The contribution of a simulation is to operationalize testing the impact of important assumptions. Assumptions still need to be rated for plausibility. We evaluate simulation-based testing by operationalizing undetected threats in the context of four published MSR/ESE studies. We recommend that future research uses such more systematic treatment of threats, as a contribution against the reproducibility crisis. Johannes Härtel, Ralf Lämmel |
MSR | 2 |
| 2021 | Seamless Variability Management With the Virtual PlatformabstractCustomization is a general trend in software engineering, demanding systems that support variable stakeholder requirements. Two opposing strategies are commonly used to create variants: software clone&own and software configuration with an integrated platform. Organizations often start with the former, which is cheap, agile, and supports quick innovation, but does not scale. The latter scales by establishing an integrated platform that shares software assets between variants, but requires high up-front investments or risky migration processes. So, could we have a method that allows an easy transition or even combine the benefits of both strategies? We propose a method and tool that supports a truly incremental development of variant rich systems, exploiting a spectrum between both opposing strategies. We design, formalize, and prototype the variability management frameworkvirtualplatform. It bridges clone&own and platform-oriented development. Relying on programming language independent conceptual structures representing software assets, it offers operators for engineering and evolving a system, comprising: traditional, asset-oriented operators and novel, feature-oriented operators for incrementally adopting concepts of an integrated platform. The operators record meta-data that is exploited by other operators to support the transition. Among others, they eliminate expensive feature-location effort or the need to trace clones. Our evaluation simulates the evolution of a real-world, clone-based system, measuring its costs and benefits. Wardah Mahmood, Daniel Strüber 0001, Thorsten Berger, Ralf Lämmel, Mukelabai Mukelabai |
ICSE | 4 |
| 2021 | Megamodels on the Catwalk
Ralf Lämmel |
MODELSWARD | 1 |
| 2021 | ProGS: Property Graph Shapes Language
Philipp Seifer, Ralf Lämmel, Steffen Staab |
ISWC | 2 |
| 2020 | Ownership at Large: Open Problems and Challenges in Ownership ManagementabstractSoftware-intensive organizations rely on large numbers of software assets of different types, e.g., source-code files, tables in the data warehouse, and software configurations. Who is the most suitable owner of a given asset changes over time, e.g., due to reorganization and individual function changes. New forms of automation can help suggest more suitable owners for any given asset at a given point in time. By such efforts on ownership health, accountability of ownership is increased. The problem of finding the most suitable owners for an asset is essentially a program comprehension problem: how do we automatically determine who would be best placed to understand, maintain, evolve (and thereby assume ownership of) a given asset. This paper introduces the Facebook Ownesty system, which uses a combination of ultra large scale data mining and machine learning and has been deployed at Facebook as part of the company's ownership management approach. Ownesty processes many millions of software assets (e.g., source-code files) and it takes into account workflow and organizational aspects. The paper sets out open problems and challenges on ownership for the research community with advances expected from the fields of software engineering, programming languages, and machine learning. John Ahlgren, Maria Eugenia Berezin, Kinga Bojarczuk, Elena Dulskyte, Inna Dvortsova, Johann George, Natalija Gucevska, Mark Harman, Ralf Lämmel, Erik Meijer 0001, Silvia Sapora, Justin Spahr-Summers |
ICPC | 10 |
| 2020 | Understanding What Software Engineers Are Working on: The Work-Item Prediction ChallengeabstractUnderstanding what a software engineer (a developer, an incident responder, a production engineer, etc.) is working on is a challenging problem -- especially when considering the more complex software engineering workflows in software-intensive organizations: i) engineers rely on a multitude (perhaps hundreds) of loosely integrated tools; ii) engineers engage in concurrent and relatively long running workflows; ii) infrastructure (such as logging) is not fully aware of work items; iv) engineering processes (e.g., for incident response) are not explicitly modeled. In this paper, we explain the corresponding 'work-item prediction challenge' on the grounds of representative scenarios, report on related efforts at Facebook, discuss some lessons learned, and review related work to call to arms to leverage, advance, and combine techniques from program comprehension, mining software repositories, process mining, and machine learning. Ralf Lämmel, Alvin Kerber, Liane Praza |
ICPC | 1 |
| 2020 | Deciding SHACL Shape Containment Through Description Logics Reasoning
Martin Leinberger, Philipp Seifer, Tjitze Rienstra, Ralf Lämmel, Steffen Staab |
ISWC (1) | 4 |
| 2020 | Incremental Map-Reduce on Repository HistoryabstractWork on Mining Software Repositories typically involves processing abstractions of resources on individual revisions. A corresponding processing of abstractions of resource changes often depends on working with all revisions of the repository history to guarantee a high resolution of the measured changes. Abstractions of resources and abstractions of resource changes are often very related up to the point that they can be used interchangeably in the processing. In practice, approaches working with abstractions processed over high revision counts face a scalability challenge. In this work, we contribute to the challenge by incrementalizing the processing of repository resources and the corresponding abstractions. Our work is inspired by incrementalization theory including insights on Abelian groups, group homomorphisms and indexing. We provide a map-reduce interface that enables calls to foreign functionality and convenient operations for processing abstractions, such as mapping, filtering, group-wise aggregation and joining. Apache Spark is used for distribution. We compare the scalability of our approach with available MSR approaches, i.e., with LISA that reduces redundancy and with DJ-Rex that migrates an analysis to a distributed map-reduce framework. Johannes Härtel, Ralf Lämmel |
SANER | 2 |
| 2020 | Understanding MDE projects: megamodels to the rescue for architecture recovery
Juri Di Rocco, Davide Di Ruscio, Johannes Härtel, Ludovico Iovino, Ralf Lämmel, Alfonso Pierantonio |
Softw. Syst. Model. | 5 |
| 2019 | Discovering Indicators for Classifying Wikipedia Articles in a Domain - A Case Study on Software LanguagesabstractWikipedia is a rich source of information across many knowledge domains.Yet, recovering articles relevant to a specific domain is a difficult problem since such articles may be rare and tend to cover multiple topics.Furthermore, Wikipedia's categories provide an ambiguous classification of articles as they relate to all topics and thus are of limited use.In this paper, we develop a new methodology to isolate Wikipedia's articles that describe a specific topic within the scope of relevant categories; the methodology uses supervised machine learning to retrieve a decision tree classifier based on articles' features (URL patterns, summary text, infoboxes, links from list articles).In a case study, we retrieve 3000+ articles that describe software (computer) languages.Available fragments of ground truths serve as an essential part of the training set to detect relevant articles.The results of the classification are thoroughly evaluated through a survey, in which 31 domain experts participated. Marcel Heinz, Ralf Lämmel, Mathieu Acher |
SEKE | 2 |
| 2019 | Type Checking Program Code Using SHACL
Martin Leinberger, Philipp Seifer, Claudia Schon, Ralf Lämmel, Steffen Staab |
ISWC (1) | 4 |
| 2019 | Empirical study on the usage of graph query languages in open source Java projectsabstractGraph data models are interesting in various domains, in part because of the intuitiveness and flexibility they offer compared to relational models. Specialized query languages, such as Cypher for property graphs or SPARQL for RDF, facilitate their use. In this paper, we present an empirical study on the usage of graph-based query languages in open-source Java projects on GitHub. We investigate the usage of SPARQL, Cypher, Gremlin and GraphQL in terms of popularity and their development over time. We select repositories based on dependencies related to these technologies and employ various popularity and source-code based filters and ranking features for a targeted selection of projects. For the concrete languages SPARQL and Cypher, we analyze the activity of repositories over time. For SPARQL, we investigate common application domains, query use and existence of ontological data modeling in applications that query for concrete instance data. Our results show, that the usage of graph query languages in open-source projects increased over the last years, with SPARQL and Cypher being by far the most popular. SPARQL projects are more active in terms of query related artifact changes and unique developers involved, but Cypher is catching up. Relatively few applications use SPARQL to query for concrete instance data: A majority of those applications employ multiple different ontologies, including project and domain specific ones. Common application domains are management systems and data visualization tools. Philipp Seifer, Johannes Härtel, Martin Leinberger, Ralf Lämmel, Steffen Staab |
SLE | 4 |
| 2018 | EMF Patterns of Usage on GitHub
Johannes Härtel, Marcel Heinz, Ralf Lämmel |
ECMFA | 3 |
| 2018 | Classification of APIs by hierarchical clusteringabstractAPIs can be classified according to the programming domains (e.g., GUIs, databases, collections, or security) that they address. Such classification is vital in searching repositories (e.g., the Maven Central Repository for Java) and for understanding the technology stack used in software projects. We apply hierarchical clustering to a curated suite of Java APIs to compare the computed API clusters with preexisting API classifications. Clustering entails various parameters (e.g., the choice of IDF versus LSI versus LDA). We describe the corresponding variability in terms of a feature model. We exercise all possible configurations to determine the maximum correlation with respect to two baselines: i) a smaller suite of APIs manually classified in previous research; ii) a larger suite of APIs from the Maven Central Repository, thereby taking advantage of crowd-sourced classification while relying on a threshold-based approach for identifying important APIs and versions thereof, subject to an API dependency analysis on GitHub. We discuss the configurations found in this way and we examine the influence of particular features on the correlation between computed clusters and baselines. To this end, we also leverage interactive exploration of the parameter space and the resulting dendrograms. In this manner, we can also identify issues with the use of classifiers (e.g., missing classifiers) in the baselines and limitations of the clustering approach. Johannes Härtel, Hakan Aksu, Ralf Lämmel |
ICPC | 3 |
| 2017 | The Essence of Functional Programming on Semantic Data
Martin Leinberger, Ralf Lämmel, Steffen Staab |
ESOP | 2 |
| 2017 | Partial Evaluation of OCL ExpressionsabstractIn the academic literature, many uses of the Object Constraint Language (OCL) have been proposed. By contrast, the utilization of OCL in contemporary modelling tools lags behind, suggesting that leverage of OCL remains limited in practice. We consider this undeserved, and present a scheme for partially evaluating OCL expressions that allows one to capitalize on given OCL specifications for a wide array of purposes using a single implementation: a partial evaluator of OCL. Bastian Ulke, Friedrich Steimann, Ralf Lämmel |
MoDELS | 3 |
| 2017 | Axioms of Linguistic Architecture
Marcel Heinz, Ralf Lämmel, Andrei Varanovich |
MODELSWARD | 2 |
| 2017 | A chrestomathy of DSL implementationsabstractSelecting and properly using approaches for DSL implementation can be challenging, given their variety and complexity. To support developers, we present the software chrestomathy MetaLib, a well-organized and well-documented collection of DSL implementations useful for learning. We focus on basic metaprogramming techniques for implementing DSL syntax and semantics. The DSL implementations are organized and enhanced by feature modeling, semantic annotation, and model-based documentation. The chrestomathy enables side-by-side exploration of different implementation approaches for DSLs. Source code, feature model, feature configurations, semantic annotations, and documentation are publicly available online, explorable through a web application, and maintained by a collaborative process. Simon Schauss, Ralf Lämmel, Johannes Härtel, Marcel Heinz, Kevin Klein 0001, Lukas Härtel, Thorsten Berger |
SLE | 2 |
| 2016 | Coupled software transformations revisited
Ralf Lämmel |
SLE | 1 |
| 2015 | Software chrestomathies
Ralf Lämmel |
Sci. Comput. Program. | 1 |
| 2014 | Interpretation of Linguistic Architecture
Ralf Lämmel, Andrei Varanovich |
ECMFA | 1 |
| 2014 | Declarative Software Development: Distilled TutorialabstractSoftware development could be said to be declarative, if declarative programming languages were used significantly in the development of a software system. Software development could also be said to be declarative, if lightweight or heavyweight formal methods or model-driven engineering and model transformation were used as the primary development methods. This tutorial discusses another view on 'declarative software development'. That is, we promote the use of declarative methods for understanding software systems, software languages, software technologies, and software concepts. More specifically, we discuss a method package of a software ontology, automated software analysis, a modeling approach for software technologies, and Linked Data-based publication and exploration of software data. Ralf Lämmel, Andrei Varanovich, Martin Leinberger, Thomas Schmorleiz, Jean-Marie Favre |
PPDP | 1 |
| 2014 | Semantic Web Application Development with LITEQ
Martin Leinberger, Stefan Scheglmann, Ralf Lämmel, Steffen Staab, Matthias Thimm, Evelyne Viegas |
ISWC (2) | 3 |
| 2014 | Test-Data Generation for Xtext - Tool Paper
Johannes Härtel, Lukas Härtel, Ralf Lämmel |
SLE | 3 |
| 2013 | Multi-dimensional exploration of API usageabstractThis paper is concerned with understanding API usage in a systematic, explorative manner for the benefit of both API developers and API users. There exist complementary, less explorative methods, e.g., based on code search, code completion, or API documentation. In contrast, our approach is highly interactive and can be seen as an extension of what IDEs readily provide today. Exploration is based on multiple dimensions: i) the hierarchically organized scopes of projects and APIs; ii) metrics of API usage (e.g., number of project classes extending API classes); iii) metadata for APIs; iv) project- versus API-centric views. We also provide the QUAATLAS corpus of Java projects which enhances the existing QUALITAS corpus to enable API-usage analysis. We implemented the exploration approach in an open-source, IDE-like, Web-enabled tool EXAPUS. Coen De Roover, Ralf Lämmel, Ekaterina Pek |
ICPC | 2 |
| 2013 | Method and Tool Support for Classifying Software Languages with Wikipedia
Ralf Lämmel, Dominik Mosen, Andrei Varanovich |
SLE | 1 |
| 2013 | Understanding privacy policies - A study in empirical analysis of language usage
Ralf Lämmel, Ekaterina Pek |
Empir. Softw. Eng. | 1 |
| 2013 | Programming errors in traversal programs over structured data
Ralf Lämmel, Simon J. Thompson, Markus Kaiser 0002 |
Sci. Comput. Program. | 1 |
| 2012 | Modeling the Linguistic Architecture of Software Products
Jean-Marie Favre, Ralf Lämmel, Andrei Varanovich |
MoDELS | 2 |
| 2011 | Hurdles in Multi-language Refactoring of Hibernate Applications
Hagen Schink, Martin Kuhlemann, Gunter Saake, Ralf Lämmel |
ICSOFT (2) | 4 |
| 2011 | Comparison of Context-Free Grammars Based on Parsing Generated Test Data
Bernd Fischer 0002, Ralf Lämmel, Vadim Zaytsev |
SLE | 2 |
| 2011 | Recovering grammar relationships for the Java Language Specification
Ralf Lämmel, Vadim Zaytsev |
Softw. Qual. J. | 1 |
| 2010 | The hitchhiker's guide to software languagesabstractThere is only that much space in the CS curriculum, and there are always new subjects that should be accommodated by the curriculum. For instance, in our community, we would want all graduates to leave university with a modest background in technical spaces, software languages, and meta-programming; also, with conceptually informed and reasonably timeless skills to efficiently master related programming techniques and technologies. In reality, the curricula of few CS departments meet this expectation. In this talk, I will discuss such curricula-related expectations of our community and the suboptimal situation at CS departments---as perceive them. More importantly, I will allude to a revision of the CS curriculum that could optimize matters and may stand a chance for mid-term adoption. Ralf Lämmel |
GPCE | 1 |
| 2010 | Swing to SWT and back: Patterns for API migration by wrappingabstractEvolving requirements may necessitate API migration-re-engineering an application to replace its dependence on one API with the dependence on another API for the same domain. One approach to API migration is to replace the original API by a wrapper-based re-implementation that makes reuse of the other API. Wrapper-based migration is attractive because application code is left untouched and wrappers can be reused across applications. The design of such wrappers is challenging though if the two involved APIs were developed independently, in which case the APIs tend to differ significantly. We identify the challenges faced by developers when designing wrappers for object-oriented APIs, and we recover the solutions used in practice. To this end, we analyze two large, open-source GUI wrappers and compile a set of issues pervasive in their designs. We subsequently extract design patterns from the solutions that developers used in the GUI wrappers. Thiago T. Bartolomei, Krzysztof Czarnecki 0001, Ralf Lämmel |
ICSM | 3 |
| 2010 | Vivisection of a Non-Executable, Domain-Specific Language - Understanding (the Usage of) the P3P LanguageabstractP3P is the policy language with which websites declare the intended use of data that is collected about users of the site. We have systematically collected P3P-based privacy policies from websites listed in the Google directory, and analysed the resulting corpus with regard to different levels of validity, size or complexity metrics, different cloning levels, coverage of language constructs, and the use of the language’s extension mechanism. In this manner, we have found interesting characteristics of P3P in the wild. For instance, cloning is exceptionally common in this domain, and encountered language extensions exceed the base language in terms of grammar complexity. Overall, this effort helps understanding the de-facto usage of the non-executable, domain-specific language P3P. Some elements of our methodology may be useful for other software languages as well. Ralf Lämmel, Ekaterina Pek |
ICPC | 1 |
| 2010 | Empirical Language Analysis in Software Linguistics
Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Ekaterina Pek |
SLE | 3 |
| 2010 | Automated Co-evolution of GMF Editor Models
Davide Di Ruscio, Ralf Lämmel, Alfonso Pierantonio |
SLE | 2 |
| 2010 | A Unified Format for Language Documents
Vadim Zaytsev, Ralf Lämmel |
SLE | 2 |
| 2009 | An Introduction to Grammar Convergence
Ralf Lämmel, Vadim Zaytsev |
IFM | 1 |
| 2009 | An Isabelle/HOL-based model of stratego-like traversal strategiesabstractTraversal strategies are at the heart of transformational programming with rewriting-based frameworks such as Stratego/XT or Tom and specific approaches for generic functional programming such as Strafunski or "Scrap your boilerplate". Such traversal strategies are distinctively based on one-layer traversal primitives from which traversal schemes are derived by recursive closure. We describe a mechanized, formal model of such strategies. The model covers two different semantics of strategies, strategic programming laws, termination conditions for strategy combinators as well as properties related to the success/failure behavior of strategies. The model has been mechanized in Isabelle/HOL. Markus Kaiser 0002, Ralf Lämmel |
PPDP | 2 |
| 2009 | Scrap your boilerplate: prologically!abstract"Scrap Your Boilerplate" (SYB) is an established style of generic functional programming. The present paper reconstructs SYB within the Prolog language with the help of the univ operator and higher-order logic programming techniques. We pay attention to the particularities of Prolog. For instance, we deal with traversal of non-ground terms. We also develop an alternative model of SYB-like traversal based on metaprogramming. This generative, type-driven model is also amenable to type-driven optimization. Ralf Lämmel |
PPDP | 1 |
| 2009 | Recovering Grammar Relationships for the Java Language SpecificationabstractWe describe a completed effort to recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformations that capture all accidental or intended differences between the JLS grammars. This process is mechanized and it is driven by simple measures of nominal or structural differences between any pair of grammars involved. Our work suggests a form of consistency management for the JLS in particular, and language specifications in general. Ralf Lämmel, Vadim Zaytsev |
SCAM | 1 |
| 2009 | Study of an API Migration for Two XML APIs
Thiago T. Bartolomei, Krzysztof Czarnecki 0001, Ralf Lämmel, Tijs van der Storm |
SLE | 3 |
| 2009 | Guest editors' introduction
René L. Krikhaar, Ralf Lämmel |
Sci. Comput. Program. | 2 |
| 2009 | Guest Editors' Introduction to the Special Section on Software Language EngineeringabstractThe six articles in this special section are devoted to software language engineering. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter 0001 |
IEEE Trans. Software Eng. | 3 |
| 2008 | The Expression Lemma
Ralf Lämmel, Ondrej Rypacek |
MPC | 1 |
| 2008 | Google's MapReduce programming model - Revisited
Ralf Lämmel |
Sci. Comput. Program. | 1 |
| 2007 | JavaGI : Generalized Interfaces for Java
Stefan Wehr, Ralf Lämmel, Peter Thiemann 0001 |
ECOOP | 2 |
| 2007 | Style normalization for canonical X-to-O mappingsabstractAn X-to-O mapping takes an XML schema as input and returns an object model as output; this object model is meant for programmatic, schema-aware access to XML data. The provision of X-to-O mappings involves various challenges; one of them is addressed by the present paper: variation in style of schema organization, which should not unduly affect the outcome of X-to-O mappings. We devise transformations for style normalization (and conversion); these transformations operate at both levels of the X-to-O mapping: schemas and object models. An important byproduct of the present work is to showcase functional OO programming as a viable setup for devising software transformations. Ralf Lämmel |
PEPM | 1 |
| 2007 | Scrap your boilerplate with XPath-like combinators
Ralf Lämmel |
POPL | 1 |
| 2006 | Software extension and integration with type classesabstractThe abilities to extend a software module and to integrate a software module into an existing software system without changing existing source code are fundamental challenges in software engineering and programming-language design. We reconsider these challenges at the level of language expressiveness, by using the language concept of type classes, as it is available in the functional programming language Haskell. A detailed comparison with related work shows that type classes provide a powerful framework in which solutions to known software extension and integration problems can be provided. We also pinpoint several limitations of type classes in this context. Ralf Lämmel, Klaus Ostermann |
GPCE | 1 |
| 2006 | Special issue on foundations of aspect-oriented programming
Pascal Fradet, Ralf Lämmel |
Sci. Comput. Program. | 2 |
| 2005 | Scrap your boilerplate with class: extensible generic functionsabstractThe 'Scrap your boilerplate' approach to generic programming allows the programmer to write generic functions that can traverse arbitrary data structures, and yet have type-specific cases. However, the original approach required all the type-specific cases to be supplied at once, when the recursive knot of generic function definition is tied. Hence, generic functions were closed. In contrast, Haskell's type classes support open, or extensible, functions that can be extended with new type-specific cases as new data types are defined. In this paper, we extend the 'Scrap your boilerplate' approach to support this open style. On the way, we demonstrate the desirability of abstraction over type classes, and the usefulness of recursive dictionarie. Ralf Lämmel, Simon L. Peyton Jones |
ICFP | 1 |
| 2005 | Architectural modifications to deployed software
A. Steven Klusener, Ralf Lämmel, Chris Verhoef |
Sci. Comput. Program. | 2 |
| 2005 | Toward an engineering discipline for grammarwareabstractGrammarware comprises grammars and all grammar-dependent software. The termgrammaris meant here in the sense of all established grammar formalisms and grammar notations including context-free grammars, class dictionaries, and XML schemas as well as some forms of tree and graph grammars. The termgrammar-dependent softwarerefers to all software that involves grammar knowledge in an essential manner. Archetypal examples of grammar-dependent software are parsers, program converters, and XML document processors. Despite the pervasive role of grammars in software systems, the engineering aspects of grammarware are insufficiently understood. We lay out an agenda that is meant to promote research on increasing the productivity of grammarware development and on improving the quality of grammarware. To this end, we identify the problems with the current grammarware practices, the barriers that currently hamper research, and the promises of an engineering discipline for grammarware, its principles, and the research challenges that have to be addressed. Paul Klint, Ralf Lämmel, Chris Verhoef |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2004 | Strongly typed heterogeneous collectionsabstractA heterogeneous collection is a datatype that is capable of storing data of different types, while providing operations for look-up, update, iteration, and others. There are various kinds of heterogeneous collections, differing in representation, invariants, and access operations. We describe HLIST - a Haskell library for strongly typed heterogeneous collections including extensible records. We illustrate HLIST's benefits in the context of type-safe database access in Haskell. The HLIST library relies on common extensions of Haskell 98. Our exploration raises interesting issues regarding Haskell's type system, in particular, avoidance of overlapping instances, and reification of type equality and type unification. Oleg Kiselyov, Ralf Lämmel, Keean Schupke |
Haskell | 2 |
| 2004 | Scrap more boilerplate: reflection, zips, and generalised castsabstractWriting boilerplate code is a royal pain. Generic programming promises to alleviate this pain by allowing the programmer to write a generic "recipe" for boilerplate code, and use that recipe in many places. In earlier work we introduced the "Scrap your boilerplate" approach to generic programming, which exploits Haskell's existing type-class mechanism to support generic transformations and queries.This paper completes the picture. We add a few extra "introspective" or "reflective" facilities, that together support a rich variety of serialisation and de-serialisation. We also show how to perform generic "zips", which at first appear to be somewhat tricky in our framework. Lastly, we generalise the ability to over-ride a generic function with a type-specific one.All of this can be supported in Haskell with independently-useful extensions: higher-rank types and type-safe cast. The GHC implementation of Haskell readily derives the required type classes for user-defined data types. Ralf Lämmel, Simon L. Peyton Jones |
ICFP | 1 |
| 2004 | Transformations everywhere
Ralf Lämmel |
Sci. Comput. Program. | 1 |
| 2003 | Scrap Your Boilerplate
Simon L. Peyton Jones, Ralf Lämmel |
APLAS | 2 |
| 2003 | Deriving tolerant grammars from a base-line grammarabstractA grammar-based approach to tool development in reengineering and reverse engineering promises precise structure awareness, but it is problematic in two respects. Firstly, it is a considerable up-front investment to obtain a grammar for a relevant language or cocktail of languages. Existing work on grammar recovery addresses this concern to some extent. Secondly, it is often not feasible to insist on a precise grammar, e.g., when different dialects need to be covered. This calls for tolerant grammars. In this paper, we provide a well-engineered approach to the derivation of tolerant grammars, which is based on previous work on error recovery, fuzzy parsing, and island grammars. The technology of this paper has been used in a complex Cobol restructuring project on several millions of lines of code in different Cobol dialects. Our approach is founded on an approximation relation between a tolerant grammar and a base-line grammar which serves as a point of reference. Thereby, we avoid false positives and false negatives when parsing constructs of interest in a tolerant mode. Our approach accomplishes the effective derivation of a tolerant grammar from the syntactical structure that is relevant for a certain re- or reverse engineering tool. To this end, the productions for the constructs of interest are reused from the base-line grammar together with further productions that are needed for completion. A. Steven Klusener, Ralf Lämmel |
ICSM | 2 |
| 2003 | A Strafunski Application Letter
Ralf Lämmel, Joost Visser 0001 |
PADL | 1 |
| 2002 | Three-Tiered Specification of Micro-architectures
Vangalur S. Alagar, Ralf Lämmel |
ICFEM | 2 |
| 2002 | Typed Combinators for Generic Traversal
Ralf Lämmel, Joost Visser 0001 |
PADL | 1 |
| 2001 | Grammar Testing
Ralf Lämmel |
FASE | 1 |
| 2001 | Semi-automatic grammar recoveryabstractAbstract We propose an approach to the construction of grammars forexistinglanguages. The main characteristic of the approach is that the grammars are not constructed from scratch but they are rather recovered by extracting them from language references, compilers and other artifacts. We provide a structured process to recover grammars including the adaptation of raw extracted grammars and the derivation of parsers. The process is applicable to possibly all existing languages for which business critical applications exist. We illustrate the approach with a non‐trivial case study. Using our process and some basic tools, we constructed in a few weeks a complete and correct VS COBOL II grammar specification for IBM mainframes. In addition, we constructed a parser for VS COBOL II, and were the first to publish a (Web‐enabled) grammar specification so that others can use this result to construct their own grammar‐based tools for VS COBOL II or derivatives. Copyright © 2001 John Wiley & Sons, Ltd. Ralf Lämmel, Chris Verhoef |
Softw. Pract. Exp. | 1 |
| 1999 | Declarative Aspect-Oriented Programming
Ralf Lämmel |
PEPM | 1 |
| 1994 | Provable Correctness of Prototype Interpreters in LDL
Ralf Lämmel, Günter Riedewald |
CC | 1 |