VLDB 2026 Research / reviewers in the wild / expert
Ulrik Pagh Schultz Lundquist
dblp:59/3640 · also Ulrik Pagh Schultz
· DBLP profile ↗
37ranked-venue papers
9as first author
5since 2021 · last 2023
0000-0003-4119-2689ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 19 · 5 first-author · 3 since 2021Systems, architecture and hardware · 14 · 1 first-author · 3 since 2021Artificial intelligence and machine learning · 11 · 1 first-author · 1 since 2021Theory of computation · 4 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 3 first-authorHuman-computer interaction and ubiquitous computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | The TeamPlay Project: Analysing and Optimising Time, Energy, and Security for Cyber-Physical SystemsabstractNon-functional properties, such as energy, time, and security (ETS) are becoming increasingly important in Cyber-Physical Systems (CPS) programming. This article describes TeamPlay, a research project funded under the EU Horizon 2020 programme between January 2018 and June 2021. TeamPlay aimed to provide the system designer with a toolchain for developing embedded applications where ETS properties are first-class citizens, allowing the developer to reflect directly on energy, time and security properties at the source code level. In this paper we give an overview of the TeamPlay methodology, introduce the challenges and solutions of our approach and summarise the results achieved. Overall, applying our TeamPlay methodology led to an improvement of up to 18% performance and 52% energy usage over traditional approaches. Benjamin Rouxel, Christopher Brown 0002, Emad Samuel Malki Ebeid, Kerstin Eder, Heiko Falk, Clemens Grelck, Jesper Holst, Shashank Jadhav, Yoann Marquer, Marcos Martinez de Alejandro, Kris Nikov, Ali Sahafi, Ulrik Pagh Schultz Lundquist, Adam Seewald, Vangelis Vassalos, Simon Wegener, Olivier Zendra |
DATE | 13 |
| 2022 | Dynamic Replanning of Multi-drone Missions using Dynamic Forward SlicingabstractUnmanned Aerial Systems (UAS, typically known as drones) are useful in many application domains, such as logistics and precision farming, especially when they fly Beyond Visual Line of Sight (BVLOS). To effectively use multiple UAS for BVLOS missions, it is required to precisely plan the flight of each UAS involved in the missions, allocating the required airspace ahead of time. The dots Domain-Specific Language (DSL) can be used to plan and execute such missions but does not support the adaptation of missions when unexpected changes occur during the execution of these missions. Such dynamic replanning of missions to changing conditions is a crucial feature for the safe integration of UAS into the airspace since it allows the UAS to adapt to these changes, such as yielding to emergency response aircraft. Miguel Campusano, Ulrik Pagh Schultz Lundquist |
GPCE | 2 |
| 2022 | Energy-Aware Planning-Scheduling for Autonomous Aerial RobotsabstractIn this paper, we present an online planning-scheduling approach for battery-powered autonomous aerial robots. The approach consists of simultaneously planning a coverage path and scheduling onboard computational tasks. We further derive a novel variable coverage motion robust to air-borne constraints and an empirically motivated energy model. The model includes the energy contribution of the schedule based on an automatic computational energy modeling tool. Our experiments show how an initial flight plan is adjusted online as a function of the available battery, accounting for uncertainty. Our approach remedies possible in-flight failure in case of unexpected battery drops, e.g., due to adverse atmospheric conditions, and increases the overall fault tolerance. Adam Seewald, Héctor García de Marina, Henrik Skov Midtiby, Ulrik Pagh Schultz Lundquist |
IROS | 4 |
| 2022 | What Makes Agile Software Development Agile?abstractTogether with many success stories, promises such as the increase in production speed and the improvement in stakeholders’ collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by their creator(s), software processes in practice mutate into hybrids over time. Are these still agile? In this article, we investigate the question: what makes a software development method agile? We present an empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility. Based on 556 data points, we analyze the perceived degree of agility in the implementation of standard project disciplines and its relation to used development methods and practices. Our findings suggest that only a small number of participants operate their projects in a purely traditional or agile manner (under 15 percent). That said, most project disciplines and most practices show a clear trend towards increasing degrees of agility. Compared to the methods used to develop software, the selection of practices has a stronger effect on the degree of agility of a given discipline. Finally, there are no methods or practices that explicitly guarantee or prevent agility. We conclude that agility cannot be defined solely at the process level. Additional factors need to be taken into account when trying to implement or improve agility in a software company. Finally, we discuss the field of software process-related research in the light of our findings and present a roadmap for future research. Marco Kuhrmann, Paolo Tell, Regina Hebig, Jil Klünder, Jürgen Münch, Oliver Linssen, Dietmar Pfahl, Michael Felderer, Christian Prause, Stephen G. MacDonell, Joyce Nakatumba-Nabende, David Raffo, Sarah Beecham, Eray Tüzün, Gustavo López 0001, Nicolás Paez, Diego Fontdevila, Sherlock A. Licorish, Steffen Küpper, Günther Ruhe, Eric Knauss, Özden Özcan Top, Paul M. Clarke, Fergal McCaffery, Marcela Genero, Aurora Vizcaíno, Mario Piattini, Marcos Kalinowski, Tayana Conte, Rafael Prikladnicki, Stephan Krusche, Ahmet Coskunçay, Ezequiel Scott, Fabio Calefato, Svetlana Pimonova, Rolf-Helge Pfeiffer, Ulrik Pagh Schultz Lundquist, Rogardt Heldal, Masud Fazal-Baqaie, Craig Anslow, Maleknaz Nayebi, Kurt Schneider, Stefan Sauer 0001, Dietmar Winkler 0001, Stefan Biffl, M. Cecilia Bastarrica, Ita Richardson |
IEEE Trans. Software Eng. | 37 |
| 2021 | HEIST: A Hardware Signal Fault Injection Methodology Enabling Feasible Software Robustness TestingabstractIn this paper we investigate the use of FPGAs to inject faults into data streams as a supplement to the international EMC-test standards. We aim to test the robustness and reliability of software based measures against the effects of electromagnetic interference. The proposed methodology, HEIST, uses high-speed acquisition of faulty data and high-speed fault injection. HEIST requires less insight into electromagnetism and electronics compared to other iterative EMC qualification processes. This is particularly relevant in designs where a strategy of 100% hardware-based noise avoidance is not feasible, and software based noise handling has been implemented as a supplement. Such situations are typical in mobile light-weight systems such as drones, where shielding and hardware filters add undesirable weight. The methodology is verified by comparing data from a serial communication link that has been exposed to burst noise based on the IEC 61000-4-4 test standard with data from the same setup, but replacing the burst generator with the HEIST approach. The result shows an excellent correlation indicating that HEIST can replace the burst generator for a software EMC test in an ongoing software development process. Martin Skriver, Anders Stengaard Sørensen, Ulrik Pagh Schultz Lundquist |
DDECS | 3 |
| 2020 | PReGO: a generative methodology for satisfying real-time requirements on COTS-based systems: definition and experience reportabstractSatisfying real-time requirements in cyber-physical systems is challenging as timing behaviour depends on the application software, the embedded hardware, as well as the execution environment. This challenge is exacerbated as real-world, industrial systems often use unpredictable hardware and software libraries or operating systems with timing hazards and proprietary device drivers. All these issues limit or entirely prevent the application of established real-time analysis techniques. Benjamin Rouxel, Ulrik Pagh Schultz Lundquist, Benny Akesson, Jesper Holst, Ole Jørgensen 0001, Clemens Grelck |
GPCE | 2 |
| 2018 | Adapting Parameterized Motions Using Iterative Learning and Online Collision DetectionabstractAchieving both the flexibility and robustness required to advance the use of robotics in small and medium-sized productions is an essential but difficult task. A fundamental problem is making the robot run blindly without additional sensors while still being robust to uncertainties and variations in the assembly processes. In this paper, we address the use of parameterized motions suitable for blind execution and robust to uncertainties in the assembly process. Collisions and incorrect assemblies are detected based on robot motor currents while motion parameters are updated based on Bayesian Optimization utilizing Gaussian Process learning. This allows for motion parameters to be optimized using real world trials which incorporate all uncertainties inherent in the assembly process without requiring advanced robot and sensor setups. The result is a simple and straightforward system which helps the user automatically find robust and uncertainty-tolerant motions. We present experiments for an assembly case showing both detection and learning in the real world and how these combine to a robust robot system. Johan Sund Laursen, Lars Carøe Sørensen, Ulrik Pagh Schultz Lundquist, Lars-Peter Ellekilde, Dirk Kraft |
ICRA | 3 |
| 2018 | Reversible Object-Oriented Programming with Region-Based Memory Management - Work-in-progress Report
Ulrik Pagh Schultz Lundquist |
RC | 1 |
| 2017 | HELENA Stage 2 - Danish Overview
Paolo Tell, Rolf-Helge Pfeiffer, Ulrik Pagh Schultz Lundquist |
PROFES | 3 |
| 2017 | Special Issue on the 2015 International Conference on Generative Programming: Concepts & Experiences (GPCE)
Aniruddha S. Gokhale, Kenichi Asai, Ulrik Pagh Schultz Lundquist |
Comput. Lang. Syst. Struct. | 3 |
| 2016 | Towards a virtual machine approach to resilient and safe mobile robotsabstractMobile robots are advanced systems that often need to operate in unstructured environments, which increases software complexity. Many components are key to the overall reliability and safety of a robot, yet reducing the risk of errors by making the software resilient is both complicated and expensive. A commercially successful robot has to remain safe while providing as much as possible from the functionality required; even in the presence of partial failures. In this paper, we propose a flexible approach to improve the reliability of existing robot software, which enables a wide range of strategies for graceful degradation in the presence of partial failures. We use standard virtualization techniques as a means to encapsulate the safety-critical parts and to separate these from the non-critical parts of the system. An automatically generated runtime monitoring component realizes a fast switching between different implementations of the non-critical parts of the system to ensure continuous service delivery even in partial failure situations. We present the overall architecture and insights into a reference implementation, and we demonstrate our approach by simulating software failures for a commercial mobile robot. Sorin Adam, Marco Kuhrmann, Ulrik Pagh Schultz Lundquist |
ETFA | 3 |
| 2016 | Automatic code generation in practice: experiences with embedded robot controllersabstractMobile robots often use a distributed architecture in which software components are deployed to heterogeneous hardware modules. Ensuring the consistency with the designed architecture is a complex task, notably if functional safety requirements have to be fulfilled. We propose to use a domain-specific language to specify those requirements and to allow for generating a safety-enforcing layer of code, which is deployed to the robot. The paper at hand reports experiences in practically applying code generation to mobile robots. For two cases, we discuss how we addressed challenges, e.g., regarding weaving code generation into proprietary development environments and testing of manually written code. We find that a DSL based on the same conceptual model can be used across different kinds of hardware modules, but a significant adaptation effort is required in practical scenarios involving different kinds of hardware. Sorin Adam, Marco Kuhrmann, Ulrik Pagh Schultz Lundquist |
GPCE | 3 |
| 2016 | Elements of a Reversible Object-Oriented Language - Work-in-Progress Report
Ulrik Pagh Schultz Lundquist, Holger Bock Axelsen |
RC | 1 |
| 2015 | Towards tool support for spreadsheet-based domain-specific languagesabstractSpreadsheets are commonly used by non-programmers to store data in a structured form, this data can in some cases be considered to be a program in a domain-specific language (DSL). Unlike ordinary text-based domain-specific languages, there is however currently no formalism for expressing the syntax of such spreadsheet-based DSLs (SDSLs), and there is no tool support for automatically generating language infrastructure such as parsers and IDE support. In this paper we define a simple notion of two-dimensional grammars for SDSLs, and show how such grammars can be used for automatically generating parsers that extract structured data from a spreadsheet in the form of an AST. We demonstrate automatic generation of parsers for a number of examples, including the questionnaire DSL from LWC2014 and a DSL for writing safety specifications. Sorin Adam, Ulrik Pagh Schultz Lundquist |
GPCE | 2 |
| 2015 | Automatic error recovery in robot assembly operations using reverse executionabstractRobotic assembly tasks are in general difficult to program and require a high degree of precision. As the complexity of the task increases it becomes increasingly unlikely that tasks can always be executed without errors. Preventing errors beyond a certain point is economically infeasible, in particular for small-batch productions. As an alternative, we propose a system for automatically handling certain classes of errors instead of preventing them. Specifically, we show that many operations can be automatically reversed. Errors can be handled through automatic reverse execution of the control program to a safe point, from which forward execution can be resumed. This paper describes the principles behind automatic reversal of robotic assembly operations, and experimentally demonstrates the use of a domain-specific language that supports automatic error handling through reverse execution. Our contribution represents the first experimental demonstration of reversible computing principles applied to industrial robotics. Johan Sund Laursen, Ulrik Pagh Schultz Lundquist, Lars-Peter Ellekilde |
IROS | 2 |
| 2015 | On the Use of Safety Certification Practices in Autonomous Field Robot Software Development: A Systematic Mapping Study
Johann Thor Mogensen Ingibergsson, Ulrik Pagh Schultz Lundquist, Marco Kuhrmann |
PROFES | 2 |
| 2015 | Towards a Domain-Specific Language for Reversible Assembly Sequences
Ulrik Pagh Schultz Lundquist, Johan Sund Laursen, Lars-Peter Ellekilde, Holger Bock Axelsen |
RC | 1 |
| 2014 | Towards using a generic robot as training partner: off-the-shelf robots as a platform for flexible and affordable rehabilitationabstractIn this paper, we demonstrate how a generic industrial robot can be used as a training partner, for upper limb training. The motion path and human/robot interaction of a non-generic upper-arm training robot is transferred to a generic industrial robot arm, and we demonstrate that the robot arm can implement the same type of interaction, but can expand the training regime to include both upper arm and shoulder training. We compare the generic robot to two affordable but custom-built training robots, and outline interesting directions for future work based on these training robots. Anders Stengaard Sørensen, Thiusius Rajeeth Savarimuthu, Jacob Nielsen, Ulrik Pagh Schultz Lundquist |
HRI | 4 |
| 2013 | Unity-link: A software-gateware interface for rapid prototyping of experimental robot controllers on FPGAsabstractIn experimental robotics, we are often faced with differing requirements between projects and as a project evolves, making the initial choice of technology difficult, often requiring a continuous and tedious development of the low-level parts of the robotic system. We propose the use of FPGAs as a flexible solution to these low-level issues; We here address the hitherto unresolved issue of interfacing the FPGA-based controllers to high-level robotics software running on a PC. This paper presents the Unity-Link software-gateware stack, which connects high-level software frameworks to our modular, FPGA-based generic hardware. Unity-Link provides simple, unified abstractions for quickly and easily interconnecting PC-based systems with nodes that provide hard real-time control of distributed robotic systems. Unity-Link uses a component-based modular bus structure based on open standards, and interfaces with a library of gateware components, enabling us to create complex applications quickly and efficiently. Automated code generation is used to provide convenient, application-specific interfaces to high-level robotics middleware such as ROS. Anders Blaabjerg Lange, Ulrik Pagh Schultz Lundquist, Anders Stengaard Sørensen |
IROS | 2 |
| 2011 | Generalized programming of modular robots through kinematic configurationsabstractThe distinctive feature of modular robots consists in their reconfigurable mechanical structure, as they are assembled on-demand from basic mechatronic units. This implies that kinematic models of the robots need to be computed on a case-by-case basis for each specific assembly, which is a manual and hence time-consuming and error-prone procedure. We propose to automate this process by automatically computing such kinematic models starting from simple descriptions of the modules and their assemblies. This automated computation is supported by our toolchain for programming arbitrary modular robots in arbitrary configurations, presented in this paper. We contribute two novel results through this approach. First, a high-level programming language that provides kinematic abstractions for arbitrary modular robots, in contrast to the robot-specific solutions currently available. Second, a programming abstraction to subsume multiple kinematically equivalent robot assemblies into a so-called kinematic configuration, hence eliminating the need to explicitly enumerate and program each of them. These contributions advance current techniques for modular robot programming by demonstrating a tool that a) targets multiple mechanical platforms, offering the first general solution for modular robot programming, and b) raises the abstraction level by allowing users to reason and program in terms of standardized kinematic models that are automatically mapped to physical robot configurations by the toolchain. Mirko Bordignon, Kasper Støy, Ulrik Pagh Schultz Lundquist |
IROS | 3 |
| 2011 | Spatial Computing: Distributed Systems That Take Advantage of Our Geometric Worldabstractresearch-article Share on Spatial Computing: Distributed Systems That Take Advantage of Our Geometric World Authors: Jacob Beal BBN Technologies BBN TechnologiesView Profile , Olivier Michel University of Paris 12 University of Paris 12View Profile , Ulrik Pagh Schultz University of Southern Denmark University of Southern DenmarkView Profile Authors Info & Claims ACM Transactions on Autonomous and Adaptive SystemsVolume 6Issue 2Article No.: 11pp 1–3https://doi.org/10.1145/1968513.1968514Published:01 June 2011Publication History 12citation386DownloadsMetricsTotal Citations12Total Downloads386Last 12 Months14Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access Jacob Beal, Olivier Michel 0001, Ulrik Pagh Schultz Lundquist |
ACM Trans. Auton. Adapt. Syst. | 3 |
| 2010 | Model-based kinematics generation for modular mechatronic toolkitsabstractModular robots are mechatronic devices that enable the construction of highly versatile and flexible robotic systems whose mechanical structure can be dynamically modified. The key feature that enables this dynamic modification is the capability of the individual modules to connect to each other in multiple ways and thus generate a number of different mechanical systems, in contrast with the monolithics fixed structure of conventional robots. The mechatronic flexibility, however, complicates the development of models and programming abstractions for modular robots, since manually describing and enumerating the full set of possible interconnections is tedious and error-prone for real-world robots. In order to allow for a general formulation of spatial abstractions for modular robots and to ensure correct and streamlined generation of code dependent on mechanical properties, we have developed the Modular Mechatronics Modelling Language (M3L). M3L is a domain-specific language, which can model the kinematic structure of individual robot modules and declaratively describe their possible interconnections rather than requiring the user to enumerate them in their entirety. From this description, the M3L compiler generates the code that is needed to simulate the resulting robots within Webots, widely used commercial robot simulator, and the software component needed for spatial structure computations by a virtual machine-based runtime system, which we have developed and used for programming physical modular robots Mirko Bordignon, Ulrik Pagh Schultz Lundquist, Kasper Støy |
GPCE | 2 |
| 2010 | A distributed strategy for gait adaptation in modular robotsabstractIn this paper we study online gait optimization for modular robots. The learning strategy we apply is distributed, independent on robot morphology, and easy to implement. First we demonstrate how the strategy allows an ATRON robot to adapt to faults and changes in its morphology and we study the strategy's scalability. Second we extend the strategy to learn the parameters of gait-tables for ATRON and M-TRAN robots. We conclude that the presented strategy is effective for online learning of gaits for most types of modular robots and that learning can effectively be distributed by having independent processes learning in parallel. David Johan Christensen, Ulrik Pagh Schultz Lundquist, Kasper Støy |
ICRA | 2 |
| 2009 | A virtual machine-based approach for fast and flexible reprogramming of modular robotsabstractModular robot programming spans a number of issues ranging from high-level coordination to controller distribution and update in individual modules. The latter issue has received little attention from the research community though in our experience it is one of the main factors hindering agile development and experimentation with physical robots: reprogramming tens or hundreds of modules can be a major overhead in the development process and cannot be done with traditional approaches without restarting the robot, which impedes updating a running system. We propose a solution based on a virtual machine design shaped around three core concepts: the context of a module and its role in the ensemble, the reactive nature of robot controllers, and control programs decomposable into subparts that can be dynamically and separately redefined. We show that by incorporating those concepts into the design we are able to both achieve program conciseness (thus providing fast and efficient code distribution) and program expressiveness (thus providing versatility to represent diverse control algorithms). The virtual machine is programmed in a high-level role-oriented language that allows the programmer to declaratively specify how programs are deployed in the modular robot. Our approach enables fast and incremental on-line updates, allowing the programmer to interactively experiment with the physical robots. We show how this design lends itself to an efficient implementation targeting typical resource-constrained modular robotic hardware by illustrating our prototype implementation for the ATRON self-reconfigurable robot. Mirko Bordignon, Kasper Støy, Ulrik Pagh Schultz Lundquist |
ICRA | 3 |
| 2009 | On the efficiency of local and global communication in modular robotsabstractAs exchange of information is essential to modular robots, deciding between local or global communication is a common design choice. This choice, however, still lacks theoretical support. Ricardo Franco Mendoza Garcia, Ulrik Pagh Schultz Lundquist, Kasper Støy |
IROS | 2 |
| 2009 | Robust and reversible self-reconfigurationabstractModular, self-reconfigurable robots are robots that can change their own shape by physically rearranging the modules from which they are built. Self-reconfiguration can be controlled by e.g. an off-line planner, but numerous implementation issues hamper the actual self-reconfiguration process: the continuous evolution of the communication topology increases the risk of communications failure, generating code that correctly controls the self-reconfiguration process is non-trivial, and hand-tuning the self-reconfiguration process is tedious and error-prone. To address these issues, we have developed a distributed scripting language that controls self-reconfiguration of the ATRON robot using a robust communication scheme that relies on local broadcast of shared state. This language can be used as the target of a planner, offers direct support for parallelization of independent operations while maintaining correct sequentiality of dependent operations, and compiles to a robust and efficient implementation. Moreover, a novel feature of this language is its reversibility: once a self-reconfiguration sequence is described the reverse sequence is automatically available to the programmer, significantly reducing the amount of work needed to deploy self-reconfiguration in larger scenarios. We demonstrate our approach with long-running (reversible) self-reconfiguration experiments using the ATRON robot and a reversible self-reconfiguration experiment using simulated MTRAN modules. Ulrik Pagh Schultz Lundquist, Mirko Bordignon, Kasper Støy |
IROS | 1 |
| 2008 | A unified simulator for Self-Reconfigurable RobotsabstractGeneric simulation platforms such as player/stage are an essential tool in mobile robotics, but until now no similar platforms have been available for the field of self-reconfigurable robots. We here present a generic simulation platform for modular, self-reconfigurable robots: the unified simulator for self-reconfigurable robots (USSR). USSR is based on a physics engine, allowing simulation of both self-reconfiguration and dynamic interaction with the environment. The simulator is implemented as a framework that provides numerous components that can be combined to form new or existing modular robots, allowing easy experimentation: USSR currently includes support for the ATRON, Odin, and M-TRAN modular robots. David Johan Christensen, David Brandt, Kasper Støy, Ulrik Pagh Schultz Lundquist |
IROS | 4 |
| 2006 | Issues in holistic system designabstractThe coordination of layers in computer and software systems is one of the main challenges in designing such systems today. In this paper we consider Holistic System Design as a way of integrating requirements and facilities of different system layers. We also discuss some of the challenges that this kind of system design poses for computer science in general as well as programming languages and operating systems in particular. Julia Lawall, Christian W. Probst, Ulrik Pagh Schultz Lundquist |
PLOS | 3 |
| 2004 | A Unification of Inheritance and Automatic Program Specialization
Ulrik Pagh Schultz Lundquist |
GPCE | 1 |
| 2004 | Declarative specialization for object-oriented-program specializationabstractThe use of partial evaluation for specializing programs written in imperative languages such as C and Java is hampered by the difficulty of controlling the specialization process. We have developed a simple, declarative language for controlling the specialization of Java programs, and interfaced this language with the JSpec partial evaluator for Java. This language, named Pesto, allows declarative specialization of programs written in an object-oriented style of programming. The Pesto compiler automatically generates the context information needed for specializing Java programs, and automatically generates guards that enable the specialized code in the right context. Helle Markmann Andersen, Ulrik Pagh Schultz Lundquist |
PEPM | 2 |
| 2003 | Compiling java for low-end embedded systems
Ulrik Pagh Schultz Lundquist, Kim Burgaard, Flemming Gram Christensen, Jørgen Lindskov Knudsen |
LCTES | 1 |
| 2003 | Automatic program specialization for JavaabstractThe object-oriented style of programming facilitates program adaptation and enhances program genericness, but at the expense of efficiency. We demonstrate experimentally that state-of-the-art Java compilers fail to compensate for the use of object-oriented abstractions in the implementation of generic programs, and that program specialization can eliminate a significant portion of these overheads. We present an automatic program specializer for Java, illustrate its use through detailed case studies, and demonstrate experimentally that it can significantly reduce program execution time. Although automatic program specialization could be seen as being subsumed by existing optimizing compiler technology, we show that specialization and compiler optimization are in fact complementary. Ulrik Pagh Schultz Lundquist, Julia Lawall, Charles Consel |
ACM Trans. Program. Lang. Syst. | 1 |
| 2000 | Specialization PatternsabstractDesign patterns offer many advantages for software development, but can introduce inefficiency into the final program. Program specialization can eliminate such overheads, but is most effective when targeted by the user to specific bottlenecks. Consequently, we propose that these concepts are complementary. Program specialization can optimize programs written using design patterns, and design patterns provide information about the program structure that can guide specialization. Concretely, we propose specialization patterns, which describe how to apply program specialization to optimize uses of design patterns. We analyze the specialization opportunities provided by specific uses of design patterns. Based on the analysis of each design pattern, we define the associated specialization pattern. These specialization opportunities can be declared using the specialization classes framework, developed previously. In our experiments, such specialization significantly improves performance. Ulrik Pagh Schultz Lundquist, Julia Lawall, Charles Consel |
ASE | 1 |
| 2000 | Lambda-dropping: transforming recursive equations into programs with block structure
Olivier Danvy, Ulrik Pagh Schultz Lundquist |
Theor. Comput. Sci. | 2 |
| 2000 | Java bytecode compression for low-end embedded systemsabstractA program executing on a low-end embedded system, such as a smart-card, faces scarce memory resources and fixed execution time constraints. We demonstrate that factorization of common instruction sequences in Java bytecode allows the memory footprint to be reduced, on average, to 85% of its original size, with a minimal execution time penalty. While preserving Java compatibility, our solution requires only a few modifications which are straightforward to implement in any JVM used in a low-end embedded system. Lars Ræder Clausen, Ulrik Pagh Schultz Lundquist, Charles Consel, Gilles Muller |
ACM Trans. Program. Lang. Syst. | 2 |
| 1999 | Towards Automatic Specialization of Java Programs
Ulrik Pagh Schultz Lundquist, Julia Lawall, Charles Consel, Gilles Muller |
ECOOP | 1 |
| 1997 | Lambda-Dropping: Transforming Recursive Equations into Programs with Block StructureabstractLambda-lifting a functional program transforms it into a set of recursive equations. We present the symmetric transformation: lambda-dropping. Lambda-dropping a set of recursive equations restores block structure and lexical scope.For lack of scope, recursive equations must carry around all the parameters that any of their callees might possibly need. Both lambda-lifting and lambda-dropping thus require one to compute a transitive closure over the call graph:• for lambda-lifting: to establish the Def/Use path of each free variable (these free variables are then added as parameters to each of the functions in the call path);• for lambda-dropping: to establish the Def/Use path of each parameter (parameters whose use occurs in the same scope as their definition do not need to be passed along in the call path).Without free variables, a program is scope-insensitive. Its blocks are then free to float (for lambda-lifting) or to sink (for lambda-dropping) along the vertices of the scope tree.We believe lambda-lifting and lambda-dropping are interesting per se, both in principle and in practice, but our prime application is partial evaluation: except for Malmkjær and Ørbæk's case study presented at PEPM '95, most polyvariant specializers for procedural programs operate on recursive equations. To this end, in a pre-processing phase, they lambda-lift source programs into recursive equations, As a result, residual programs are also expressed as recursive equations, often with dozens of parameters, which most compilers do not handle efficiently. Lambda-dropping in a post-processing phase restores their block structure and lexical scope thereby significantly reducing both the compile time and the run time of residual programs. Olivier Danvy, Ulrik Pagh Schultz Lundquist |
PEPM | 2 |