Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Michael Haupt 0003

dblp:50/5082-3 · DBLP profile ↗
← Back
12ranked-venue papers
4as first author
0since 2021 · last 2013
0000-0002-3489-7157ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 1 first-authorSystems, architecture and hardware · 2 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Programming languages and type systems · 66% Requirements engineering and software design · 12% Runtime systems and virtual machines · 11%

Topics — the 9 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
aspect-oriented programming
0.122008
Delegation-based semantics for modularizing crosscutting concerns · OOPSLA 2008
Efficient control flow quantification · OOPSLA 2006
Requirements engineering and software design › separation of concerns
crosscutting concerns
0.112008
Delegation-based semantics for modularizing crosscutting concerns · OOPSLA 2008
Programming languages and type systems › language semantics
formal semantics
0.112008
Delegation-based semantics for modularizing crosscutting concerns · OOPSLA 2008
Programming languages and type systems › language semantics › formal semantics
operational semantics
0.112008
Delegation-based semantics for modularizing crosscutting concerns · OOPSLA 2008
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.112006
Efficient control flow quantification · OOPSLA 2006
Software maintenance and evolution
program comprehension
0.112006
The SEXTANT Software Exploration Tool · IEEE Trans. Software Eng. 2006
Programming languages and type systems › object-oriented programming
java
0.012013
Maxine: An approachable virtual machine for, and in, java · ACM Trans. Archit. Code Optim. 2013
Programming languages and type systems
object-oriented programming
0.012008
Delegation-based semantics for modularizing crosscutting concerns · OOPSLA 2008
Software maintenance and evolution › program comprehension
software visualization
0.012006
The SEXTANT Software Exploration Tool · IEEE Trans. Software Eng. 2006

Methods — techniques the papers use, named apart from their topics

reflection · 0.2garbage collection · 0.2annotation · 0.2semantic mappings · 0.1delegation-based semantics · 0.1just-in-time compilation · 0.1case study · 0.1
YearPublicationVenuePosition
2013 Maxine: An approachable virtual machine for, and in, java
abstract
A highly productive platform accelerates the production of research results. The design of a Virtual Machine (VM) written in the Java™ programming language can be simplified through exploitation of interfaces, type and memory safety, automated memory management (garbage collection), exception handling, and reflection. Moreover, modern Java IDEs offer time-saving features such as refactoring, auto-completion, and code navigation. Finally, Java annotations enable compiler extensions for low-level “systems programming” while retaining IDE compatibility. These techniques collectively make complex system software more “approachable” than has been typical in the past. The Maxine VM, a metacircular Java VM implementation, has aggressively used these features since its inception. A co-designed companion tool, the Maxine Inspector, offers integrated debugging and visualization of all aspects of the VM's runtime state. The Inspector's implementation exploits advanced Java language features, embodies intimate knowledge of the VM's design, and even reuses a significant amount of VM code directly. These characteristics make Maxine a highly approachable VM research platform and a productive basis for research and teaching.
Christian Wimmer, Michael Haupt 0003, Michael L. Van de Vanter, Mick J. Jordan, Laurent Daynès, Doug Simon
ACM Trans. Archit. Code Optim.2
2011 Explicit use-case representation in object-oriented programming languages
abstract
Use-cases are considered an integral part of most contemporary development processes since they describe a software system's expected behavior from the perspective of its prospective users. However, the presence of and traceability to use-cases is increasingly lost in later more code-centric development activities. Use-cases, being well-encapsulated at the level of requirements descriptions, eventually lead to crosscutting concerns in system design and source code. Tracing which parts of the system contribute to which use-cases is therefore hard and so limits understandability.
Robert Hirschfeld, Michael Perscheid, Michael Haupt 0003
DLS3
2010 The SOM family: virtual machines for teaching and research
abstract
This paper introduces the SOM (Simple Object Machine) family of virtual machine (VM) implementations, a collection of VMs for the same Smalltalk dialect addressing students at different levels of expertise. Starting from a Java-based implementation, several ports of the VM to different programming languages have been developed and put to successful use in teaching at both undergraduate and graduate levels since 2006. Moreover, the VMs have been used in various research projects. The paper documents the rationale behind each of the SOM VMs and results that have been achieved in teaching and research.
Michael Haupt 0003, Robert Hirschfeld, Tobias Pape, Gregor Berg, Stefan Marr, Arne Bergmann, Arvid Heise, Matthias Kleine, Robert Krahn
ITiCSE1
2010 PhidgetLab: crossing the border from virtual to real-world objects
abstract
Teaching pupils the ideas behind objects in programming languages can be difficult since these concepts are mostly abstract and not comprehensible at first sight. Etoys as a visual programming environment counters such issues by introducing visible objects and simple tiles for programming them. However, all of these objects can only be experienced virtually on the screen. This paper presents PhidgetLab, a programming environment for electronic components (Phidgets) realised on top of the Etoys environment. PhidgetLab helps crossing the border from virtual to real-world objects. Pupils interact with tangible objects that are seamlessly connected to the digital world. PhidgetLab was evaluated in a case study with 22 pupils, following the principles of the Design Thinking methodology and comprised the realisation of five prototypes within a short period of time.
Michael Haupt 0003, Michael Perscheid, Robert Hirschfeld, Lysann Kessler, Thomas Klingbeil, Stephanie Platz, Frank Schlegel, Philipp Tessenow
ITiCSE1
2010 Continuous Selective Testing
Bastian Steinert, Michael Haupt 0003, Robert Krahn, Robert Hirschfeld
XP2
2008 Delegation-based semantics for modularizing crosscutting concerns
abstract
We describe semantic mappings of four high-level programming languages to our delegation-based machine model for aspect-oriented programming. One of the languages is a class-based object-oriented one. The other three represent extensions thereof that support various approaches to modularizing crosscutting concerns. We explain informally that an operational semantics expressed in terms of the model's concepts preserves the behavior of a program written in one of the high-level languages. We hence argue our model to be semantically sound in that sense, as well as sufficiently expressive in order to correctly support features such as class-based object-oriented programming, the open-classes and pointcut-and-advice flavors of aspect-oriented programming, and dynamic layers. For the latter, being a core feature of context-oriented programming, we also provide a formal semantics.
Hans Schippers, Dirk Janssens, Michael Haupt 0003, Robert Hirschfeld
OOPSLA3
2007 A Machine Model for Aspect-Oriented Programming
Michael Haupt 0003, Hans Schippers
ECOOP1
2006 Efficient control flow quantification
abstract
Aspect-oriented programming (AOP) is increasingly gaining in popularity. However, the focus of aspect-oriented language research has been mostly on language design issues; efficient implementation techniques have been less popular. As a result, the performance of certain AOP constructs is still poor. This is in particular true for constructs that rely on dynamic properties of the execution (e.g., the cflow construct).In this paper, we present efficient implementation techniques for cflow that exploit direct access to internal structures of the virtual machine running an application, such as the call stack, as well as the integration of these techniques into the just-in-time compiler code generation process.Our results show that AOP has the potential to make programs that need to define control flow-dependent behavior not only more modular but also more efficient. By making means for control flow-dependent behavior part of the language, AOP opens the possibility of applying sophisticated compiler optimizations that are out of reach for application programmers.
Christoph Bockisch, Sebastian Kanthak, Michael Haupt 0003, Matthew Arnold, Mira Mezini
OOPSLA3
2006 The SEXTANT Software Exploration Tool
abstract
In this paper, we discuss a set of functional requirements for software exploration tools and provide initial evidence that various combinations of these features are needed to effectively assist developers in understanding software. We observe that current tools for software exploration only partly support these features. This has motivated the development of SEXTANT, a software exploration tool tightly integrated into the Eclipse IDE that has been developed to fill this gap. By means of case studies, we demonstrate how the requirements fulfilled by SEXTANT are conducive to an understanding needed to perform a maintenance task
Thorsten Schäfer, Michael Eichberg, Michael Haupt 0003, Mira Mezini
IEEE Trans. Software Eng.3
2005 Comprehensive Software Understanding with SEXTANT
abstract
Current tools for software understanding mostly concentrate on one comprehension technique, e.g., visualization, or bottom-up navigation through software elements via hyperlinks. In this paper, we argue that to effectively assist developers in understanding today's software systems, a combination of several comprehension techniques is needed including seamless integration of top-down querying and bottom-up navigation strategies that work across different kinds of software artifacts; furthermore, application-domain and/or technology specific relationships between software elements should be taken into consideration; last but not least, a tight integration of such tools into development environments is crucial. We present SEXTANT, a software exploration tool tightly integrated into the Eclipse IDE that satisfies these requirements. In two case studies, we demonstrate how SEXTANT's features are conducive in tracking down the source of erroneous behavior, respectively, in discovering 'bad smells' in the software structure which should lead to code refactorings.
Michael Eichberg, Michael Haupt 0003, Mira Mezini, Thorsten Schäfer
ICSM2
2005 An execution layer for aspect-oriented programming languages
abstract
Language mechanisms deserve language implementation effort. While this maxim has led to sophisticated support for language features specific to object-oriented, functional and logic programming languages, aspect-oriented programming languages are still mostly implemented using postprocessors. The Steamloom virtual machine, based on IBM's Jikes RVM, provides support for aspect-oriented programming at virtual machine level. A bytecode framework called BAT was integrated with the Jikes RVM to replace its bytecode management logic. While preserving the functionality needed by the VM, BAT also allows for querying application code for join point shadows, avoiding redundancy in bytecode representation. Performance measurements show that an AOP-enabled virtual machine like Steamloom does not inflict unnecessary performance penalties on a running application; when it comes to executing AOP-related operations, there even are significant performance gains compared to other approaches.
Michael Haupt 0003, Mira Mezini, Christoph Bockisch, Tom Dinkelaker, Michael Eichberg, Michael Krebs
VEE1
2003 The Convergence of AOP and Active Databases: Towards Reactive Middleware
Mariano Cilia, Michael Haupt 0003, Mira Mezini, Alejandro P. Buchmann
GPCE2