VLDB 2026 Research / reviewers in the wild / expert
Görel Hedin
dblp:95/987
· DBLP profile ↗
38ranked-venue papers
9as first author
8since 2021 · last 2025
0000-0002-3003-2623ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 34 · 9 first-author · 7 since 2021Human-computer interaction and ubiquitous computing · 2Systems, architecture and hardware · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | A Trust Establishment and Key Management Architecture for Hospital-at-HomeabstractThe landscape of healthcare is experiencing a digitalization shift, transferring many medical activities to the patients’ homes, a phenomenon commonly referred to as Hospital-at-Home. While Internet of Things (IoT) devices facilitate the building of such systems, there is a need for powerful middleware that encapsulates device-to-device communication and enables the construction of user-friendly, secure, and robust Hospital-at-Home systems. A key challenge for such middleware is to build a trustworthy and lightweight key management system allowing different devices in the system to exchange messages securely. In this article, we present a simple, easily manageable and scalable such architecture which, in addition, supports long-term data protection using post-quantum cryptographic primitives. Our proposed solution utilizes a Merkle tree to enable the IoT devices to establish trust between each other automatically, even in the absence of an Internet connection. We have implemented the architecture and present performance figures as well as a security analysis of our approach. Alfred Åkesson, Christian Gehrmann 0001, Görel Hedin, Björn A. Johnsson, Boris Magnusson, Mattias Nordahl, Sara Ramezanian, Paul Stankovski Wagner |
ACM Trans. Comput. Heal. | 3 |
| 2024 | Efficient Demand Evaluation of Fixed-Point Attributes using Static AnalysisabstractDeclarative approaches to program analysis promise a number of practical advantages over imperative approaches, from eliminating manual worklist management to increasing modularity. Reference Attribute Grammars (RAGs) are one such approach. One particular advantage of RAGs is the automatic generation of on-demand implementations, suitable for query-based interactive tooling as well as for client analyses that do not require full evaluation of underlying analyses. While historically aimed at compiler frontend construction, the addition of circular (fixed-point) attributes also makes them suitable for dataflow problems. However, prior algorithms for on-demand circular RAG evaluation can be inefficient or even impractical for dataflow analysis of realistic programming languages like Java. We propose a new demand algorithm for attribute evaluation that addresses these weaknesses, and apply it to a number of real-world case studies. Our algorithm exploits the fact that some attributes can never be circular, and we describe a static meta-analysis that identifies such attributes, and obtains a median steady-state performance speedup of ~2.5x and ~22x for dead-assignment and null-pointer dereference analyses, respectively. Idriss Riouak, Niklas Fors, Jesper Öqvist, Görel Hedin, Christoph Reichenbach |
SLE | 4 |
| 2024 | Property probes: Live exploration of program analysis resultsabstractWe present property probes, a mechanism for helping a developer explore partial program analysis results in terms of the source program interactively while the program is edited. A node locator data structure is introduced that maps between source code spans and program representation nodes, and that helps identify probed nodes in a robust way, after modifications to the source code. We have developed a client–server based tool CodeProber supporting property probes, and argue that it is very helpful in debugging and understanding program analyses. We have evaluated our tool on several languages and analyses, including a full Java compiler and a tool for intraprocedural dataflow analysis. Our performance results show that the probe overhead is negligible even when analyzing large projects. Anton Risberg Alaküla, Görel Hedin, Niklas Fors, Adrian Pop |
J. Syst. Softw. | 2 |
| 2024 | IntraJ: an on-demand framework for intraprocedural Java code analysisabstractAbstract Static analysis tools play a crucial role in software development by detecting bugs and vulnerabilities. However, running these tools separately from the code editing process often causes developers to switch contexts, which can reduce productivity. Previous work has shown how Reference Attribute Grammars (RAGs) can be used for declarative implementation of competitive tooling for intraprocedural control-flow and dataflow analysis of Java source code, embodied in the tool IntraJ. In this paper, we demonstrate how IntraJ can be leveraged to provide interactive analysis results directly in the editor, similar to compile-time error detection, relying on automatic on-demand evaluation of RAGs. We discuss the architecture of IntraJ, and demonstrate how it can be integrated into the development process in three different ways: in the command line, in an editor integration based on the Language Server Protocol, and in an integration with the debugging tool CodeProber. We showcase the extensibility of IntraJ by illustrating how new client analyzes and language constructs can be added to the framework through RAG specifications. Finally, we evaluate the interactive performance of IntraJ on a set of real-world Java benchmarks, demonstrating that IntraJ can provide interactive feedback to developers, achieving a response time of under 0.1 seconds for most compilation units. Idriss Riouak, Niklas Fors, Görel Hedin, Christoph Reichenbach |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2024 | Mutation testing optimisations using the Clang front-endabstractAbstract Mutation testing is the state‐of‐the‐art technique for assessing the fault detection capacity of a test suite. Unfortunately, a full mutation analysis is often prohibitively expensive. The CppCheck project for instance, demands a build time of 5.8 min and a test execution time of 17 s on our desktop computer. An unoptimised mutation analysis, for 55,000 generated mutants took 11.8 days in total, of which 4.3 days is spent on (re)compiling the project. In this paper, we present a feasibility study, investigating how a number of optimisation strategies can be implemented based on the Clang front‐end. These optimisation strategies allow to eliminate the compilation and execution overhead in order to support efficient mutation testing for the C language family. We provide a proof‐of‐concept tool that achieves a speedup of between 2 and 30 . We make a detailed analysis of the speedup induced by the optimisations, elaborate on the lessons learned and point out avenues for further improvements. Sten Vercammen, Serge Demeyer, Markus Borg, Niklas Pettersson, Görel Hedin |
Softw. Test. Verification Reliab. | 5 |
| 2022 | JFeature: Know Your CorpusabstractSoftware corpora are crucial for evaluating research artifacts and ensuring repeatability of outcomes. Corpora such as DaCapo and Defects4J provide a collection of real-world open-source projects for evaluating the robustness and performance of software tools like static analysers. However, what do we know about these corpora? What do we know about their composition? Are they really suited for our particular problem? We developed JFEATURE, an extensible static analysis tool that extracts syntactic and semantic features from Java programs, to assist developers in answering these questions. We demonstrate the potential of JFEATURE by applying it to four widely-used corpora in the program analysis area, and we suggest other applications, including longitudinal studies of individual Java projects and the creation of new corpora. Idriss Riouak, Görel Hedin, Christoph Reichenbach, Niklas Fors |
SCAM | 2 |
| 2022 | Property Probes: Source Code Based Exploration of Program Analysis ResultsabstractWe present property probes, a mechanism for helping a developer interactively explore partial program analysis results in terms of the source program, and as the program is edited. A node locator data structure is introduced that maps between source code spans and program representation nodes, and that helps identify probed nodes in a robust way, after modifications to the source code. We have developed a client-server based tool supporting property probes, and argue that it is very helpful in debugging and understanding program analyses. We have evaluated our tool on several languages and analyses, including a full Java compiler and a tool for intraprocedural dataflow analysis. Our performance results show that the probe overhead is negligible even when analyzing large projects. Anton Risberg Alaküla, Görel Hedin, Niklas Fors, Adrian Pop |
SLE | 2 |
| 2021 | A Precise Framework for Source-Level Control-Flow AnalysisabstractThis paper presents INTRACFG, a declarative and language-independent framework for constructing precise intraprocedural control-flow graphs (CFGs) based on the reference attribute grammar system JastAdd. Unlike most other frameworks, which build CFGs on an Intermediate Representation level, e.g., bytecode, our approach superimposes the CFGs on the Abstract Syntax Tree, enabling accurate client analysis. Moreover, INTRACFG overcomes expressivity limitations of an earlier RAG-based framework, allowing the construction of AST-Unrestricted CFGs: CFGs whose shape is not confined to the AST structure. We evaluate the expressivity of INTRACFG with INTRAJ, an application of INTRACFG to Java 7, by comparing two data flow analyses built on top of INTRAJ against tools from academia and from the industry. The results demonstrate that INTRAJ is effective at building precise and efficient CFGs and enables analyses with competitive performance. Idriss Riouak, Christoph Reichenbach, Görel Hedin, Niklas Fors |
SCAM | 3 |
| 2020 | Feature-Oriented Control ProgrammingabstractManaging variability in control programs often requires code duplication or that all variants are anticipated in advance. In this paper, we present a new approach to obtaining modular functionality reuse across variants. Using the language mechanisms diagram inheritance and connection interception, a feature model and an interactive feature-selection wizard can be automatically derived from the control program. Niklas Fors, Alfred Theorin, Sven Gestegard Robertz, Görel Hedin |
ETFA | 4 |
| 2020 | Principles and patterns of JastAdd-style reference attribute grammarsabstractReference attribute grammars (RAGs) have reached a level of maturity where they are supported by several tools, and have gained traction in both academic and industrial language tool development. However, despite a lot of accumulated knowledge of how to best develop RAGs in practice, there is limited support to guide practitioners. Niklas Fors, Emma Söderberg, Görel Hedin |
SLE | 3 |
| 2018 | Continuous model validation using reference attribute grammarsabstractJust like current software systems, models are characterised by increasing complexity and rate of change. Yet, these models only become useful if they can be continuously evaluated and validated. To achieve sufficiently low response times for large models, incremental analysis is required. Reference Attribute Grammars (RAGs) offer mechanisms to perform an incremental analysis efficiently using dynamic dependency tracking. However, not all features used in conceptual modelling are directly available in RAGs. In particular, support for non-containment model relations is only available through manual implementation. We present an approach to directly model uni- and bidirectional non-containment relations in RAGs and provide efficient means for navigating and editing them. This approach is evaluated using a scalable benchmark for incremental model editing and the JastAdd RAG system. Our work demonstrates the suitability of RAGs for validating complex and continuously changing models of current software systems. Johannes Mey, René Schöne, Görel Hedin, Emma Söderberg, Thomas Kühn 0001, Niklas Fors, Jesper Öqvist, Uwe Aßmann |
SLE | 3 |
| 2017 | Concurrent circular reference attribute grammarsabstractReference Attribute Grammars (RAGs) is a declarative executable formalism used for constructing compilers and related tools. Existing implementations support concurrent evaluation only with global evaluation locks. This may lead to long latencies in interactive tools, where interactive and background threads query attributes concurrently. Jesper Öqvist, Görel Hedin |
SLE | 2 |
| 2016 | DrAST: an inspection tool for attributed syntax trees (tool demo)
Joel Lindholm, Johan Thorsberg, Görel Hedin |
SLE | 3 |
| 2015 | Declarative rewriting through circular nonterminal attributes
Emma Söderberg, Görel Hedin |
Comput. Lang. Syst. Struct. | 2 |
| 2015 | A JastAdd implementation of Oberon-0
Niklas Fors, Görel Hedin |
Sci. Comput. Program. | 2 |
| 2014 | Intercepting dataflow connections in diagrams with inheritanceabstractControl systems are often built using visual dataflow-based languages, and supporting different variants may be challenging. We introduce the concept of connection interception based on inheritance. This mechanism allows a diagram to extend another diagram and intercept connections defined in the supertype, that is, to replace it by two other connections, in order to specialize the behavior. This can be used to create extensible libraries that support different variants. Niklas Fors, Görel Hedin |
VL/HCC | 2 |
| 2014 | Software language engineering (SLE '12)
Krzysztof Czarnecki 0001, Görel Hedin |
Sci. Comput. Program. | 2 |
| 2013 | Circular Higher-Order Reference Attribute Grammars
Emma Söderberg, Görel Hedin |
SLE | 2 |
| 2013 | Extensible intraprocedural flow analysis at the abstract syntax tree level
Emma Söderberg, Torbjörn Ekman 0001, Görel Hedin, Eva Magnusson |
Sci. Comput. Program. | 3 |
| 2012 | Handling of layout-sensitive semantics in a visual control languageabstractWe have implemented a prototype editor for a visual language where the semantics depends on layout. A high-level abstract syntax is defined, where these semantics can be captured without the need for storing concrete graphical coordinates. The model implementation is done in JastAdd, a metacompilation tool based on reference attribute grammars. This gives a modular architecture where the core compiler model can be reused for both the interactive editor and the batch compiler. Niklas Fors, Görel Hedin |
VL/HCC | 2 |
| 2011 | Metacompiling OWL Ontologies
Anders Nilsson 0003, Görel Hedin |
SLE | 2 |
| 2010 | Automated Selective Caching for Reference Attribute Grammars
Emma Söderberg, Görel Hedin |
SLE | 2 |
| 2010 | Implementation of a Modelica compiler using JastAdd attribute grammars
Johan Åkesson, Torbjörn Ekman 0001, Görel Hedin |
Sci. Comput. Program. | 3 |
| 2009 | Demand-driven evaluation of collection attributes
Eva Magnusson, Torbjörn Ekman 0001, Görel Hedin |
Autom. Softw. Eng. | 3 |
| 2008 | Practical Scope Recovery Using Bridge Parsing
Emma Nilsson-Nyman, Torbjörn Ekman 0001, Görel Hedin |
SLE | 3 |
| 2007 | The jastadd extensible java compilerabstractThe JastAdd Extensible Java Compiler is a high quality Java compiler that is easy to extend in order to build static analysis tools for Java, and to extend Java with new language constructs. It is built modularly, with a Java 1.4 compiler that is extended to a Java 5 compiler. Example applications that are built as extensions include an alternative backend that generates Jimple, an extension of Java with AspectJ constructs, and the implementation of a pluggable type system for non-null checking and inferenc. Torbjörn Ekman 0001, Görel Hedin |
OOPSLA | 2 |
| 2007 | The JastAdd system - modular extensible compiler construction
Torbjörn Ekman 0001, Görel Hedin |
Sci. Comput. Program. | 2 |
| 2007 | Preface
Görel Hedin, John Tang Boyland |
Sci. Comput. Program. | 1 |
| 2007 | Circular reference attributed grammars - their evaluation and applications
Eva Magnusson, Görel Hedin |
Sci. Comput. Program. | 2 |
| 2006 | Preface
Görel Hedin, Eric Van Wyk |
Sci. Comput. Program. | 1 |
| 2005 | Teaching extreme programming to large groups of students
Görel Hedin, Lars Bendix, Boris Magnusson |
J. Syst. Softw. | 1 |
| 2004 | Rewritable Reference Attributed Grammars
Torbjörn Ekman 0001, Görel Hedin |
ECOOP | 2 |
| 2003 | Introducing Software Engineering by means of Extreme ProgrammingabstractThis paper reports on experience from teaching basic software engineering concepts by using Extreme Programming in a second year undergraduate course taken by 107 students. We describe how this course fits into a wider programme on software engineering and technology and report our experience from running and improving the course. Particularly important aspects of our setup includes team coaching (by older students) and "team-in-one-room". Our experience so far is very positive and we see that students get a good basic understanding of the important concepts in software engineering, rooted in their own practical experience. Görel Hedin, Lars Bendix, Boris Magnusson |
ICSE | 1 |
| 2003 | Coaching Coaches
Görel Hedin, Lars Bendix, Boris Magnusson |
XP | 1 |
| 2003 | JastAdd--an aspect-oriented compiler construction system
Görel Hedin, Eva Magnusson |
Sci. Comput. Program. | 1 |
| 1994 | An Overview of Door Attribute Grammars
Görel Hedin |
CC | 1 |
| 1989 | An Object-Oriented Notation for Attribute Grammars
Görel Hedin |
ECOOP | 1 |
| 1988 | The Mjølner Environment: Direct Interaction with Abstractions
Görel Hedin, Boris Magnusson |
ECOOP | 1 |