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

Theo D'Hondt

dblp:d/TheoDHondt · DBLP profile ↗
← Back
38ranked-venue papers
0as first author
0since 2021 · last 2017
—ORCID · none

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

Software engineering, systems software and programming languages · 29Systems, architecture and hardware · 4Artificial intelligence and machine learning · 3Human-computer interaction and ubiquitous computing · 1Theory of computation · 1

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.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 67% Distributed systems · 33%
Software engineering, system software, and programming languages
2 papers
Software maintenance and evolution · 80% Runtime systems and virtual machines · 17% Requirements engineering and software design · 4%

Topics — the 7 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems › distributed programming
actor model
0.112012
Synchronization views for event-loop actors · PPoPP 2012
Parallel and multicore computing
data parallelism
0.112012
Synchronization views for event-loop actors · PPoPP 2012
Parallel and multicore computing
parallel programming models
0.112012
Synchronization views for event-loop actors · PPoPP 2012
Software maintenance and evolution
dynamic software updating
0.112007
Tranquility: A Low Disruptive Alternative to Quiescence for Ensuring Safe Dynamic Updates · IEEE Trans. Software Eng. 2007
Software maintenance and evolution › change impact analysis
change propagation
0.011996
Reuse Contracts: Managing the Evolution of Reusable Assets · OOPSLA 1996
Software maintenance and evolution
software reuse
0.011996
Reuse Contracts: Managing the Evolution of Reusable Assets · OOPSLA 1996
Requirements engineering and software design
software architecture
0.011996
Reuse Contracts: Managing the Evolution of Reusable Assets · OOPSLA 1996

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

event-loop actors · 0.1runtime reconfiguration · 0.1quiescence analysis · 0.1reuse operators · 0.0
YearPublicationVenuePosition
2017 Implementing a performant scheme interpreter for the web in asm.js
abstract
This paper presents the implementation of an efficient interpreter for a Scheme-like language using manually written asm.js code. The asm.js specification defines an optimizable subset of JavaScript that has already served well as a compilation target for web applications where performance is critical. However, its usage as a human-writable language that can be integrated into existing projects to improve performance has remained largely unexplored. We therefore apply this strategy to optimize the implementation of an interpreter. We also discuss the feasibility of this approach, as writing asm.js by hand is generally not its recommended use-case. We therefore present a macro system to solve the challenges we encounter. The resulting interpreter is compared to the original C implementation and its compiled equivalent in asm.js. This way, we evaluate whether manual integration with asm.js provides the necessary performance to bring larger applications and runtimes to the web. We also refactor our implementation to assess how more JavaScript code can cohabit with asm.js code, improving maintainability of the implementation while preserving near-native performance. In the case of our interpreter, this improved maintainability enables adding more complex optimizations. We investigate the addition of function inlining , for which we validate the performance gain.
Noah Van Es, Quentin Stiévenart, Jens Nicolay, Theo D'Hondt, Coen De Roover
Comput. Lang. Syst. Struct.4
2016 Domains: Sharing state in the communicating event-loop actor model
Joeri De Koster, Stefan Marr, Tom Van Cutsem, Theo D'Hondt
Comput. Lang. Syst. Struct.4
2015 Semantics for consistent activation in context-oriented systems
Nicolás Cardozo, Kim Mens, Ragnhild Van Der Straeten, Jorge Vallejos, Theo D'Hondt
Inf. Softw. Technol.6
2015 Visually characterizing source code changes
Verónica Uquillas Gómez, Stéphane Ducasse, Theo D'Hondt
Sci. Comput. Program.3
2015 Domains: Safe sharing among actors
Joeri De Koster, Stefan Marr, Theo D'Hondt, Tom Van Cutsem
Sci. Comput. Program.3
2014 Programming mobile context-aware applications with TOTAM
Elisa Gonzalez Boix, Christophe Scholliers, Wolfgang De Meuter, Theo D'Hondt
J. Syst. Softw.4
2014 Programming Urban-Area Applications by Exploiting Public Transportation
abstract
The evolution of smartphones has given rise to urban-area applications: applications that communicate in a city by means of the public (moving) infrastructure (e.g., buses and trams). In this setting, applications need to communicate with and discover each other using intermediaries that move around the city and transfer data between them. This requires programmers to scatter code that deals with routing messages to the correct place and deal with network failures all over their programs. Our approach allows the programmer to specify urban-area applications in a high-level manner without the burden of directly encoding communication using intermediaries. We present this as a translation from a high-level object-oriented programming paradigm to a low-level communication mechanism. This translation allows the programmer to restrict routing of messages to, for example, a certain number of hops, geographic areas, or even types of carrier devices. In addition, we show how high-level group messaging can be efficiently represented in the low-level communication. Finally, we document our experiences in setting up a small-scale real-world urban-area application.
Dries Harnie, Elisa Gonzalez Boix, Theo D'Hondt, Wolfgang De Meuter
ACM Trans. Auton. Adapt. Syst.3
2013 Modeling and Analyzing Self-Adaptive Systems with Context Petri Nets
abstract
The development of self-adaptive systems requires the definition of the parts of the system that will be adapted, when such adaptations will take place, and how these adaptations will interact with each other. However, foreseeing all possible adaptations and their interactions is a difficult task, opening the possibility to inconsistencies or erroneous system behavior. To avoid inconsistencies, self adaptive systems require a sound programming model that allows to reason about the correctness of the system in spite of its dynamic reconfigurations. This paper presents context Petri nets, a Petri net-based programming model for selfadaptive systems. This model provides a formal definition of adaptations and their interaction, as well as a consistent process for their inclusion in the system. Besides serving as an underlying run-time model to ensure that adaptations and their constraints remain consistent, context Petri nets allow to analyze properties such as reachability, and liveness in the configuration of self-adaptive systems. Context Petri nets thus are a convenient tool to model and analyze the dynamics of self-adaptive systems, both formally and computationally.
Nicolás Cardozo, Kim Mens, Ragnhild Van Der Straeten, Theo D'Hondt
TASE5
2013 CrimeSPOT: A language and runtime for developing active wireless sensor network applications
Coen De Roover, Christophe Scholliers, Wouter Amerijckx, Theo D'Hondt, Wolfgang De Meuter
Sci. Comput. Program.4
2012 Synchronization views for event-loop actors
abstract
The actor model has already proven itself as an interesting concurrency model that avoids issues such as deadlocks and race conditions by construction, and thus facilitates concurrent programming. The tradeoff is that it sacrifices expressiveness and efficiency especially with respect to data parallelism. However, many standard solutions to computationally expensive problems employ data parallel algorithms for better performance on parallel systems.
Joeri De Koster, Stefan Marr, Theo D'Hondt
PPoPP3
2012 Ring: A unifying meta-model and infrastructure for Smalltalk source code analysis tools
Verónica Uquillas Gómez, Stéphane Ducasse, Theo D'Hondt
Comput. Lang. Syst. Struct.3
2012 Bringing Scheme programming to the iPhone - Experience
abstract
SUMMARY The iPhone SDK provides a powerful platform for the development of applications that make use of iPhone capabilities, such as sensors, GPS, Wi‐Fi, or Bluetooth connectivity. We observe that so far the development of iPhone applications has mostly been restricted to using Objective‐C. However, developing applications in plain Objective‐C on the iPhone OS suffers from limitations, such as the need for explicit memory management and lack of syntactic extension mechanism. Moreover, when developing distributed applications in Objective‐C, programmers have to manually deal with distribution concerns, such as service discovery, remote communication, and failure handling. In this paper, we discuss our experience in porting the Scheme programming language to the iPhone OS and how it can be used together with Objective‐C to develop iPhone applications. To support the interaction between Scheme programs and the underlying iPhone APIs, we have implemented a language symbiosis layer that enables programmers to access the iPhone SDK libraries from Scheme. In addition, we have designed high‐level distribution constructs to ease the development of distributed iPhone applications in an event‐driven style. We validate and discuss these constructs with a series of examples, including an iPod controller, a maps application, and a distributed multiplayer Scrabble‐like game. We discuss the lessons learned from this experience for other programming language ports to mobile platforms. Copyright © 2011 John Wiley & Sons, Ltd.
Engineer Bainomugisha, Jorge Vallejos, Elisa Gonzalez Boix, Pascal Costanza, Theo D'Hondt, Wolfgang De Meuter
Softw. Pract. Exp.5
2011 Enabling Cross-Technology Mobile Applications with Network-Aware References
Kevin Pinte, Dries Harnie, Theo D'Hondt
COORDINATION3
2011 Ambient contracts: verifying and enforcing ambient object compositions à la carte
Christophe Scholliers, Dries Harnie, Éric Tanter, Wolfgang De Meuter, Theo D'Hondt
Pers. Ubiquitous Comput.5
2011 Diagnosing and correcting design inconsistencies in source code with logical abduction
Sergio Castro, Coen De Roover, Andy Kellens, Angela Lozano, Kim Mens, Theo D'Hondt
Sci. Comput. Program.6
2010 A Hybrid Visual Dataflow Language for Coordination in Mobile Ad Hoc Networks
Andoni Lombide Carreton, Theo D'Hondt
COORDINATION2
2010 Insertion Tree Phasers: Efficient and Scalable Barrier Synchronization for Fine-Grained Parallelism
abstract
This paper presents an algorithm and a data structure for scalable dynamic synchronization in fine-grained parallelism. The algorithm supports the full generality of phasers with dynamic, two-phase, and point-to-point synchronization. It retains the scalability of classical tree barriers, but provides unbounded dynamicity by employing a tailor-made insertion tree data structure. It is the first completely documented implementation strategy for a scalable phaser synchronization construct. Our evaluation shows that it can be used as a drop-in replacement for classic barriers without harming performance, despite its additional complexity and potential for performance optimizations. Furthermore, our approach overcomes performance and scalability limitations which have been present in other phaser proposals.
Stefan Marr, Stijn Verhaegen, Bruno De Fraine, Theo D'Hondt, Wolfgang De Meuter
HPCC4
2010 Verifying the design of an outsourced COBOL system with IntensiVE
abstract
Companies nowadays rely on outsourcing for the implementation of their software. While outsourcing can reduce the actual development costs for a piece of software, it can also reduce a company's control over the quality of the delivered software. In light of obtaining maintainable software, it is however important that the delivered software is well-structured and obeys the various design rules that were postulated by a company using an outsourcing partner. This paper reports on a collaboration between academia and industry, where the research tool IntensiVE has been applied to verify the design rules underlying a large-scale COBOL system. We describe how the IntensiVE tool was customized in order to support verification of the COBOL system, and how this academic tool aided in providing an initial quality assessment of the outsourced software system.
Andy Kellens, Carlos Noguera, Theo D'Hondt, Luc Jorissen, Bart Van Passel
ICSM3
2010 Enforcing structural regularities in software using IntensiVE
Johan Brichau, Andy Kellens, Sergio Castro, Theo D'Hondt
Sci. Comput. Program.4
2009 Context-oriented software transactional memory in common lisp
abstract
Software transactional memory (STM) is a promising approach for coordinating concurrent threads, for which many implementation strategies are currently being researched. Although some first steps exist to ease experimenting with different strategies, this still remains a relatively complex and cumbersome task. The reason is that software transactions require STM-specific dynamic crosscutting adaptations, but this is not accounted for in current STM implementations. This paper presents CSTM, an STM framework based on Context-oriented Progamming, in which transactions are modelled as dynamically scoped layer activations. It enables expressing transactional variable accesses as user-defined crosscutting concerns, without requiring invasive changes in the rest of a program. This paper presents a proof-of-concept implementation based on ContextL for Common Lisp, along with example STM strategies and preliminary benchmarks, and introduces some of ContextL's unique features for context-dependent variable accesses.
Pascal Costanza, Charlotte Herzeel, Theo D'Hondt
DLS3
2009 Forward chaining in HALO: An implementation strategy for history-based logic pointcuts
Charlotte Herzeel, Kris Gybels, Pascal Costanza, Coen De Roover, Theo D'Hondt
Comput. Lang. Syst. Struct.5
2008 Filtered dispatch
abstract
Predicate dispatching is a generalized form of dynamic dispatch, which has strong limitations when arbitrary predicates of the underlying base language are used. Unlike classes, which enforce subset relationships between their sets of instances, arbitrary predicates generally do not designate subsets of each other, so methods whose applicability is based on predicates cannot be ordered according to their specificity in the general case. This paper introduces a decidable but expressive alternative mechanism called filtered dispatch that adds a simple preprocessing step before the actual method dispatch is performed and thus enables the use of arbitrary predicates for selecting and applying methods.
Pascal Costanza, Charlotte Herzeel, Jorge Vallejos, Theo D'Hondt
DLS4
2008 Experiences in modularizing business rules into aspects
abstract
This paper provides an experience report on the use of aspect-oriented technology as a means to modularize the implementation of business rules in an object-oriented, large scale case study. The goal of this refactoring of the system was to provide a proof-of-concept implementation of how such an aspect-oriented solution can improve the modularity and the extensibility of the business rule implementation. This paper focusses on the approach taken in refactoring the system and the difficulties of integrating the aspect solution into the build process.
Andy Kellens, Kris De Schutter, Theo D'Hondt, Viviane Jonckers, Hans Doggen
ICSM3
2008 Application-specific models and pointcuts using a logic metalanguage
Johan Brichau, Andy Kellens, Kris Gybels, Kim Mens, Robert Hirschfeld, Theo D'Hondt
Comput. Lang. Syst. Struct.6
2008 KALA: Kernel aspect language for advanced transactions
Johan Fabry, Éric Tanter, Theo D'Hondt
Sci. Comput. Program.3
2007 Behavioral similarity matching using concrete source code templates in logic queries
abstract
Program query languages and pattern-detection techniques are an essential part of program analysis and manipulation systems. Queries and patterns permit the identification of the parts of interest in a program's implementation through a representation dedicated to the intent of the system (e.g. call-graphs to detect behavioral flaws, abstract syntax trees for transformations, concrete source code to verify programming conventions, etc). This requires that developers understand and manage all the different representations and techniques in order to detect various patterns of interest. To alleviate this overhead, we present a logic-based language that allows the program's implementation to be queried using concrete source code templates. The queries are matched against a combination of structural and behavioral program representations, including call-graphs, points-to analysis results and abstract syntax trees. The result of our approach is that developers can detect patterns in the queried program using source code excerpts (embedded in logic queries) which act as prototypical samples of the structure and behavior they intend to match.
Coen De Roover, Theo D'Hondt, Johan Brichau, Carlos Noguera, Laurence Duchien
PEPM2
2007 Tranquility: A Low Disruptive Alternative to Quiescence for Ensuring Safe Dynamic Updates
abstract
This paper revisits a problem that was identified by Kramer and Magee: placing a system in a consistent state before and after runtime changes. We show that their notion of quiescence as a necessary and sufficient condition for safe runtime changes is too strict and results in a significant disruption in the application being updated. In this paper, we introduce a weaker condition: tranquillity. We show that tranquillity is easier to obtain and less disruptive for the running application but still a sufficient condition to ensure application consistency. We present an implementation of our approach on a component middleware platform and experimentally verify the validity and practical applicability of our approach using data retrieved from a case study.
Yves Vandewoude, Peter Ebraert, Yolande Berbers, Theo D'Hondt
IEEE Trans. Software Eng.4
2006 Ambient-Oriented Programming in AmbientTalk
Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Theo D'Hondt, Wolfgang De Meuter
ECOOP4
2006 An alternative to Quiescence: Tranquility
abstract
This paper revisits a problem that was identified by Kramer and Magee: placing a system in a consistent state before and after runtime changes (1990). We show that their notion of quiescence as a necessary and sufficient condition for safe runtime changes is too strict and violates the black-box design principle. We introduce a weaker condition, tranquility; easier to obtain, less disruptive for the system and still sufficient to ensure application consistency. We also present an implementation of this concept in a component middleware platform
Yves Vandewoude, Peter Ebraert, Yolande Berbers, Theo D'Hondt
ICSM4
2006 An Approach to High-Level Behavioral Program Documentation Allowing Lightweight Verification
abstract
Typically, multiple developers are involved in the various stages of the software development and maintenance process. To ensure an optimal transfer of knowledge between these different peers, a reliable human-readable model of the dynamics of a software artefact is needed. Once these models become machine-verifiable, they can be used throughout an application’s lifetime to check whether the documented behavioral properties continue to hold as the application evolves. Unfortunately, most existing modeling media are inadequate to express human-readable behavioral models which are at the same time machine-verifiable. We therefore propose a declarative platform wherein behavioral program models can be expressed in terms of userdefined high-level concepts and be automatically verified against an application’s actual behavior. We demonstrate our approach by using it to both document and verify an interpreter for a garbage-collected programming language.
Coen De Roover, Isabel Michiels, Kim Gybels, Kris Gybels, Theo D'Hondt
ICPC5
2006 Combining fuzzy logic and behavioral similarity for non-strict program validation
abstract
The quality of an application's implementation can be assured by validating the presence or absence of a set of user-prescribed software patterns such as software engineering best practices, programming conventions and indications of poor programming. Most of the existing pattern detection techniques, however, interpret pattern descriptions in an inflexible manner, leaving the quality assurance tool to approve only the most strictly adhering pattern implementations. In order to detect various concrete pattern implementations using a single pattern description, we have combined logic meta programming ---wherein patterns can be expressed as constraints over facts representing a program's source code---, fuzzy logic and static program analysis in a way that is completely transparent to the end-user. We have achieved this by having the conditions in a logic rule interpreted as constraints over the run-time behavior source code constructs give rise to instead of as constraints over the literal source code constructs themselves. This way, a pattern's abstract description often suffices to recognize various concrete implementation variants with an indication of the similarity between the recognized implementation and the abstract pattern description
Coen De Roover, Johan Brichau, Theo D'Hondt
PPDP3
2006 Program Testing Using High-Level Property-Driven Models
Isabel Michiels, Coen De Roover, Johan Brichau, Elisa Gonzalez Boix, Theo D'Hondt
SEKE5
2005 On the stability of a dynamic stochastic capacity pricing scheme for resource allocation in a multi-agent environment
Alain Gaetan Njimolu Anyouzoa, Theo D'Hondt
Web Intell. Agent Syst.2
2004 On the Stability of a Dynamic Stochastic Capacity Pricing Scheme for Resource Allocation in a Multi-agent Environment
Alain Gaetan Njimolu Anyouzoa, Theo D'Hondt
PRICAI2
2003 High-Speed Migration by Anticipative Mobility
Luk Stoops, Karsten Verelst, Tom Mens, Theo D'Hondt
HiPC4
2000 Automating Support for Software Evolution in UML
Tom Mens, Theo D'Hondt
Autom. Softw. Eng.2
1996 Reuse Contracts: Managing the Evolution of Reusable Assets
abstract
A critical concern in the reuse of software is the propagation of changes made to reusable artifacts. Without techniques to manage these changes, multiple versions of these artifacts will propagate through different systems and reusers will not be able to benefit from improvements to the original artifact. We propose to codify the management of change in a software system by means of reuse contracts that record the protocol between managers and users of a reusable asset. Just as real world contracts can be extended, amended and customised, reuse contracts are subject to parallel changes encoded by formal reuse operators: extension, refinement and concretisation. Reuse contracts and their operators serve as structured documentation and facilitate the propagation of changes to reusable assets by indicating how much work is needed to update previously built applications, where and how to test and how to adjust these applications.
Patrick Steyaert, Carine Lucas, Kim Mens, Theo D'Hondt
OOPSLA4
1993 Nested Mixin-Methods in Agora
Patrick Steyaert, Wim Codenie, Theo D'Hondt, Koen De Hondt, Carine Lucas, Marc Van Limberghen
ECOOP3