@article {599, title = {Domains: Sharing state in the communicating event-loop actor model}, journal = {Computer Languages, Systems \& Structures}, volume = {45}, year = {2016}, pages = {132 - 160}, abstract = {

Abstract The actor model is a message-passing concurrency model that avoids deadlocks and low-level data races by construction. This facilitates concurrent programming, especially in the context of complex interactive applications where modularity, security and fault-tolerance are required. The tradeoff is that the actor model sacrifices expressiveness and safety guarantees with respect to parallel access to shared state. In this paper we present domains as a set of novel language abstractions for safely encapsulating and sharing state within the actor model. We introduce four types of domains, namely immutable, isolated, observable and shared domains that each is tailored to a certain access pattern on that shared state. The domains are characterized with an operational semantics. For each we discuss how the actor model{\~A}{\textemdash}{\^A}{\textthreesuperior}s safety guarantees are upheld even in the presence of conceptually shared state. Furthermore, the proposed language abstractions are evaluated with a case study in Scala comparing them to other synchronization mechanisms to demonstrate their benefits in deadlock freedom, parallel reads, and enforced isolation.

}, keywords = {Race-free mutation}, issn = {1477-8424}, doi = {http://dx.doi.org/10.1016/j.cl.2016.01.003}, url = {http://www.sciencedirect.com/science/article/pii/S147784241600004X}, author = {Joeri De Koster and Stefan Marr and Tom Van Cutsem and Theo D{\~A}{\textemdash}{\^A}{\textthreesuperior}Hondt} } @booklet {602, title = {An Exploratory Study into the Prevalence of Botched Code Integrations}, year = {2016}, abstract = {

Integrating code from different sources can be an error-prone and effort- intensive process. While an integration may appear statically sound, unexpected errors may still surface at run time. The industry practice of continuous delivery aims to detect these and other run-time errors through an extensive pipeline of successive tests. Travis CI is a con- tinuous delivery system that is free to use for open-source projects on GitHub. Of interest to researchers is the fact that Travis CI makes the outcome of each stage in the continuous delivery pipeline available through its API. At the seminar, we will present the initial results of an exploratory study on the prevalence of integration errors. We have linked GitHub{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\quotedblbase}{\textcent}s information about integration efforts with Travis CI{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\quotedblbase}{\textcent}s information about the integration outcome to this end.

}, keywords = {code integration, empirical, github, merging, travis ci}, url = {https://soft.vub.ac.be/~wmuylaer/publications/sattose2016.pdf}, author = {Ward Muylaert and Wolfgang De Meuter and Coen De Roover} } @conference {601, title = {{Transactional Tasks: Parallelism in Software Transactions}}, booktitle = {30th European Conference on Object-Oriented Programming (ECOOP 2016)}, year = {2016}, publisher = {Schloss Dagstuhl{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}Leibniz-Zentrum fuer Informatik}, organization = {Schloss Dagstuhl{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}Leibniz-Zentrum fuer Informatik}, address = {Rome. Italy}, isbn = {978-3-95977-014-9}, doi = {http://dx.doi.org/10.4230/LIPIcs.ECOOP.2016.23}, url = {http://drops.dagstuhl.de/opus/volltexte/2016/6117}, author = {Janwillem Swalens and Joeri De Koster and Wolfgang De Meuter} } @proceedings {431, title = {A Declarative Foundation for Comprehensive History Querying}, year = {2015}, url = {http://soft.vub.ac.be/Publications/2015/vub-soft-tr-15-05.pdf}, author = {Reinout Stevens} } @article {403, title = {Domains: Safe sharing among actors}, journal = {Science of Computer Programming}, volume = {98, Part 2}, year = {2015}, pages = {140 - 158}, keywords = {Race-free mutation}, issn = {0167-6423}, doi = {http://dx.doi.org/10.1016/j.scico.2014.02.008}, url = {http://www.sciencedirect.com/science/article/pii/S0167642314000495}, author = {Joeri De Koster and Stefan Marr and Theo D{\textquoteright}Hondt and Tom Van Cutsem} } @article {413, title = {Effort discounting and its association with negative symptoms in schizophrenia}, journal = {Cognitive Neuropsychiatry, Impact factor in 2013: 2.176}, year = {2015}, month = {Mar-01-2015}, pages = {1 - 14}, issn = {1354-6805}, doi = {10.1080/13546805.2014.993463}, url = {http://www.tandfonline.com/doi/abs/10.1080/13546805.2014.993463}, author = {Docx, Lise and de la Asuncion, Javier and Sabbe, Bernard and Hoste, Lode and Baeten, Robin and Warnaerts, Nattapon and Morrens, Manuel} } @conference {541, title = {A Formal Foundation for Trace-based JIT Compilers}, booktitle = {Proceedings of the 13th International Workshop on Dynamic Analysis}, year = {2015}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {dynamic analysis, operational semantics, tracing JIT compilation}, isbn = {978-1-4503-3909-4}, doi = {10.1145/2823363.2823369}, url = {http://doi.acm.org/10.1145/2823363.2823369}, author = {Maarten Vandercammen and Nicolay, Jens and Stefan Marr and Joeri De Koster and D{\textquoteright}Hondt, Theo and Coen De Roover} } @conference {539, title = {Indexing RETE{\textquoteright}s Working Memory: Catering to Dynamic Changes of the Ruleset}, booktitle = {REBLS: Workshop on Reactive and Event-based Languages \& Systems {\textquoteright}15}, year = {2015}, month = {10/2015}, abstract = {

Complex Event Processing systems are used to detect patterns in large streams of events. These patterns are described by rules. Due to changing requirements or updated security policies for example, these rules need to be frequently updated at runtime. Changing the ruleset at runtime, however, is a costly operation because the events that occurred in the past need to be re-evaluated. In this paper we present an extension to the pattern-matching algorithm called RETE. Our extension aims to improve the performance of the re-evaluation of events when the ruleset is modified. More specifically, we optimise the addition of rules that match events by means of the inequality operators \>, {\~A}{\textcent}{\^a}{\texteuro}{\textdegree}{\^A}{\textyen}, \< and {\~A}{\textcent}{\^a}{\texteuro}{\textdegree}{\^A}¤. We do this by introducing indexes to order the events that are stored in the working memory. Afterwards, we measure our performance improvements on targeted micro-benchmarks.

}, keywords = {Dynamic Ruleset, indexing, rete}, url = {http://soft.vub.ac.be/Publications/2015/vub-soft-tr-15-11.pdf}, author = {Van de Water, Simon and Renaux, Thierry and Hoste, Lode and Wolfgang De Meuter} } @conference {540, title = {Just-in-time Data Structures}, booktitle = {2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!)}, year = {2015}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {algorithms, data structures, dynamic reclassification, performance}, isbn = {978-1-4503-3688-8}, doi = {10.1145/2814228.2814231}, url = {http://doi.acm.org/10.1145/2814228.2814231}, author = {De Wael, Mattias and Stefan Marr and Joeri De Koster and Sartor, Jennifer B. and Wolfgang De Meuter} } @conference {543, title = {Just-in-time Data Structures: Towards Declarative Swap Rules}, booktitle = {Proceedings of the 13th International Workshop on Dynamic Analysis}, year = {2015}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {algorithms, data structures, dynamic reclassification, performance}, isbn = {978-1-4503-3909-4}, doi = {10.1145/2823363.2823371}, url = {http://doi.acm.org/10.1145/2823363.2823371}, author = {De Wael, Mattias} } @article {410, title = {Parallel gesture recognition with soft real-time guarantees}, journal = {Science of Computer Programming}, volume = {98, Part 2}, year = {2015}, pages = {159 - 183}, abstract = {

Abstract Using imperative programming to process event streams, such as those generated by multi-touch devices and 3D cameras, has significant engineering drawbacks. Declarative approaches solve common problems but so far, they have not been able to scale on multicore systems while providing guaranteed response times. We propose PARTE, a parallel scalable complex event processing engine that allows for a declarative definition of event patterns and provides soft real-time guarantees for their recognition. The proposed approach extends the classical Rete algorithm and maps event matching onto a graph of actor nodes. Using a tiered event matching model, PARTE provides upper bounds on the detection latency by relying on a combination of non-blocking message passing between Rete nodes and safe memory management techniques. The performance evaluation shows the scalability of our approach on up to 64 cores. Moreover, it indicates that PARTE{\textquoteright}s design choices lead to more predictable performance compared to a PARTE variant without soft real-time guarantees. Finally, the evaluation indicates further that gesture recognition can benefit from the exposed parallelism with superlinear speedups.

}, keywords = {multicore}, issn = {0167-6423}, doi = {http://dx.doi.org/10.1016/j.scico.2014.02.012}, url = {http://www.sciencedirect.com/science/article/pii/S016764231400063X}, author = {Stefan Marr and Renaux, Thierry and Hoste, Lode and Wolfgang De Meuter} } @article {542, title = {Partitioned Global Address Space Languages}, journal = {ACM Comput. Surv.}, volume = {47}, year = {2015}, pages = {62:1{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}62:27}, keywords = {data access, data distribution, HPC, message passing, one-sided communication, Parallel programming, PGAS, survey}, issn = {0360-0300}, doi = {10.1145/2716320}, url = {http://doi.acm.org/10.1145/2716320}, author = {De Wael, Mattias and Marr, Stefan and De Fraine, Bruno and Van Cutsem, Tom and De Meuter, Wolfgang} } @conference {427, title = {Tierless Programming in JavaScript}, booktitle = {37th International Conference on Software Engineering (ICSE 2015)}, year = {2015}, month = {05/16}, publisher = {IEEE}, organization = {IEEE}, abstract = {Whereas {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\r A}{\textquotedblleft}responsive{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^A} web applications already offered a more desktop-like experience, there is an increasing user demand for {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\r A}{\textquotedblleft}rich{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^A} web applications (RIAs) that offer collaborative and even off-line functionality. Realizing these qualities requires distributing previously centralized application logic and state vertically from the server to a client tier (e.g., for desktop- like and off-line client functionality), and horizontally between instances of the same tier (e.g., for collaborative client function- ality and for scaling of resource-starved services). Both bring about the essential complexity of distributing application assets and maintaining their consistency, along with the accidental complexity of reconciling a myriad of heterogenous tier-specific technology. Tierless programming languages enable developing web applications as a single artefact that is automatically split in tier-specific code {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}resulting in a development process akin to that of a desktop application. This relieves developers of distribution and consistency concerns, as well as the need to align different tier-specific technologies. However, programmers still have to adopt a new and perhaps esoteric language. We therefore advocate developing tierless programs in a general- purpose language instead. In this poster, we introduce our approach to tierless programming in JavaScript. We expand upon our previous work by identifying development challenges arising from this approach that could be resolved through tool support.}, url = {http://soft.vub.ac.be/Publications/2015/vub-soft-tr-15-03.pdf}, author = {Laure Philips and Wolfgang De Meuter and Coen De Roover} } @article {vantcutsem14ambienttalk, title = {AmbientTalk: programming responsive mobile peer-to-peer applications with actors}, journal = {Computer Languages, Systems and Structures, SCI Impact factor in 2013: 0.296, 5 year impact factor 0.329 (to appear)}, year = {2014}, publisher = {Elsevier}, abstract = {The rise of mobile computing platforms has given rise to a new class of applications: mobile applications that interact with peer applications running on neighbouring phones. Developing such applications is challenging because of problems inherent to concurrent and distributed programming, and because of problems inherent to mobile networks, such as the fact that wireless network connectivity is often intermittent, and the lack of centralized infrastructure to coordinate the peers. We present AmbientTalk, a distributed programming language designed specifically to develop mobile peer-to-peer applications. AmbientTalk aims to make it easy to develop mobile applications that are resilient to network failures by design. We describe the language{\textquoteright}s concurrency and distribution model in detail, as it lies at the heart of AmbientTalk{\textquoteright}s support for responsive, resilient application development. The model is based on communicating event loops, itself a descendant of the actor model. We contribute a small-step operational semantics for this model and use it to establish data race and deadlock freedom.}, issn = {1477-8424}, author = {Tom Van Cutsem and Elisa Gonzalez Boix and Christophe Scholliers and Andoni Lombide Carreton and Dries Harnie and Kevin Pinte and Wolfgang De Meuter}, editor = {Nick Benton} } @conference {Chavarriaga-qosa2014, title = {{Architectural Tactics Support in Cloud Computing Providers: the Jelastic Case}}, booktitle = {Proceedings of the 10th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA{\textquoteright}14), Lille, France, June 30 - July 04, 2014}, year = {2014}, pages = {13-22}, publisher = {ACM}, organization = {ACM}, isbn = {978-1-4503-2576-9}, doi = {http://doi.acm.org/10.1145/2602576.2602580}, author = {Jaime Chavarriaga and Carlos Noguera and Rubby Casallas and Viviane Jonckers}, editor = {Lionel Seinturier and Tomas Bures and John D. McGregor} } @conference {71, title = {Building Development Tools Interactively using the Ekeko Meta-Programming Library}, booktitle = {Proceedings of the IEEE CSMR-WCRE 2014 Software Evolution Week, Tool Demo Track (CSMR-WCRE14)}, year = {2014}, url = {http://soft.vub.ac.be/Publications/2013/vub-soft-tr-13-22.pdf}, author = {Coen De Roover and Reinout Stevens} } @inbook {319, title = {Building Source Code-Based Recommendation Systems}, booktitle = {Recommendation Systems in Software Engineering}, year = {2014}, doi = {10.1007/978-3-642-45135-5_5}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/bc-2014-rsse.pdf}, author = {Kim Mens and Lozano, Angela} } @conference {Zama1403:Citizen, title = {Citizen-Friendly Participatory Campaign Support}, booktitle = {2014 IEEE International Conference on Pervasive Computing and Communications Work in Progress (PerCom WiP{\textquoteright}14)}, year = {2014}, address = {Budapest, Hungary}, abstract = {

Participatory sensing, which appropriates wearable devices such as mobile phones to enable ad-hoc, person-centric mobile sensing networks, has the potential of delivering datasets with high spatio-temporal granularity. We argue that to obtain such datasets the concept of a participatory campaign, a recipe for gathering data to answer a particular concern, is essential, and that technological support for organising such campaigns is currently lacking. Campaign support is crucial to ensure that a dataset of adequate quality is gathered to study the concern under consideration, and additionally, to empower communities by providing them with a tool to answer local concerns and set up grassroots sensing actions without having to wait for an institutionalised action to take place. In this article we present a proof-of-concept architecture for participatory campaigns. The latter is built upon a formal definition of a campaign and the description of a campaign lifecycle, both of which are distilled out of earlier expertise with and related work on organising participatory sensing campaigns.

}, author = {Jesse Zaman and Ellie D{\textquoteright}Hondt and Elisa Gonzalez Boix and Eline Philips and Kennedy Kambona and Wolfgang De Meuter} } @conference {318, title = {Clones and Macro co-changes}, booktitle = {8th International Workshop on Software Clones}, year = {2014}, publisher = {ECEASST}, organization = {ECEASST}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/clonesAndMacroChanges.pdf}, author = {Lozano, Angela and Jaafar, Fehmi and Kim Mens and Gu{\~A}{\textflorin}{\^A}{\textcopyright}h{\~A}{\textflorin}{\^A}{\textcopyright}neuc, Yann Gael} } @conference {409, title = {Criteria, Challenges and Opportunities for Gesture Programming Languages}, booktitle = {Proceedings of EGMI 2014, 1st International Workshop on Engineering Gestures for Multimodal Interfaces}, year = {2014}, month = {06/2014}, address = {Rome, Italy}, url = {https://soft.vub.ac.be/~lhoste/dokuwiki/doku.php/publications/bibtex$\#$criteria_challenges_and_opportunities_for_gesture_programming_languages}, author = {Hoste, Lode and Signer, Beat} } @conference {545, title = {Data Interface + Algorithms = Efficient Programs: Separating Logic from Representation to Improve Performance}, booktitle = {Proceedings of the 9th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems PLE}, year = {2014}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {algorithms, data structures, performance}, isbn = {978-1-4503-2914-9}, doi = {10.1145/2633301.2633303}, url = {http://doi.acm.org/10.1145/2633301.2633303}, author = {De Wael, Mattias and Marr, Stefan and De Meuter, Wolfgang} } @article {gonzalez13debugging, title = {Distributed debugging for mobile networks}, journal = {Journal of Systems and Software, SCI Impact factor in 2013:1.135 (5-year impact factor 1.322)}, volume = {90}, year = {2014}, month = {April}, pages = {76{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}90}, publisher = {John Wiley \& Sons, Inc.}, issn = {0164-1212}, doi = {http://dx.doi.org/10.1016/j.jss.2013.11.1099}, url = {http://www.sciencedirect.com/science/article/pii/S0164121213002811}, author = {Elisa Gonzalez Boix and Carlos Noguera and Wolfgang De Meuter} } @conference {343, title = {The {Ekeko/X} Program Transformation Tool}, booktitle = {Proceedings of 14th IEEE International Working Conference on Source Code Analysis and Manipulation, Tool Demo Track (SCAM14)}, year = {2014}, author = {Coen De Roover and Inoue, Katsuro} } @conference {335, title = {Explaining why methods change together}, booktitle = {Proc. of the 14th IEEE Int{\textquoteright}l Working Conference on Source Code Analysis and Manipulation}, year = {2014}, publisher = {IEEE Computer Society}, organization = {IEEE Computer Society}, address = {Washington, DC, USA}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/scamFinal3.pdf}, author = {Lozano, Angela and Carlos Noguera and Viviane Jonckers} } @conference {62, title = {Features on Demand}, booktitle = {Proceedings of the 8th International Workshop on Variability Modelling of Software-intensive Systems}, year = {2014}, month = {January}, publisher = {ACM}, organization = {ACM}, isbn = {978-1-4503-2556-1/14/01}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Kim Mens and Sebasti{\~A}{\textflorin}{\^A}{\textexclamdown}n Gonz{\~A}{\textflorin}{\^A}{\textexclamdown}lez and Pierre-Yves Orban and Wolfgang De Meuter} } @conference {544, title = {Fork/Join Parallelism in the Wild: Documenting Patterns and Anti-patterns in Java Programs Using the Fork/Join Framework}, booktitle = {Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools}, year = {2014}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {anti-patterns, empirical study, fork/join, java, open source projects, patterns}, isbn = {978-1-4503-2926-2}, doi = {10.1145/2647508.2647511}, url = {http://doi.acm.org/10.1145/2647508.2647511}, author = {De Wael, Mattias and Marr, Stefan and Van Cutsem, Tom} } @booklet {scholliers14graph, title = {A Graph Database Storage Model for Change-Oriented Software Development}, howpublished = {Poster at the 2nd Workshop on Graph-based Technologies and Applications (Graph-TA)}, year = {2014}, author = {Christophe Scholliers and Coen De Roover and Elisa Gonzalez Boix} } @conference {340, title = {Identifying Source Code Reuse across Repositories using LCS-based Source Code Similarity}, booktitle = {Proceedings of 14th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM14)}, year = {2014}, author = {Kawamitsu, Naohiro and Ishio, Takashi and Kanda, Tetsuya and Kula, Raula Gaikovina and Coen De Roover and Inoue, Katsuro} } @article {68, title = {The Implementation of the Cha-Q Meta-Model: A Comprehensive, Change-Centric Software Representation}, year = {2014}, author = {Coen De Roover and Christophe Scholliers and Viviane Jonckers and P{\~A}{\textflorin}{\^A}{\textcopyright}rez, Javier and Murgia, Alessandro and Demeyer, Serge} } @article {342, title = {The Implementation of the {Cha-Q} Meta-Model: A Comprehensive, Change-Centric Software Representation}, journal = {Electronic Communications of the EASS}, volume = {65}, year = {2014}, author = {Coen De Roover and Christophe Scholliers and Viviane Jonckers and P{\~A}{\textflorin}{\^A}{\textcopyright}rez, Javier and Murgia, Alessandro and Demeyer, Serge} } @article {69, title = {A Logic Foundation for a General-Purpose History Querying Tool}, journal = {Elsevier Journal on Science of Computer Programming}, year = {2014}, author = {Reinout Stevens and Coen De Roover and Carlos Noguera and Kellens, Andy and Viviane Jonckers} } @inbook {352, title = {Objects in Space}, booktitle = {Concurrent Objects and Beyond}, series = {Lecture Notes in Computer Science}, volume = {8665}, year = {2014}, pages = {317-340}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, abstract = {The paper presents a research agenda that we are currently executing for programming mobile applications that write and read information to and from passive RFID tags. Modern tags can host up to several kilobytes of information which makes it possible to store real software objects (in the object-oriented sense) that can even refer to each other. This gives the term {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\"E}{\oe}spatial database{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\quotedblbase}{\textcent} an entirely new meaning. The paper motivates the need for new programming language constructs that are specifically targeted towards representing objects on tags, designating specific tags in the application{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\quotedblbase}{\textcent}s proximity and keeping the internal status of the mobile application causally connected to its physical surrounding.}, isbn = {978-3-662-44470-2}, doi = {10.1007/978-3-662-44471-9_14}, url = {http://dx.doi.org/10.1007/978-3-662-44471-9_14}, author = {Wolfgang De Meuter and Andoni Lombide Carreton and Kevin Pinte and Stijn Mostinckx and Tom Van Cutsem}, editor = {Agha, Gul and Igarashi, Atsushi and Kobayashi, Naoki and Masuhara, Hidehiko and Matsuoka, Satoshi and Shibayama, Etsuya and Taura, Kenjiro} } @conference {220, title = {An Open Implementation of Cloud Types for the Web}, booktitle = {Proceedings of the First Workshop on Principles and Practice of Eventual Consistency}, year = {2014}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {authorization, cloud types, eventual consistency, javascript, web applications}, isbn = {978-1-4503-2716-9}, doi = {10.1145/2596631.2596640}, url = {http://doi.acm.org/10.1145/2596631.2596640}, author = {Coppieters, Tim and Laure Philips and Wolfgang De Meuter and Tom Van Cutsem} } @conference {dhondt14orchestration, title = {Orchestration Support for Participatory Sensing Campaigns}, booktitle = {ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp 2014) (to appear)}, year = {2014}, month = {September}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, author = {Ellie D{\textquoteright}Hondt and Jesse Zaman and Eline Philips and Elisa Gonzalez Boix and Wolfgang De Meuter} } @article {Drosatos2014, title = {{P}rivacy-{P}reserving {C}omputation of {P}articipatory {N}oise {M}aps in the {C}loud}, journal = {Journal of Systems and Software}, volume = {92}, year = {2014}, note = {http://www.sciencedirect.com/science/article/pii/S0164121214000430}, month = {June}, pages = {170{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}183}, abstract = {Participatory sensing is a crowd-sourcing technique which relies both on active contribution of citizens and on their location and mobility patterns. As such, it is particularly vulnerable to privacy concerns, which may seriously hamper the large-scale adoption of participatory sensing applications. In this paper, we present a privacy-preserving system architecture for participatory sensing contexts which relies on cryptographic techniques and distributed computations in the cloud. Each individual user is represented by a personal software agent, which runs in the cloud. The system enables individuals to aggregate and analyse sensor data by performing collaborative distributed computations among multiple agents. No personal data is disclosed to anyone, including the cloud service providers. The distributed computation proceeds by having agents execute a cryptographic protocol based on a homomorphic encryption scheme in order to aggregate data. We show that our architecture is secure in the Honest-But-Curious model both for the users and the cloud service providers. Our approach was implemented and validated on top of the NoiseTube system, which enables participatory sensing of noise. In particular, we repeated several mapping experiments carried out with NoiseTube, and show that our system is able to produce identical outcomes in a privacy-preserving way. We experimented with real and artificially generated data sets, and present a live demo running on a heterogeneous set of commercial cloud providers. The results show that our approach goes beyond a proof-of-concept and can actually be deployed in a real-world setting. To the best of our knowledge this system is the first operational privacy-preserving approach for participatory sensing. While validated in terms of NoiseTube, our approach is suitable for just about any participatory sensing system, even beyond the domain of environmental monitoring.}, keywords = {Citizen science, Cloud computing, Environmental monitoring, Noise mapping, Participatory sensing, Privacy-preserving computation}, issn = {0164-1212}, doi = {10.1016/j.jss.2014.01.035}, author = {George Drosatos and Pavlos S. Efraimidis and Ioannis N. Athanasiadis and Matthias Stevens and Ellie D{\textquoteright}Hondt} } @article {160, title = {Parallel actor monitors: Disentangling task-level parallelism from data partitioning in the actor model}, journal = {Sci. Comput. Program.}, volume = {80}, year = {2014}, pages = {52-64}, author = {Christophe Scholliers and {\~A}{\textflorin}{\^a}{\texteuro}{\textdegree}ric Tanter and Wolfgang De Meuter} } @conference {271, title = {Prevalence and Maintenance of Automated Functional Tests for Web Applications}, booktitle = {International Conference on Software Maintenance and Evolution}, year = {2014}, author = {Laurent Christophe and Reinout Stevens and Coen De Roover and Wolfgang De Meuter} } @article {gonzalezboix13totam, title = {Programming Mobile Context-aware Applications with {TOTAM}}, journal = {Journal of Systems and Software, SCI Impact factor in 2013:1.135 (5-year impact factor 1.322)}, volume = {92}, year = {2014}, month = {June}, pages = {3{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}19}, publisher = {John Wiley \& Sons, Inc.}, issn = {0164-1212}, doi = {http://dx.doi.org/10.1016/j.jss.2013.07.031}, author = {Elisa Gonzalez Boix and Christophe Scholliers and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @article {harnie14urban, title = {Programming Urban-area Applications by Exploiting Public Transportation}, journal = {ACM Transactions on Autonomous and Adaptive Systems (TAAS), SCI Impact factor in 2013: 1.00, 5 year impact factor 1.302}, volume = {9}, year = {2014}, month = {07/2014}, pages = {1516{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}1521}, publisher = {ACM}, address = {New York, NY, USA}, issn = {1556-4665}, doi = {10.1145/2619999}, author = {Dries Harnie and Elisa Gonzalez Boix and Wolfgang De Meuter and Theo D{\textquoteright}Hondt}, editor = {Prof. Manish Parashar and Prof. Franco Zambonelli} } @conference {Chavarriaga-models2014, title = {{Propagating Decisions to Detect and Explain Conflicts in a Multi-step Configuration Process}}, booktitle = {Proceedings of the 17th ACM/IEEE International Conference on Model-Driven Engineering Languages and Systems (MODELS 2014), Valencia, Spain, September 28 - October 3, 2014.}, year = {2014}, pages = {337{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}352}, publisher = {Springer}, organization = {Springer}, isbn = {978-3-319-11652-5}, doi = {http://dx.doi.org/10.1007/978-3-319-11653-2_21}, author = {Jaime Chavarriaga and Carlos Noguera and Rubby Casallas and Viviane Jonckers}, editor = {J{\~A}{\textflorin}{\^A}{\textonequarter}rgen Dingel and Wolfram Schulte and Isidro Ramos and Silvia Abrah{\~A}{\textflorin}{\^A}{\textsterling}o and Emilio Insfr{\~A}{\textflorin}{\^A}{\textexclamdown}n} } @conference {345, title = {Querying the History of Software Projects using {QwalKeko}}, booktitle = {Proceedings of the 30th International Conference on Software Maintenance and Evolution, Tool Demo Track, (ICSMe14)}, year = {2014}, keywords = {ekeko, history querying}, author = {Reinout Stevens and Coen De Roover} } @conference {344, title = {Run-time Validation of Behavioral Adaptations}, booktitle = {Proceedings of the 6th International Workshop on Context-Oriented Programming (COP14)}, year = {2014}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Laurent Christophe and Coen De Roover and Wolfgang De Meuter} } @conference {414, title = {Software Engineering Principles in the Midas Gesture Specification Language}, booktitle = {Proceedings of PRoMoTo 2014, 2nd International Workshop on Programming for Mobile and Touch}, year = {2014}, month = {(to appear)}, address = {Portland, Oregon, USA}, author = {Renaux, Thierry and Hoste, Lode and Stefan Marr and Wolfgang De Meuter} } @proceedings {175, title = {Towards Composable Concurrency Abstractions}, year = {2014}, month = {04/2014}, abstract = {

In the past decades, many different programming models for managing concurrency in applications have been proposed, such as the actor model, Communicating Sequential Processes, and Software Transactional Memory. The ubiquity of multi-core processors has made harnessing concurrency even more important. We observe that modern languages, such as Scala, Clojure, or F$\#$, provide not one, but multiple concurrency models that help developers manage concurrency. Large end-user applications are rarely built using just a single concurrency model. Programmers need to manage a responsive UI, deal with file or network I/O, asynchronous workflows, and shared resources. Different concurrency models facilitate different requirements. This raises the issue of how these concurrency models interact, and whether they are composable. After all, combining different concurrency models may lead to subtle bugs or inconsistencies. In this paper, we perform an in-depth study of the concurrency abstractions provided by the Clojure language. We study all pairwise combinations of the abstractions, noting which ones compose without issues, and which do not. We make an attempt to abstract from the specifics of Clojure, identifying the general properties of concurrency models that facilitate or hinder composition.

}, keywords = {actors, atoms, Clojure, concurrency, CSP, multicore, STM, transactions}, url = {http://soft.vub.ac.be/~jswalens/PLACES2014.pdf}, author = {Janwillem Swalens and Stefan Marr and Joeri De Koster and Tom Van Cutsem} } @conference {341, title = {Towards Tierless Web Development without Tierless Languages}, booktitle = {Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (SPLASH/OnWard!14)}, year = {2014}, keywords = {javascript, program dependence graph, program slicing, tierless programming}, doi = {10.1145/2661136.2661146}, author = {Laure Philips and Coen De Roover and Tom Van Cutsem and Wolfgang De Meuter} } @conference {339, title = {Visualizing the Evolution of Systems and their Library Dependencies}, booktitle = {Proceedings of the 2nd IEEE Working Conference on Software Visualization (VISSOFT14)}, year = {2014}, keywords = {api usage, empirical study, library usage, visualization}, author = {Kula, Raula Gaikovina and Coen De Roover and German, Daniel and Ishio, Takashi and Inoue, Katsuro} } @conference {170, title = {Water Ball Z: An Augmented Fighting Game Using Water as Tactile Feedback}, booktitle = {Proceedings of TEI 2014, 8th International Conference on Tangible, Embedded and Embodied Interaction}, year = {2014}, month = {February}, address = {Munich, Germany}, url = {https://www.academia.edu/5189852/Water_Ball_Z_An_Augmented_Fighting_Game_Using_Water_as_Tactile_Feedback}, author = {Hoste, Lode and Signer, Beat} } @conference {pinte13ambient, title = {Ambient Clouds: Reactive Asynchronous Collections for Mobile Ad Hoc Network Applications}, booktitle = {13th IFIP International Conference on Distributed Applications and Interoperable Systems (COORDINATION{\textquoteright}13)}, series = {Lecture Notes in Computer Science}, volume = {7891}, year = {2013}, pages = {85-98}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, abstract = {In MANET applications, a common pattern is to maintain and query time-varying collections of remote objects. Traditional approaches require programmers to manually track the connectivity state of these remote objects and adding or removing them from local collections on a per-object basis. Queries over these collections have to be manually recomputed whenever the collection or its elements change. The code for maintaining these ad-hoc collections is scattered across the application code and leads to bugs hindering the application development process. In this paper, we propose an object-oriented abstraction called ambient clouds: a collection of objects whose contents are implicitly updated when changes occur. Ambient clouds can be queried and composed using reactive standard query operators. We show how ambient clouds ease the development of a collaborative peer-to-peer drawing application.}, keywords = {collection, language abstraction, mobile ad hoc network, peer-to-peer application}, isbn = {978-3-642-38540-7}, doi = {10.1007/978-3-642-38541-4_7}, url = {http://dx.doi.org/10.1007/978-3-642-38541-4_7}, author = {Kevin Pinte and Andoni Lombide Carreton and Elisa Gonzalez Boix and Wolfgang De Meuter}, editor = {Dowling, Jim and Ta{\~A}{\textflorin}{\^A}{\textasciimacron}ani, Fran{\~A}{\textflorin}{\^A}{\textsection}ois} } @conference {72, title = {Aspectual Source Code Analysis with GASR}, booktitle = {Proceedings of the 13th International Working Conference on Source Code Analysis and Manipulation (SCAM13)}, year = {2013}, abstract = {

Abstract{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}-To be able to modularize crosscutting concerns, aspects introduce new programming language features, often in a new language, with a specific syntax. These new features lead to new needs for source code analysis tools, resulting in the requirement for a general-purpose aspectual source code analysis tool. Ignoring this requirement has led to a nontrivial duplication of effort in the aspect-oriented software development community. This is because all code analysis efforts that we are aware of have either built ad-hoc analysis tools or were performed manually. In this paper we present GASR: a source code analysis tool in the tradition of logic program querying that reasons over ASPECTJ source code. By hooking into the IDE plugins for ASPECTJ, GASR provides a library of predicates that can be used to query aspectual source code. We demonstrate the use of GASR by automating the recognition of a number of previously identified aspectual source code assumptions. We then detect assumption instances on two well-known case studies that were manually investigated in the earlier work. In addition to finding the already known aspect assumptions, GASR encounters assumption instances that were overlooked before.

}, keywords = {Aspectual Assumptions, Logic Program Querying, spect Oriented Programming}, author = {Fabry, Johan and Coen De Roover and Viviane Jonckers} } @conference {351, title = {Blame Prediction}, booktitle = {TFP {\textquoteright}13: Trends in Functional Programming}, year = {2013}, author = {Dries Harnie and Christophe Scholliers and Wolfgang De Meuter}, editor = {McCarthy, Jay} } @conference {168, title = {Cloud PARTE: Elastic Complex Event Processing based on Mobile Actors}, booktitle = {Proceedings of AGERE! 2013, 3rd International Workshop on Programming based on Actors, Agents, and Decentralized Control}, year = {2013}, month = {October}, publisher = {ACM}, organization = {ACM}, address = {Indianapolis, Indiana, USA}, url = {http://soft.vub.ac.be/Publications/2013/vub-soft-tr-13-17.pdf}, author = {Janwillem Swalens and Renaux, Thierry and Hoste, Lode and Stefan Marr and Wolfgang De Meuter} } @article {172, title = {Computational contracts}, journal = {Science of Computer Programming}, year = {2013}, pages = {-}, keywords = {Theory}, issn = {0167-6423}, doi = {http://dx.doi.org/10.1016/j.scico.2013.09.005}, url = {http://www.sciencedirect.com/science/article/pii/S0167642313002347}, author = {Christophe Scholliers and {\~A}{\textflorin}{\^a}{\texteuro}{\textdegree}ric Tanter and Wolfgang De Meuter} } @article {73, title = {CrimeSPOT: a Language and Runtime for Developing Active Wireless Sensor Network Applications}, journal = {Elsevier Journal on Science of Computer Programming - Special issue on Software Engineering Aspects of Ubiquitous Computing and Ambient Intelligence}, volume = {78}, year = {2013}, month = {October}, pages = {1951{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}1970}, keywords = {Programming languages, Software engineering, Ubiquitous computing, Wireless sensor networks}, isbn = {0167-6423}, author = {Coen De Roover and Christophe Scholliers and Amerijckx, Wouter and Theo D{\textquoteright}Hondt and Wolfgang De Meuter} } @conference {164, title = {Declarative Gesture Spotting Using Inferred and Refined Control Points}, booktitle = {Proceedings of ICPRAM 2013, 2nd International Conference on Pattern Recognition Applications and Methods}, year = {2013}, month = {Februari}, address = {Barcelona, Spain}, url = {http://www.academia.edu/2157798/Declarative_Gesture_Spotting_Using_Inferred_and_Refined_Control_Points}, author = {Hoste, Lode and De Rooms, Brecht and Signer, Beat} } @conference {75, title = {Determining Coupling In JavaScript Using Object Type Inference}, booktitle = {Proceedings of the 13th International Working Conference on Source Code Analysis and Manipulation (SCAM13)}, year = {2013}, abstract = {

Coupling in an object-oriented context is often defined in terms of access to instance variables and methods of other classes. JavaScript, however, lacks static type informa- tion and classes, and instead features a flexible object system with prototypal inheritance. In order to determine coupling in JavaScript, we infer object types based on abstract interpretation of a program. Type inference depends on both structure and behavior of objects, and common patterns for expressing classes and modules are supported. We approximate a set of accessed types per function, and classify every access as either local or foreign. Examples demonstrate that our object type inference, together with some additional heuristics concerning property access, enable determining coupling in JavaScript in a meaningful way.

}, keywords = {abstract interpretation, analysis, coupling, javascript, metrics, type inference}, author = {Nicolay, Jens and Carlos Noguera and Coen De Roover and Wolfgang De Meuter} } @conference {150, title = {An Evaluation of Reactive Programming and Promises for Structuring Collaborative Web Applications}, booktitle = {Proceedings of the 7th Workshop on Dynamic Languages and Applications}, year = {2013}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {behaviours, callbacks, event streams, futures, javascript, promises, reactive programming}, isbn = {978-1-4503-2041-2}, doi = {10.1145/2489798.2489802}, url = {http://doi.acm.org/10.1145/2489798.2489802}, author = {Kennedy Kambona and Elisa Gonzalez Boix and Wolfgang De Meuter} } @proceedings {35, title = {Event Loop Coordination Using Meta-programming}, year = {2013}, publisher = {Springer Berlin Heidelberg}, abstract = {Event-based programming is used in different domains, ranging from user interface development to various distributed systems. Combining different event-based subsystems into one system forces the developer to manually coordinate the different event loops of these subsystems. This leads to a lot of excessive code and, in addition, some event loops are prey to lifecycle state changes. On mobile applications, for example, event loops can be shut down when memory runs low on the device. Current approaches take care of the communication problems between the different types of event loops, but become complex when trying to deal with lifecycle state changes. We propose a new coordination model, Elector, that allows two event loops to run separately, and introduce a novel kind of reference, called undead references. These references do not only allow communication between the event loops, but also handle lifecycle state changes in such a way that they do not influence other event loops.}, keywords = {Ambient-oriented programming, Coordination model, Event loops, Mobile platforms}, doi = {10.1007/978-3-642-38493-6_14}, author = {Laure Philips and Dries Harnie and Kevin Pinte and Wolfgang De Meuter} } @conference {167, title = {Expressive Control of Indirect Augmented Reality During Live Music Performances}, booktitle = {Proceedings of NIME 2013, 3th International Conference on New Interfaces for Musical Expression}, year = {2013}, month = {May}, address = {Daejeon + Seoul, Korea Republic}, url = {http://www.academia.edu/3408497/Expressive_Control_of_Indirect_Augmented_Reality_During_Live_Music_Performances}, author = {Hoste, Lode and Signer, Beat} } @conference {389, title = {{A highly-parallel formulation of quantum computing simulation through fine-grained dataflow.}}, booktitle = {Third Workshop on Data-Flow Execution Models for Extreme Scale Computing (DFM 2014)}, year = {2013}, abstract = {

Quantum Computing lies at the frontier of computing, offering a radically different and unconventional model of computation. In the absence of practical quantum computers today, we must simulate their execution. This creates a performance problem, as quantum computing simulation is very costly. However, quantum computing simulation does contain an abundance of parallelism. The research question becomes: how to expose this parallelism? Although it is easy to show the problem inherently contains a large amount of parallelism, the type of parallelism is non-trivial to exploit in a scalable way using current mainstream parallelization techniques. This paper presents the formulation a virtual machine for quantum computing as a finegrained dataflow schema, which aims to expose and exploit the abundance of parallelism in a way that avoids the observed scalability issues. We present the formal mapping from the linear algebra description of elementary quantum operations to dataflow graphs, analyze its theoretical parallel characteristics and present experimental performance results of a prototype implementation.

}, url = {http://soft.vub.ac.be/Publications/2013/vub-soft-tr-13-13.pdf}, author = {Yves Vandriessche and Ellie D{\textquoteright}Hondt and Tom Van Cutsem and D{\textquoteright}Hondt, Theo} } @conference {77, title = {A History Querying Tool and its Application to Detect Multi-version Refactorings}, booktitle = {Proceedings of the 17th European Conference on Software Maintenance and Reengineering (CSMR 2013)}, year = {2013}, author = {Reinout Stevens and Coen De Roover and Carlos Noguera and Viviane Jonckers} } @mastersthesis {64, title = {Identification and Management of Inconsistencies in Dynamicaly Adaptive Software Systems}, year = {2013}, month = {September}, school = {Universit{\~A}{\textflorin}{\^A}{\textcopyright} catholique de Louvain - Vrije Universiteit Brussel}, type = {phd}, address = {Louvain-la-Neuve, Belgium}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo} } @conference {65, title = {Modeling and Analyzing Self-Adaptive Systems with Context Petri Nets}, booktitle = {Proceedings of the Symposyum on Theoretical Aspects of Software Engineering}, year = {2013}, month = {July}, publisher = {IEEE Computer Society}, organization = {IEEE Computer Society}, address = {Birmingham, UK}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Sebasti{\~A}{\textflorin}{\^A}{\textexclamdown}n Gonz{\~A}{\textflorin}{\^A}{\textexclamdown}lez and Kim Mens and Van Der Straeten, Ragnhild and Theo D{\textquoteright}Hondt} } @conference {74, title = {Multi-dimensional Exploration of API Usage}, booktitle = {Proceedings of the 21st IEEE International Conference on Program Comprehension (ICPC13)}, year = {2013}, keywords = {api, api usage, corpus, exploration, mining}, author = {Coen De Roover and Ralf L{\~A}{\textflorin}{\^A}¤mmel and Ekaterina Pek} } @article {89, title = {{NOW}: Orchestrating services in a nomadic network using a dedicated workflow language}, journal = {Science of Computer Programming}, volume = {78}, year = {2013}, month = {feb}, pages = {168{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}194}, keywords = {AmbientTalk, Nomadic network, Service orchestration, Workflow language}, issn = {0167-6423}, doi = {10.1016/j.scico.2011.10.012}, url = {http://dx.doi.org/10.1016/j.scico.2011.10.012}, author = {Eline Philips and Van Der Straeten, Ragnhild and Viviane Jonckers} } @article {353, title = {Object-oriented Reactive Programming is Not Reactive Object-oriented Programming}, journal = {REM{\textquoteright}13}, year = {2013}, abstract = {According to chapter 3 of Abelson \& Sussman [1], there are two fundamentally different ways to organise large systems: according to the objects that live in the system, or according to the streams of values that flow through the system. Even though the notions of {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\r A}{\textquotedblleft}object{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^A} and {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\r A}{\textquotedblleft}stream{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^A} have meanwhile taken many incarnations, the dichotomy still exists in modern programming languages. Marrying reactive programming and OOP is a research endeavour to come up with a unified model that embraces both styles of thinking. We identify two opposing research tracks towards the marriage. Existing work focuses on OO reactive programming, i.e., it uses object technology to compose reactions. Our work explores the converse: in the paper, we present the ROAM (Reactive Objects in AmbientTalk) model which is an experimental framework that explores objects as streams of reactive state.}, author = {Elisa Gonzalez Boix and Kevin Pinte and Van de Water, Simon and Wolfgang De Meuter} } @article {DHondt2013, title = {{P}articipatory noise mapping works! {A}n evaluation of participatory sensing as an alternative to standard techniques for environmental monitoring}, journal = {Pervasive and Mobile Computing}, volume = {9}, number = {5}, year = {2013}, note = {Special issue on Pervasive Urban Applications}, pages = {681-694}, abstract = {Participatory sensing enables a person-centric collection of environmental measurement data with, in principle, high granularity in space and time. In this paper we provide concrete proof that participatory techniques, when implemented properly, can achieve the same accuracy as standard mapping techniques. We do this through a citizen science experiment for noise map- ping a 1 km$^{2}$ area in the city of Antwerp using NoiseTube, a participatory sensing framework for monitoring ambient noise. At the technical side, we set up measuring equipment in accordance with official norms insofar as they apply, also carrying out extensive calibration experiments. At the citizen side, we collaborated with up to 10 volunteers from a citizen-led Antwerp-based action group. From the data gathered we construct purely measurement-based noise maps of the target area with error margins of about 5dB, comparable to those of official simulation-based noise maps. We also report on a survey evaluating NoiseTube, as a system for participative grassroots noise mapping campaigns, from the user perspective.}, keywords = {Citizen science, Environmental policy, Mobile phones, Noise mapping, Participatory sensing}, issn = {1574-1192}, doi = {http://dx.doi.org/10.1016/j.pmcj.2012.09.002}, url = {http://www.sciencedirect.com/science/article/pii/S1574119212001137}, author = {Ellie D{\textquoteright}Hondt and Matthias Stevens and An Jacobs} } @conference {388, title = {{A practical quantum programming framework and its highly-parallel virtual execution}}, booktitle = {First Workshop on Parallel Quantum Computing (ParQ 2013)}, year = {2013}, abstract = {

We present a practical quantum programming framework based on the formal framework of the Measurement Calculus and powered by our high-performance virtual execution engine: the Quantum Virtual Machine. Within this work, we employ various software engineering and high performance computing techniques in order to facilitate the design, composition, transformation, verification and execution of measurement-based quantum programs. Our first contribution lies in the design and construction of the framework itself. We present a complete prototype of the framework, which implements its entire layered architecture, viz. a complete quantum {\textquoteright}software stack{\textquoteright}. Each layer deals with a separate concern, following the logical division lines in the semantics of the Measurement Calculus. Our second contribution is located in the execution layer of the framework: the formulation of the inherent parallelism in measurement-based quantum computing simulation and its high-performance implementation in the form of the Quantum Virtual Machine.

}, url = {http://soft.vub.ac.be/Publications/2013/vub-soft-tr-13-14.pdf}, author = {Yves Vandriessche and Ellie D{\textquoteright}Hondt and D{\textquoteright}Hondt, Theo} } @article {358, title = {Software abstractions for mobile RFID-enabled applications}, journal = {Software: Practice and Experience}, volume = {43}, year = {2013}, pages = {1219{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}1239}, abstract = {Our everyday environments may soon be pervaded with radio frequency identification (RFID) tags integrated in physical objects. These RFID tags can store a digital representation of the physical object and transmit it wirelessly to pervasive, context-aware applications running on mobile devices. However, communicating with RFID tags is prone to many failures inherent to the technology. This hinders the development of such applications, as traditional programming models require the programmer to deal with the RFID hardware characteristics manually. On the other hand, traditional RFID middleware focuses on limited scenarios in an enterprise context and not on general ubiquitous computing scenarios. In this paper, we extend the ambient-oriented programming paradigm to program RFID applications, by considering RFID tags as intermittently connected mutable proxy objects hosted on mobile distributed computing devices, and detail our prototype implementation.}, keywords = {Ambient-oriented programming, mobile RFID-enabled applications, pervasive computing, RFID}, issn = {1097-024X}, doi = {10.1002/spe.1114}, url = {http://dx.doi.org/10.1002/spe.1114}, author = {Andoni Lombide Carreton and Kevin Pinte and Wolfgang De Meuter} } @conference {169, title = {SpeeG2: A Speech- and Gesture-based Interface for Efficient Controller-free Text Input}, booktitle = {Proceedings of ICMI 2013, 15th International Conference on Multimodal Interaction}, year = {2013}, month = {December}, publisher = {http://www.academia.edu/4685517/SpeeG2_A_Speech-_and_Gesture-based_Interface_for_Efficient_Controller-free_Text_Entry}, organization = {http://www.academia.edu/4685517/SpeeG2_A_Speech-_and_Gesture-based_Interface_for_Efficient_Controller-free_Text_Entry}, address = {Sydney, Australia}, author = {Hoste, Lode and Signer, Beat} } @conference {126, title = {Tanks: Multiple Reader, Single Writer Actors}, booktitle = {Proceedings of the 2013 Workshop on Programming Based on Actors, Agents, and Decentralized Control}, year = {2013}, publisher = {ACM}, organization = {ACM}, keywords = {actor model, shared state, synchronisation}, isbn = {978-1-4503-2602-5}, doi = {10.1145/2541329.2541331}, url = {http://doi.acm.org/10.1145/2541329.2541331}, author = {Joeri De Koster and Stefan Marr and Theo D{\textquoteright}Hondt and Tom Van Cutsem} } @conference {pradi13citygml, title = {Using CityGML to deploy smart-city services for urban ecosystems}, booktitle = {International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences 05/2013}, volume = {XL-4/W1}, year = {2013}, month = {May}, pages = {87{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}92}, publisher = {ACM}, organization = {ACM}, author = {Pradi, Federico and De Amicis, Raffaele and Soave, Marco and Piffer, Stefano and Cadzow, Scott W and Elisa Gonzalez Boix and Ellie D{\textquoteright}Hondt} } @conference {100, title = {When Spatial and Temporal Locality Collide: The Case of the Missing Cache Hits}, booktitle = {Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering}, year = {2013}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, abstract = {

Even the simplest hardware, running the simplest programs, can behave in the strangest of ways. Tracking down the cause of a performance anomaly without the complete hardware reference of a processor is a prime example of black-box architectural exploration. When doubling the work of a simple benchmark program, that was run on a single core of Tilera{\textquoteright}s TILEPro64 processor, did not double the number of consumed cycles, a mystery was unveiled. After ruling out different levels of optimization for the two programs, a cycle-accurate simulation attributed the sub-optimal performance to an abnormally high number of L1 data cache misses. Further investigation showed that the processor stalled on every Read-After-Write instruction sequence when the following two conditions were met: 1) there are 0 or 1 instructions between the write and the read instruction and 2) the read and the write instructions target distinct memory locations that share an L1 cache line. We call this performance pitfall a RAW hiccup. We describe two \ countermeasures, memory padding and the explicit introduction of pipeline bubbles, that sidestep the RAW hiccup.

}, keywords = {l1 data cache, padding, pipeline bubble, tilepro64}, isbn = {978-1-4503-1636-1}, doi = {10.1145/2479871.2479883}, url = {http://doi.acm.org/10.1145/2479871.2479883}, author = {De Wael, Mattias and Ungar, David and Tom Van Cutsem} } @conference {320, title = {Automated Assessment of Correctness of Recommendation Systems}, booktitle = {Proc. of the 3rd Int{\textquoteright}l Workshop on Recommendation Systems for Software Engineering}, year = {2012}, publisher = {ACM}, organization = {ACM}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/rsse12.pdf}, author = {Lozano, Angela and Kellens, Andy and Kim Mens} } @article {bainomugisha12bringing, title = {Bringing Scheme programming to the i{P}hone {E}xperience}, journal = {Software: Practice and Experience}, volume = {42}, number = {3}, year = {2012}, month = {March}, pages = {331{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}356}, publisher = {John Wiley \& Sons, Ltd}, keywords = {event-driven programming, interactive scripting environment, iPhone development, language symbiosis, Objective-C, Scheme}, issn = {1097-024X}, doi = {10.1002/spe.1073}, url = {http://dx.doi.org/10.1002/spe.1073}, author = {Bainomugisha, Engineer and Jorge Vallejos and Elisa Gonzalez Boix and Costanza, Pascal and Theo D{\textquoteright}Hondt and Wolfgang De Meuter} } @conference {81, title = {Code Querying by UML}, booktitle = {Proceedings of the 20th IEEE International Conference on Program Comprehension (ICPC12)}, year = {2012}, author = {Carlos Noguera and Coen De Roover and Kellens, Andy and Viviane Jonckers} } @conference {80, title = {Constructing Customized Interpreters from Reusable Evaluators using GAME}, booktitle = {Proceedings of the 11th International Conference on Software Composition (SC12)}, year = {2012}, abstract = {

Separationofconcernsisdifficulttoachieveintheimplemen- tation of a programming language interpreter. We argue that evaluator concerns (i.e., those implementing the operational semantics of the lan- guage) are, in particular, difficult to separate from the runtime concerns (e.g., memory and stack management) that support them. This precludes the former from being reused and limits variability in the latter. In this paper, we present the Game environment for composing cus- tomized interpreters from a reusable evaluator and different variants of its supporting runtime. To this end, Game offers a language for spec- ifying the evaluator according to the generic programming methodol- ogy. Through a transformation into defunctionalized monadic style, the Game toolchain generates a generic abstract machine in which the se- quencing of low-level interpretational steps is parameterized. Given a suitable instantiation of these parameters for a particular runtime, the toolchain is able to inject the runtime into the generic abstract machine such that a complete interpreter is generated. To validate our approach, we port the prototypical Scheme evaluator to Game and compose the resulting generic abstract machine with several runtimes that vary in their automatic memory management as well as their stack discipline.

}, author = {Stijn Timbermont and Coen De Roover and Theo D{\textquoteright}Hondt} } @conference {67, title = {Context Petri Nets: Enabling Consistent Composition of Context-Dependent Behavior}, booktitle = {International Workshop on Petri Nets and Software Engineering}, year = {2012}, month = {June}, publisher = {CEUR}, organization = {CEUR}, url = {http://ceur-ws.org/Vol-851/}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Jorge Vallejos and Sebasti{\~A}{\textflorin}{\^A}{\textexclamdown}n Gonz{\~A}{\textflorin}{\^A}{\textexclamdown}lez and Kim Mens and Theo D{\textquoteright}Hondt} } @conference {66, title = {Context-oriented Programming for Customizable SaaS Applications}, booktitle = {Symposium on Applied Computing}, year = {2012}, month = {March}, publisher = {ACM}, organization = {ACM}, address = {Trento, Italy}, isbn = {978-1-4503-0857-1}, author = {Truyen, Eddy and Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Walraven, Stefan and Jorge Vallejos and Bainomugisha, Engineer and G{\~A}{\textflorin}{\^A}{\textonequarter}nther, Sebastian and Theo D{\textquoteright}Hondt and Wouter Joosen} } @conference {125, title = {Domains: safe sharing among actors}, booktitle = {Proceedings of the 2nd edition on Programming systems, languages and applications based on actors, agents, and decentralized control abstractions}, year = {2012}, publisher = {ACM}, organization = {ACM}, keywords = {actor model, synchronization}, isbn = {978-1-4503-1630-9}, doi = {10.1145/2414639.2414644}, author = {Joeri De Koster and Tom Van Cutsem and Theo D{\textquoteright}Hondt} } @mastersthesis {387, title = {A foundation for quantum programming and its highly-parallel virtual execution}, year = {2012}, school = {Vrije Universiteit Brussel}, type = {phd}, address = {Software Languages Lab}, abstract = {The topic of this dissertation stands at the crossroads of two emerging technologies: highly-parallel computing and quantum computing. Both seek to go beyond the limits of current computing practice: in the absence of further miniaturization, highly-parallel computing seeks to increase the available computer power substantially. Quantum Computing looks beyond the classical approach to computation, leveraging quantum-mechanical effects to increase computing power in a fundamental way. In the absence and also in the presence of actual quantum computers it is crucial to support the development of quantum computer applications by creating an appropriate software framework. Creating such a framework currently faces two major research challenges. First, one needs to separate the realization of the quantum computer from the software running on it, whether it is an actual physical or a simulated realization. Our first contribution lies with defining a layered software architecture, ranging from a design tool at the higher abstraction levels to a simulated execution layer underneath. At its core sits a {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\"E}{\oe}Quantum Virtual Machine{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\quotedblbase}{\textcent} using the Measurement Calculus as the underlying quantum computational model. Such a virtual machine layer makes the application developed on top of it oblivious to how it is executed. The simulated execution of this quantum virtual machine is fundamentally a computationally intensive task. Parallel computing offers a way to throw more computational resources at the problem, in the light of the saturation of sequential performance of current computers. Simulation is the domain of the second challenge, as it has very high performance requirements. The simulation problem thus becomes: how does one expose the inherent parallelism of quantum computing simulation in a fundamental way, so as to be usable for the highly-parallel computers to come? Our second contribution is to provide a formal translation of quantum programs to highly-parallel dataflow computations, and to develop a virtual environment that compiles and executes such programs. This work demonstrates several properties of both the formal as well as the virtual level of computation that validate our approach.}, doi = {10.1.1.416.990}, author = {Yves Vandriessche} } @conference {76, title = {Group orchestration in a mobile environment}, booktitle = {Proceedings of the 14th international conference on Coordination Models and Languages}, year = {2012}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, address = {Berlin, Heidelberg}, isbn = {978-3-642-30828-4}, doi = {10.1007/978-3-642-30829-1_13}, url = {http://dx.doi.org/10.1007/978-3-642-30829-1_13}, author = {Eline Philips and Jorge Vallejos and Van Der Straeten, Ragnhild and Viviane Jonckers} } @mastersthesis {gonzalezboix12phd, title = {Handling Partial Failures in Mobile Ad hoc Network Applications: From Programming Language Design to Tool Support}, year = {2012}, month = {October}, school = {Vrije Universiteit Brussel, Faculty of Sciences, Software Languages Lab}, type = {phd}, author = {Elisa Gonzalez Boix} } @proceedings {112, title = {How to Achieve Scalable Fork/Join on Many-core Architectures?}, year = {2012}, publisher = {ACM}, address = {New York, NY, USA}, abstract = {

Fork/Join is a parallel programming model that implicitly assumes uniform

memory access. The transition from multi- to many-core architectures will

render that assumption invalid, and consequently it is likely that Fork/Join

in its current form will not scale. This research investigates implementations

for Fork/Join to allow the transition to many-core.

}, keywords = {fork/join, many-core, work stealing}, isbn = {978-1-4503-1563-0}, doi = {10.1145/2384716.2384751}, url = {http://doi.acm.org/10.1145/2384716.2384751}, author = {De Wael, Mattias and Tom Van Cutsem} } @conference {79, title = {Interruptible Context-dependent Executions - A Fresh Look at Programming Context-aware Applications}, booktitle = {Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (SPLASH/OnWard!12)}, year = {2012}, author = {Engineer Bainomugisha, Jorge Vallejos and Coen De Roover and Andoni Lombide Carreton and Wolfgang De Meuter} } @inbook {354, title = {MORENA: A Middleware for Programming NFC-Enabled Android Applications as Distributed Object-Oriented Programs}, booktitle = {Middleware 2012}, series = {Lecture Notes in Computer Science}, volume = {7662}, year = {2012}, pages = {61-80}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, abstract = {NFC is a wireless technology that allows software to interact with RFID tags and that is increasingly integrated into smartphones and other mobile devices. In this paper, we present MORENA: a middleware that treats NFC-enabled programs as distributed object-oriented programs in which RFID tags are represented as intermittently connected remote objects. We draw inspiration from the ambient-oriented programming paradigm to represent these objects as first-class remote references which only offer asynchronous communication with the tag to which they refer. This allows the programmer to implement mobile applications that read from or write to RFID tags without having to handle every single fault manually and without blocking the entire application during read or write operations. We built MORENA on top of the Android platform and evaluated our abstractions by implementing a representative application running on NFC-enabled Android phones using MORENA.}, keywords = {Android, mobile applications, pervasive computing, RFID}, isbn = {978-3-642-35169-3}, doi = {10.1007/978-3-642-35170-9_4}, url = {http://dx.doi.org/10.1007/978-3-642-35170-9_4}, author = {Andoni Lombide Carreton and Kevin Pinte and Wolfgang De Meuter}, editor = {Narasimhan, Priya and Triantafillou, Peter} } @conference {161, title = {Parallel Gesture Recognition with Soft Real-Time Guarantees}, booktitle = {Proceedings of the compilation SPLASH 2012 workshops, AGERE! workshop, 2nd International Workshop on Programming based on Actors, Agents, and Decentralized Control}, year = {2012}, month = {October}, address = {Tucson, Arizona, USA}, url = {http://www.academia.edu/2306246/Parallel_Gesture_Recognition_with_Soft_Real-Time_Guarantees}, author = {Renaux, Thierry and Hoste, Lode and Stefan Marr and Wolfgang De Meuter} } @conference {Drosatos2012, title = {{A} privacy-preserving cloud computing system for creating participatory noise maps}, booktitle = {36th Annual IEEE International Computer Software and Applications Conference (COMPSAC 2012; July 16-20, 2012, Izmir, Turkey)}, year = {2012}, month = {July}, pages = {581{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}586}, abstract = {Participatory sensing is a crowd-sourcing technique which relies both on active contribution of citizens and on their location and mobility patterns. As such, it is particularly vulnerable to privacy concerns, which may seriously hamper the large-scale adoption of participatory sensing applications. In this paper, we present a privacy-preserving system architecture for participatory sensing contexts which relies on cryptographic techniques and distributed computations in the cloud. Each individual is represented by a personal software agent, which is deployed on one of the popular commercial cloud computing services. The system enables individuals to aggregate and analyse sensor data by performing a collaborative distributed computation among multiple agents. No personal data is disclosed to anyone, including the cloud service providers. The distributed computation proceeds by having agents execute a cryptographic protocol based on a homomorphic encryption scheme in order to aggregate data. We show formally that our architecture is secure in the Honest-But-Curious model both for the users and the cloud providers. Our approach was implemented and validated on top of the NoiseTube system [1], [2], which enables participatory sensing of noise. In particular, we repeated several mapping experiments carried out with NoiseTube, and show that our system is able to produce identical outcomes in a privacy-preserving way. We experimented with real and simulated data, and present a live demo running on a heterogeneous set of commercial cloud providers. The results show that our approach goes beyond a proof-of-concept and can actually be deployed in a real-world setting. To the best of our knowledge this system is the first operational privacy-preserving approach for participatory sensing. While validated in terms of NoiseTube, our approach is useful in any setting where data aggregation can be performed with efficient homomorphic cryptosystems.}, issn = {0730-3157}, doi = {10.1109/COMPSAC.2012.78}, author = {George Drosatos and Pavlos S. Efraimidis and Ioannis N. Athanasiadis and Ellie D{\textquoteright}Hondt and Matthias Stevens}, editor = {Xiaoying Bai and Fevzi Belli and Elisa Bertino and Carl K. Chang and Atilla El\c ci and Cristina Seceleanu and Haihua Xie and Mohammad Zulkernine} } @conference {harnie12urban, title = {Programming urban-area applications}, booktitle = {Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC{\textquoteright}12), Coordination Models, Languages and Applications Track}, year = {2012}, month = {March}, pages = {1516{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}1521}, publisher = {ACM}, organization = {ACM}, author = {Dries Harnie and Elisa Gonzalez Boix and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @conference {78, title = {Refactoring in the Presence of Annotations}, booktitle = {Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM12)}, year = {2012}, author = {Carlos Noguera and Kellens, Andy and Coen De Roover and Viviane Jonckers} } @conference {159, title = {SpeeG: A Multimodal Speech- and Gesture-based Text Input Solution}, booktitle = {Proceedings of AVI 2012, 11th International Working Conference on Advanced Visual Interfaces}, year = {2012}, month = {May}, address = {Capri Island, Italy}, url = {http://vub.academia.edu/BeatSigner/Papers/1484787/SpeeG_A_Multimodal_Speech-_and_Gesture-based_Text_Input_Solution}, author = {Hoste, Lode and Dumas, Bruno and Signer, Beat} } @conference {124, title = {Synchronization Views for Event-loop Actors}, booktitle = {Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming}, year = {2012}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {actor model, data parallelism, synchronization}, isbn = {978-1-4503-1160-1}, doi = {10.1145/2145816.2145873}, url = {http://doi.acm.org/10.1145/2145816.2145873}, author = {Joeri De Koster and Stefan Marr and Theo D{\textquoteright}Hondt} } @conference {70, title = {Uniting Global and Local Context Behavior with Context Petri Nets}, booktitle = {International Workshop on Context-Oriented Programming}, year = {2012}, month = {June}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Sebasti{\~A}{\textflorin}{\^A}{\textexclamdown}n Gonz{\~A}{\textflorin}{\^A}{\textexclamdown}lez and Kim Mens and Theo D{\textquoteright}Hondt} } @conference {158, title = {ViDaX: An Interactive Semantic Data Visualisation and Exploration Tool}, booktitle = {Proceedings of AVI 2012, 11th International Working Conference on Advanced Visual Interfaces}, year = {2012}, month = {May}, address = {Capri Island, Italy}, url = {http://www.academia.edu/1497768/ViDaX_An_Interactive_Semantic_Data_Visualisation_and_Exploration_Tool}, author = {Dumas, Bruno and Broch{\~A}{\textflorin}{\^A}{\textcopyright}, Tim and Hoste, Lode and Signer, Beat} } @article {165, title = {Ambient contracts: verifying and enforcing ambient object compositions {\~A}{\textflorin}{\^A}~ la carte}, journal = {Personal and Ubiquitous Computing}, volume = {15}, year = {2011}, pages = {341-351}, author = {Christophe Scholliers and Dries Harnie and {\~A}{\textflorin}{\^a}{\texteuro}{\textdegree}ric Tanter and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @article {322, title = {Assessing architectural evolution: a case study}, journal = {Empirical Software Engineering}, year = {2011}, pages = {1-44}, issn = {1382-3256}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/wermelinger-esem.pdf}, author = {Wermelinger, Michel and Yu, Yijun and Lozano, Angela and Capiluppi, Andrea} } @conference {88, title = {Automatic Parallelization of Side-Effecting Higher-Order Scheme Programs}, booktitle = {Proceedings of the 11th International Working Conference on Source Code Analysis and Manipulation (SCAM11)}, year = {2011}, author = {Nicolay, Jens and Coen De Roover and Wolfgang De Meuter and Viviane Jonckers} } @article {DHondt2011, title = {{C}lassical knowledge for quantum security}, journal = {Proceedings of the Joint 5th International Workshop on Quantum Physics and Logic and 4th Workshop on Developments in Computational Models (QPL/DCM 2008), Reykjavik.}, volume = {270}, number = {1}, year = {2011}, pages = {155{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}163}, publisher = {Elsevier}, keywords = {FMe}, author = {Ellie D{\textquoteright}Hondt and Mehrnoosh Sadrzadeh}, editor = {B. Coecke and I. Mackie and P. Panangaden and P. Selinger} } @conference {84, title = {{C}rime{SPOT}: Language Support for Programming Interactions among Wireless Sensor Network Nodes}, booktitle = {Proceedings of the 5th International Symposium on Ubiquitous Computing and Ambient Intelligence (UCAmI11)}, year = {2011}, author = {Coen De Roover and Christophe Scholliers and Amerijckx, Wouter and Theo D{\textquoteright}Hondt and Wolfgang De Meuter} } @article {94, title = {Diagnosing and Correcting Design Inconsistencies in Source Code with Logical Abduction}, journal = {Science of Computer Programming - Special Issue on Software Evolution, Adaptability and Variability}, volume = {76}, year = {2011}, month = {December}, pages = {1113{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}1129}, keywords = {logic meta programming}, author = {Castro, Sergio and Coen De Roover and Kellens, Andy and Lozano, Angela and Kim, Mens and Theo D{\textquoteright}Hondt} } @article {390, title = {{Distributed quantum programming}}, journal = {Natural Computing}, volume = {10}, year = {2011}, pages = {1313{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}1343}, abstract = {In this paper we explore the structure and applicability of the Distributed Measurement Calculus (DMC), an assembly language for distributed measurement-based quantum computations. We describe the formal language{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\quotedblbase}{\textcent}s syntax and semantics, both operational and denotational, and state several properties that are crucial to the practical usability of our language, such as equivalence of our semantics, as well as compositionality and context-freeness of DMC programs. We show how to put these properties to use by constructing a composite program that implements distributed controlled operations, in the knowledge that the semantics of this program does not change under the various composition operations. Our formal model is the basis of a quantum virtual machine construction for distributed quantum computations, which we elaborate upon in the latter part of this work. This virtual machine embodies the formal semantics of DMC such that programming execution no longer needs to be analysed by hand. Far from a literal translation, it requires a substantial concretisation of the formal model at the level of data structures, naming conventions and abstraction mechanisms. At the same time we provide automatisation techniques for program specification where possible to obtain an expressive and user-friendly programming environment.}, doi = {10.1007/s11047-010-9242-9}, author = {Ellie D{\textquoteright}Hondt and Yves Vandriessche} } @inbook {355, title = {Enabling Cross-Technology Mobile Applications with Network-Aware References}, booktitle = {Coordination Models and Languages}, series = {Lecture Notes in Computer Science}, volume = {6721}, year = {2011}, pages = {142-156}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, abstract = {Mobile devices, such as smart phones, have become ubiquitous. This evolution has given rise to a vast ecosystem of mobile applications. Typically these applications only use a small subset of the networking technologies at their disposal. Building applications that use multiple networking technologies simultaneously or exploit knowledge about the available connections is a laborious task. Programmers must manually keep track of the connectivity state and duplicate communication code per connection type. This paper presents network-aware references, a distributed object-oriented programming abstraction that eases multi-networking for mobile applications and allows programmers to react to changes in the connectivity of different networks around them. We show how network-aware references are implemented and evaluate how well they switch between technologies.}, keywords = {Bluetooth, distributed programming, mobile applications, multi-networking, Network-awareness, Wi-Fi}, isbn = {978-3-642-21463-9}, doi = {10.1007/978-3-642-21464-6_10}, url = {http://dx.doi.org/10.1007/978-3-642-21464-6_10}, author = {Kevin Pinte and Dries Harnie and Theo D{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\quotedblbase}{\textcent}Hondt}, editor = {Wolfgang De Meuter and Roman, Gruia-Catalin} } @conference {82, title = {Feature-Oriented Programming and Context-Oriented Programming: Comparing Paradigm Characteristics by Example Implementations}, booktitle = {Proceedigns of the 6th International Conference on Software Engineering Advances}, year = {2011}, month = {October}, publisher = {IARIA}, organization = {IARIA}, isbn = {978-1-61208-165-6}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and G{\~A}{\textflorin}{\^A}{\textonequarter}nther, Sebastian and Theo D{\textquoteright}Hondt and Kim Mens} } @conference {gonzalezboix11flocks, title = {{Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications}}, booktitle = {Proceedings of the 2011 ACM Symposium on Applied Computing (SAC{\textquoteright}11)}, volume = {1}, year = {2011}, month = {March}, pages = {425{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}432}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, isbn = {978-1-4503-0113-8}, doi = {10.1145/1982185.1982277}, url = {http://doi.acm.org/10.1145/1982185.1982277}, author = {Elisa Gonzalez Boix and Andoni Lombide Carreton and Christophe Scholliers and Tom Van Cutsem and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @conference {90, title = {Language and Middleware Support for Dynamism in Wireless Sensor and Actuator Network Applications}, booktitle = {Proceedings of the 6th International Workshop on Middleware Tools, Services and Run-time Support for Networked Embedded Systems (MidSens11)}, year = {2011}, author = {Matthys, Nelson and Amerijckx, Wouter and Coen De Roover and Christophe Scholliers and Michiels, Sam and Theo D{\textquoteright}Hondt and Wouter Joosen} } @conference {83, title = {A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in Object-Oriented Programs}, booktitle = {Proceedings of the 27th IEEE International Conference on Software Maintenance (ICSM11)}, year = {2011}, keywords = {logic programming, pattern detection, program analysis, program querying}, author = {Coen De Roover} } @conference {321, title = {Mendel: Source Code Recommendation based on a Genetic Metaphor}, booktitle = {Proceedings of the 26th IEEE/ACM international conference on Automated Software Engineering (ASE 2011)}, year = {2011}, address = {Lawrence, Kansas, USA}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/rsse12.pdf}, author = {Lozano, Angela and Kellens, Andy and Kim Mens} } @conference {156, title = {Midas: A Declarative Multi-Touch Interaction Framework}, booktitle = {Proceedings of TEI 2011, 5th International Conference on Tangible, Embedded, and Embodied Interaction}, year = {2011}, month = {Jan}, address = {Funchal, Portugal}, url = {http://vub.academia.edu/LodeHoste/Papers/385568/Midas_A_Declarative_Multi-Touch_Interaction_Framework}, author = {Christophe Scholliers and Hoste, Lode and Signer, Beat and Wolfgang De Meuter} } @conference {157, title = {Mudra: A Unified Multimodal Interaction Framework}, booktitle = {Proceedings of ICMI 2011, 13th International Conference on Multimodal Interaction}, year = {2011}, month = {November}, address = {Alicante, Spain}, url = {http://vub.academia.edu/BeatSigner/Papers/835094/Mudra_A_Unified_Multimodal_Interaction_Framework}, author = {Hoste, Lode and Dumas, Bruno and Signer, Beat} } @conference {pinte11narsworkshop, title = {Network-Aware References for Pervasive Social Applications}, booktitle = {Second IEEE Workshop on Pervasive Collaboration and Social Networking (PERCOM workshops)}, year = {2011}, month = {March}, pages = {537-542}, isbn = {978-1-61284-936-2}, author = {Kevin Pinte and Dries Harnie and Elisa Gonzalez Boix and Wolfgang De Meuter} } @inbook {323, title = {An Overview of Techniques for Detecting Software Variability Concepts in Source Code}, booktitle = {Advances in Conceptual Modeling. Recent Developments and New Directions}, series = {Lecture Notes in Computer Science}, volume = {6999}, year = {2011}, pages = {141-150}, publisher = {Springer Berlin / Heidelberg}, organization = {Springer Berlin / Heidelberg}, isbn = {978-3-642-24573-2}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/litRevVaribru-CameraReady-vClean.pdf}, author = {Lozano, Angela}, editor = {De Troyer, Olga and Bauzer Medeiros, Claudia and Billen, Roland and Hallot, Pierre and Simitsis, Alkis and Van Mingroot, Hans} } @conference {DHondt2011a, title = {{P}articipatory noise mapping}, booktitle = {Demo Proceedings of the 9th International Conference on Pervasive Computing (Pervasive 2011; June 12-15, 2011, San Francisco, CA, USA)}, year = {2011}, month = {June}, pages = {33{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}36}, abstract = {Participatory sensing allows for a person-centric approach to gathering environmental measurement data with, in principle, high gran- ularity in space and time. Here we report on a citizen science experiment for noise mapping a 1 km2 area in the city of Antwerp using NoiseTube, a participatory sensing framework for monitoring ambient noise. At the technical side, we set up measuring equipment in accordance with offi- cial norms insofar as they apply, also carrying out extensive calibration experiments. At the citizen side, we collaborated with up to 10 volunteers from a citizen-led Antwerp-based action group. From the data gathered we construct purely measurement-based noise maps of the targeted area with error margins of about 5dB, comparable to those of official simulation-based noise maps.}, url = {http://soft.vub.ac.be/Publications/2011/vub-soft-tr-11-03.pdf}, author = {Ellie D{\textquoteright}Hondt and Matthias Stevens}, editor = {Rafael {\textquoteleft}Tico{\textquoteright} Ballagas and Daniela K. Rosner} } @conference {357, title = {Programming language support for routing in pervasive networks}, booktitle = {Pervasive Computing and Communications Workshops (PERCOM Workshops), 2011 IEEE International Conference on}, year = {2011}, month = {March}, abstract = {Managing communication in pervasive environments is a difficult challenge because of characteristics such as: no central server and frequent disconnections. Furthermore, services to be composed for coordination are sometimes distributed in multiple networks. In that case, intermediate nodes linking these networks have to route communication data toward appropriate destinations. However, incorporating such routing protocols into applications significantly increases complexity of the code. In this paper we propose AmbientTalk/M, a concurrent distributed programming language for coordination of services among multiple networks. The language provides powerful support for creating routing frameworks to hook up two or more networks. With the language support, we can express how service information is propagated or how messages are routed using high-level abstraction over underlying network technology. We show the language is flexible enough to express a variety of routing frameworks with respect to robustness, traffic efficiency, and security. Because the frameworks are installed reflectively, they are completely separated from application code. To the best of our knowledge, this is the first attempt to integrate routing semantics among multiple networks into a programming language using reflection.}, keywords = {Ad hoc networks, AmbientTalk/M programming language, distributed programming language, Encryption, Logic gates, pervasive network routing, Printers, programming language support, Programming languages, Protocols, Routing, routing frameworks, routing protocols, routing semantics, Ubiquitous computing, Virtual machining}, doi = {10.1109/PERCOMW.2011.5766874}, author = {Suzuki, T. and Kevin Pinte and Tom Van Cutsem and Wolfgang De Meuter and Yonezawa, A} } @conference {87, title = {Reasoning over the Evolution of Source Code using Quantified Regular Path Expressions}, booktitle = {Proceedings of the 18th Working Conference on Reverse Engineering (WCRE11)}, year = {2011}, keywords = {history querying, logic meta programming, program querying, regular path expressions, temporal logic, version repositories}, author = {Kellens, Andy and Coen De Roover and Carlos Noguera and Reinout Stevens and Viviane Jonckers} } @conference {gonzalezboix11remed, title = {{REME-D: a Reflective, Epidemic Message-Oriented Debugger for Ambient-Oriented Applications}}, booktitle = {Proceedings of the 2011 ACM Symposium on Applied Computing (SAC{\textquoteright}11)}, volume = {2}, year = {2011}, month = {March}, pages = {1275{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}1281}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, isbn = {978-1-4503-0113-8}, doi = {10.1145/1982185.1982463}, url = {http://doi.acm.org/10.1145/1982185.1982463}, author = {Elisa Gonzalez Boix and Carlos Noguera and Tom Van Cutsem and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @conference {85, title = {Safer Context (de)Activation: Through the Prompt-Loyal Strategy}, booktitle = {International Workshop on Context-Oriented Programming}, year = {2011}, month = {July}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, doi = {10.1145/2068736.2068738}, author = {Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Sebasti{\~A}{\textflorin}{\^A}{\textexclamdown}n Gonz{\~A}{\textflorin}{\^A}{\textexclamdown}lez and Kim Mens and Theo D{\textquoteright}Hondt} } @conference {92, title = {The {SOUL} Tool Suite for Querying Programs in Symbiosis with Eclipse}, booktitle = {Proceedings of the 9th International Conference on the Principles and Practice of Programming in Java (PPPJ11)}, year = {2011}, keywords = {logic programming, program querying}, author = {Coen De Roover and Carlos Noguera and Kellens, Andy and Viviane Jonckers} } @conference {91, title = {Subjective-C: Bringing Context to Mobile Platform Programming}, booktitle = {Proceedings of the International Conference on Proceedings of the International Conference on Software Language Engineering}, year = {2011}, publisher = {Springer}, organization = {Springer}, address = {Eindhoven}, keywords = {context-oriented}, author = {Sebasti{\~A}{\textflorin}{\^A}{\textexclamdown}n Gonz{\~A}{\textflorin}{\^A}{\textexclamdown}lez and Nicol{\~A}{\textflorin}{\^A}{\textexclamdown}s Cardozo and Kim Mens and C{\~A}{\textflorin}{\^A}{\textexclamdown}diz, Alfredo and Libbrecht, Jean-Cristophe and Goffaux, Julien}, editor = {Malloy, Brian and Staab, Steffen and van den Brand, Mark} } @article {163, title = {Volatile Sets: Event-driven Collections for Mobile Ad-Hoc Applications}, journal = {ECEASST}, volume = {43}, year = {2011}, author = {Dries Harnie and Elisa Gonzalez Boix and Andoni Lombide Carreton and Christophe Scholliers and Wolfgang De Meuter} } @article {166, title = {Ambient Contracts}, journal = {ECEASST}, volume = {28}, year = {2010}, author = {Dries Harnie and Christophe Scholliers and Wolfgang De Meuter} } @conference {DHondt2010, title = {{C}ommunity memories for sustainable urban living}, booktitle = {INNOV 2010 {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe} Proceedings of the 1st International Multi-Conference on Innovative Developments in ICT (Athens, Greece, July 29-31, 2010)}, year = {2010}, note = {Poster displayed at ICGREEN 2010 {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe} International Conference on Green Computing (part of INNOV 2010)}, month = {July}, pages = {77{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}80}, abstract = {We propose a particular approach by which computer science can aid on the technological side of sustainable development, which at the same time contributes to raising people{\textquoteright}s awareness of the issues at hand. In particular we develop a so-called community memory for urban environmental measurement surveys, focusing on noise, microclimate and atmospheric pollution. Our goal is to gather data both in a quantitative way, using participatory mobile sensing, and in a qualitative way, by social tagging. In this way we provide a method for environmental monitoring which is complementary to current modelling approaches.}, keywords = {-postnote}, isbn = {978-989-8425-15-7}, url = {http://soft.vub.ac.be/Publications/2010/vub-tr-soft-10-16.pdf}, author = {Ellie D{\textquoteright}Hondt and Matthias Stevens}, editor = {Boris Shishkov and George A. Tsihrintzis and Maria Virvou} } @conference {Stevens2010a, title = {{C}rowdsourcing of {P}ollution {D}ata using {S}martphones}, booktitle = {Workshop on Ubiquitous Crowdsourcing, held at Ubicomp {\textquoteright}10 (September 26-29, 2010, Copenhagen, Denmark)}, year = {2010}, month = {September}, abstract = {In this paper we present our research into participatory sensing based solutions for the collection of data on urban pollution and nuisance. In the past 2 years we have been involved in the NoiseTube project which explores a crowdsourcing approach to measuring and mapping urban noise pollution using smartphones. By involving the general public and using off-the-shelf smartphones as noise sensors, we seek to provide a low cost solution for citizens to measure their personal exposure to noise in their everyday environment and participate in the creation of collective noise maps by sharing their geo-localized and annotated measurements with the community. We believe our work represents an interesting example of the novel mobile crowdsourcing applications which are enabled by ubiquitous computing systems. Furthermore we believe the NoiseTube system, and the currently ongoing validation experiments, provide an illustrative context for some of the open challenges faced by creators of ubiquitous crowdsourcing applications and services in general. We will also take the opportunity to present the insights we gained into some of the challenges.}, url = {http://soft.vub.ac.be/Publications/2010/vub-tr-soft-10-15.pdf}, author = {Matthias Stevens and Ellie D{\textquoteright}Hondt}, editor = {Maja Vukovic and Soundar Kumara and Ohad Greenshpan} } @conference {96, title = {Co-evolving Annotations and Source Code through Smart Annotations}, booktitle = {Proceedings of the 14th European Conference on Software Maintenance and Re-engineering (CSMR10)}, year = {2010}, keywords = {java, logic meta programming, smart annotations, soul}, author = {Kellens, Andy and Carlos Noguera and De Schutter, Kris and Coen De Roover and Theo D{\textquoteright}Hondt} } @conference {scholliers2010context, title = {{Context-aware tuples for the ambient}}, booktitle = {Proceedings of the 2010 International Conference on On the Move to Meaningful Internet Systems (OTM{\textquoteright}10)}, series = {Lecture Notes in Computer Science}, volume = {6427}, year = {2010}, pages = {745{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}763}, publisher = {Springer-Verlang Berling Heidelberg}, organization = {Springer-Verlang Berling Heidelberg}, isbn = {3-642-16948-1, 978-3-642-16948-9}, author = {Christophe Scholliers and Elisa Gonzalez Boix and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @article {DHondt2010b, title = {{D}istributed quantum programming}, journal = {Natural Computing}, year = {2010}, pages = {1{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}31}, publisher = {Springer Netherlands}, issn = {1567-7818}, doi = {10.1007/s11047-010-9242-9}, author = {Ellie D{\textquoteright}Hondt and Yves Vandriessche}, editor = {Jos{\~A}{\textflorin}{\^A}{\textcopyright} F{\~A}{\textflorin}{\^A}{\textcopyright}lix Costa and Nachum Dershowitz} } @inbook {360, title = {Distributed Object-Oriented Programming with RFID Technology}, booktitle = {Distributed Applications and Interoperable Systems}, series = {Lecture Notes in Computer Science}, volume = {6115}, year = {2010}, pages = {56-69}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, abstract = {Our everyday environments will soon be pervaded with RFID tags integrated in physical objects. These RFID tags can store a digital representation of the physical object and transmit it wirelessly to pervasive, context-aware applications running on mobile devices. However, communicating with RFID tags is prone to many failures inherent to the technology. This hinders the development of such applications as traditional programming models require the programmer to deal with the RFID hardware characteristics manually.In this paper, we propose extending the ambient-oriented programming paradigm to program RFID applications, by considering RFID tags as intermittently connected mutable proxy objects hosted on mobile distributed computing devices.}, keywords = {Ambient-oriented programming, mobile RFID-enabled applications, pervasive computing, RFID}, isbn = {978-3-642-13644-3}, doi = {10.1007/978-3-642-13645-0_5}, url = {http://dx.doi.org/10.1007/978-3-642-13645-0_5}, author = {Andoni Lombide Carreton and Kevin Pinte and Wolfgang De Meuter}, editor = {Eliassen, Frank and Kapitza, R{\~A}{\textflorin}{\^A}{\textonequarter}diger} } @conference {97, title = {Generation and composition of corrective actions to code design problems with Heal}, booktitle = {Proceedings of the 9th Belgian-Netherlands Software Evolution Seminar (BENEVOL 2010)}, year = {2010}, author = {Castro, Sergio and Kellens, Andy and Coen De Roover and Kim Mens} } @conference {324, title = {MEntoR: Mining Entities to Rules}, booktitle = {9th BElgian-NEtherlands EVOLution Workshop (BENEVOL), Lille}, year = {2010}, author = {Lozano, Angela and Kellens, Andy and Kim Mens and Arevalo, Gabriela} } @conference {326, title = {Mining Source Code for Structural Regularities}, booktitle = {Proceedings of the 2010 17th Working Conference on Reverse Engineering}, year = {2010}, publisher = {IEEE Computer Society}, organization = {IEEE Computer Society}, address = {Washington, DC, USA}, keywords = {association rules, mining source code, regularities, static analysis}, isbn = {978-0-7695-4123-5}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2010-WCRE-Mining\%20Source\%20Code\%20for\%20Structural\%20Regularities.pdf}, author = {Lozano, Angela and Kellens, Andy and Kim Mens and Arevalo, Gabriela} } @inbook {Stevens2010, title = {{N}oise{T}ube \& {B}rus{S}ense: {P}articipatory sensing for sustainable urban life}, booktitle = {We Can Change the Weather: 100 Cases in Energy Efficacy to Start Doing So}, series = {Crosstalks}, year = {2010}, pages = {106{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}107}, publisher = {VUBPress/ASP Editions}, organization = {VUBPress/ASP Editions}, abstract = {In order to guarantee our future wellbeing, society urgently needs to evolve towards a sustainable lifestyle. A core issue is our unsustainable use of the earth{\textquoteright}s atmosphere. Particularly in urban areas, already home to half of the world{\textquoteright}s population, air and noise pollution are major problems. Efforts to monitor and limit pollution are hampered by the inadequacy of current measuring methods as well as the lack of awareness of the average citizen. Our research explores how computer science can improve both issues.}, isbn = {978-9054876922}, url = {http://crosstalks.vub.ac.be/publications/changetheweather/intro.html}, author = {Matthias Stevens and Ellie D{\textquoteright}Hondt}, editor = {Marleen Wynants and Sara Engelen} } @conference {86, title = {{NOW}: a workflow language for orchestration in nomadic networks}, booktitle = {Proceedings of the 12th international conference on Coordination Models and Languages}, year = {2010}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, address = {Berlin, Heidelberg}, isbn = {3-642-13413-0, 978-3-642-13413-5}, doi = {10.1007/978-3-642-13414-2_3}, url = {http://dx.doi.org/10.1007/978-3-642-13414-2_3}, author = {Eline Philips and Van Der Straeten, Ragnhild and Viviane Jonckers} } @inbook {gonzalezboix10scripting, title = {{Scripting Mobile Devices with AmbientTalk}}, booktitle = {Handheld Computing for Mobile Commerce: Applications, Concepts and Technologies}, year = {2010}, pages = {202{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}224}, publisher = {IGI Global}, organization = {IGI Global}, isbn = {978-1-615-20761-9}, author = {Elisa Gonzalez Boix and Christophe Scholliers and Andoni Lombide Carreton and Tom Van Cutsem and Stijn Mostinckx and Wolfgang De Meuter}, editor = {J. Fagerberg and D.C. Mowery and R.R. Nelson} } @conference {155, title = {Software Engineering Abstractions for the Multi-touch Revolution}, booktitle = {Proceedings of ICSE 2010, 32nd ACM/IEEE International Conference on Software Engineering}, year = {2010}, month = {May}, address = {Cape Town, South Africa}, url = {http://vub.academia.edu/LodeHoste/Papers/385566/Software_Engineering_Abstractions_for_the_Multi-Touch_Revolution}, author = {Hoste, Lode} } @conference {325, title = {Tracking clones{\textquoteright} imprint}, booktitle = {4th International Workshop on Software Clones}, year = {2010}, publisher = {ACM}, organization = {ACM}, isbn = {978-1-60558-980-0}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2010-IWSC-Tracking\%20clones\%E2\%80\%99\%20imprint.pdf}, author = {Lozano, Angela and Wermelinger, Michel} } @article {carreton10urbiflock, title = {{Urbiflock: An experiment in dynamic group management in Pervasive social applications}}, journal = {IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops), First International Workshop on Communication, Collaboration and Social Networking in Pervasive Computing Environments (PerCol)}, year = {2010}, pages = {250{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}255}, publisher = {IEEE Computer Society Press}, author = {Andoni Lombide Carreton and Dries Harnie and Elisa Gonzalez Boix and Christophe Scholliers and Tom Van Cutsem and Wolfgang De Meuter} } @inbook {DHondt2010c, title = {Worldviews, Science and Us: Bridging Knowledge and Its Implications for our Perspectives of the World}, year = {2010}, publisher = {World Scientific}, organization = {World Scientific}, edition = {ISBN: 978-981-4383-07-3}, chapter = {Quantum Programming}, author = {Ellie D{\textquoteright}Hondt}, editor = {Diederik Aerts and Jan Broekaert and Bart D{\textquoteright}Hooghe and Nicole Note} } @conference {Vallejos2009, title = {{C}ontext-aware {R}esource {S}haring for {P}eople-centric {S}ensing}, booktitle = {First International Workshop on Software Research and Climate Change (WSRCC-1; October 26, 2009, Orlando, FL, USA)}, year = {2009}, note = {Part of Onward!\ 2009, co-located with OOPSLA 2009}, month = {October}, abstract = {In order to tackle the problem of climate change we crucially need to develop a sustainable society. This requires everyone to become aware of the precariousness of the situation, while at the same time a major scientific effort is needed. A core issue standing in the way of sustainability is that of environmental pollution. People-centric sensing is an increasingly popular approach for monitoring pollution in urban environments [5]. This model relies on mobile computing devices to enable ordinary citizens to assess their exposure to pollution factors in their everyday activities. A such, this sensing approach yields individualised data with a higher spatio-temporal granularity than systems based on sparse and stationary sensors [9], while the active involvement of citizens in the monitoring increases their awareness of environmental issues. However, people-centric sensing is hampered by the still limited capacities of current mobile devices, in terms of processing power and battery autonomy as well as the absence of specialised environmental sensors, limiting participation to those who have access to expensive or adapted devices. Our claim is that in an approach like people-centric sensing, where the participation of the people directly impacts the quality and quantity of the data collected, such restrictions should be alleviated. Indeed, given the urgency of the environmental challenges we face, we cannot wait for new generations of mobile devices to provide better hardware and software capacities, and become affordable for the public at large. In this work, we explore an extension to people-centric sensing that enables people to share and use resources available in range, in an opportunistic way [6]. The sensing process in this case is no longer constrained by the capacities of specific mobile devices, but instead can be distributed among the available resources (e.g. other mobile devices, sensors or indoor/outdoor appliances). Data gathering, processing and publishing can then be accomplished by resources that are dynamically discovered and selected according to their suitability, availability, and user preferences.}, url = {http://www.cs.toronto.edu/wsrcc/WSRCC1/Papers.html}, author = {Jorge Vallejos and Matthias Stevens and Ellie D{\textquoteright}Hondt and Nicolas Maisonneuve and Wolfgang De Meuter and Theo D{\textquoteright}Hondt and Luc Steels}, editor = {Steve Easterbrook} } @conference {DHondt2009b, title = {{D}istributed quantum programming}, booktitle = {Proc. 8th Int. Conf. on Unconventional Computation (Ponta Delgada, Azores, Portugal, Sept. 7-11, 2009)}, series = {Lecture Notes in Computer Science}, volume = {5715}, year = {2009}, pages = {111{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}125}, publisher = {Springer}, organization = {Springer}, isbn = {978-3-642-03744-3}, issn = {0302-9743}, doi = {10.1007/978-3-642-03745-0}, author = {Ellie D{\textquoteright}Hondt and Yves Vandriessche}, editor = {Cristian S. Calude and Jos{\~A}{\textflorin}{\^A}{\textcopyright} F{\~A}{\textflorin}{\^A}{\textcopyright}lix Costa and Nachum Dershowitz and Elisabete Freire and Grzegorz Rozenberg and Cristian Calude et al.} } @article {391, title = {{Distributed Quantum Programming}}, journal = {Unconventional Computation}, volume = {5715}, year = {2009}, pages = {110}, abstract = {In this paper we explore the structure and applicability of the Distributed Measurement Calculus (DMC), a formal assembly language for distributed measurement-based quantum computations. We describe its syntax and semantics, both operational and denotational, and state several properties that are crucial to the practical usability of our language, such as equivalence of our semantics, as well as compositionality and context-freeness of DMC programs. We show how to put these properties to use by constructing a composite program that implements distributed controlled operations, and demonstrate that the semantics of this program does not change under the various composition operations. Our formal model is meant to be the basis of a virtual machine for distributed quantum computations, where programming execution no longer needs to be analysed by hand, while at the same time formal properties may be relied upon. Several insights on how to move towards this virtual level are given.}, keywords = {quant-ph}, doi = {10.1007/978-3-642-03745-0_17}, url = {http://adsabs.harvard.edu/cgi-bin/nph-data_query?bibcode=2009LNCS.5715..110D\&link_type=ABSTRACT}, author = {Ellie D{\textquoteright}Hondt and Yves Vandriessche} } @article {99, title = {Forward Chaining in {HALO}: An Implementation Strategy for History-based Logic Pointcuts}, journal = {Elsevier International Journal on Computer Languages, Systems {\&} Structures}, volume = {35}, year = {2009}, month = {April}, pages = {31{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}47}, abstract = {

In aspect-oriented programming, pointcuts are formulated as conditions over the context of dynamic events in the execution of a program. Hybrid pointcut languages also allow this context to come from interactions between the pointcut language and the base program. While some pointcut languages only allow conditions on the current execution event, more recent proposals have demonstrated the need for expressing conditions over a history of join points. Such pointcut languages require means to balance the expressiveness of the language with the additional memory and runtime overhead caused by keeping a history of join point context data. In this paper, we introduce a logic-based pointcut language that allows interaction with the base program as well as pointcuts over a history of join points. We introduce forward chaining as an implementation model for this language, and discuss possible optimization strategies for the additional overhead.

}, keywords = {aop, forward chaining, halo, lmp, logic meta programming, rete, temporal logic}, author = {Herzeel, Charlotte and Kris Gybels and Costanza, Pascal and Coen De Roover and Theo D{\textquoteright}Hondt} } @article {361, title = {Language Abstractions for RFID Technology}, journal = {Electronic Communications of the EASST}, volume = {19}, year = {2009}, abstract = {Developing pervasive and context-aware applications that make use of RFID technology is a daunting task given the high degree of failures inherent to communication with RFID tags. The reason is that current programming models do not incorporate these failures into the very heart of their computational model. AmbientTalk, a research language aimed at pervasive applications running in mobile ad hoc networks, does offer such a programming model, but it is aimed at mobile devices interconnected via peer-to-peer network connections such as WiFi or Bluetooth. In this paper we show how we use this programming model for the communication with RFID tags.}, author = {Andoni Lombide Carreton and Kevin Pinte and Wolfgang De Meuter} } @conference {98, title = {Language-Shifting Objects in Inter-language Interoperability}, booktitle = {Proceedings of the International Workshop on Smalltalk Technologies (IWST09)}, year = {2009}, abstract = {

Foreign-function interfaces enable programs in a host language to interoperate with programs written in another language and vice-versa. Two languages that feature such an interface to a common language can even interoperate by means of this common intermediate language. Smalltalk and Java, for example, both offer an interface to C and can therefore interoperate through a connection of these interfaces. However, the resulting interactions will need to occur at the level of abstraction offered by the (low-level) C interfaces, although both Java and Smalltalk are object-oriented languages. In this paper, we describe how the dynamic and reflective facilities of the Smalltalk language permit to raise the level of abstraction of these inter-language interactions to seamless message passing between objects. In addition, we introduce and explore the concept of language shifting objects where Java objects are not only represented in Smalltalk but can partially or completely migrate from Java to Smalltalk. Language-shifting effectively migrates Java methods to Smalltalk methods such that original Java objects can end up {\textquoteleft}{\textquoteleft}living{\textquoteright}{\textquoteright} in the Smalltalk environment without needing a connection to their originating Java environment.

}, keywords = {interconnect, interoperability, java, java smalltalk symbiosis, javaconnect, linguistic symbiosis, smalltalk, symbiosis}, author = {Johan Brichau and Coen De Roover} } @conference {gonzalezboix09leasing, title = {{A Leasing Model to Deal with Partial Failures in Mobile Ad Hoc Networks}}, booktitle = {In Proceedings of the 47th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2009)}, series = {Lecture Notes in Business Information Processing}, volume = {33}, year = {2009}, month = {June}, pages = {231{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}251}, publisher = {Springer-Verlag Berlin Heidelberg}, organization = {Springer-Verlag Berlin Heidelberg}, isbn = {978-3-642-02570-9}, author = {Elisa Gonzalez Boix and Tom Van Cutsem and Jorge Vallejos and Wolfgang De Meuter and Theo D{\textquoteright}Hondt}, editor = {Oriol, Manuel and Meyer, Bertrand} } @article {mostinckx09mirror, title = {Mirror-based reflection in AmbientTalk}, journal = {Software: Practice and Experience, SCI Impact factor in 2009: 0.667 (5-year impact factor: 1.035)}, volume = {39}, number = {7}, year = {2009}, pages = {661{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}699}, publisher = {John Wiley \& Sons, Inc.}, address = {New York, NY, USA}, issn = {0038-0644}, doi = {http://dx.doi.org/10.1002/spe.v39:7}, author = {Stijn Mostinckx and Tom Van Cutsem and Stijn Timbermont and Elisa Gonzalez Boix and {\~A}{\textflorin}{\^a}{\texteuro}{\textdegree}ric Tanter and Wolfgang De Meuter} } @article {DHondt2009, title = {{Q}uantum approaches to graph colouring}, journal = {Theoretical Computer Science}, volume = {410}, year = {2009}, month = {January}, pages = {302{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}309}, keywords = {A\&C}, doi = {10.1016/j.tsc.2008.09.055}, author = {Ellie D{\textquoteright}Hondt} } @conference {bainomugisha2009resilient, title = {Resilient Actors: A Runtime Partitioning Model for Pervasive Computing Services}, booktitle = {Proceedings of the 2009 International Conference on Pervasive Services}, series = {ICPS {\textquoteright}09}, year = {2009}, pages = {31{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}40}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {pervasive computing, programming language model, resilient actors, runtime service partitioning}, isbn = {978-1-60558-644-1}, doi = {10.1145/1568199.1568205}, url = {http://doi.acm.org/10.1145/1568199.1568205}, author = {Bainomugisha, Engineer and Jorge Vallejos and {\~A}{\textflorin}{\^a}{\texteuro}{\textdegree}ric Tanter and Elisa Gonzalez Boix and Costanza, Pascal and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @article {Scholliers2009totam, title = {TOTAM: Scoped Tuples for the Ambient}, journal = {International DisCoTec Workshop on Context-aware Adaptation Mechanisms for Pervasive and Ubiquitous Services (CAMPUS 2009)}, volume = {19}, year = {2009}, month = {June}, publisher = {Electronic Communications of the EASST}, author = {Christophe Scholliers and Elisa Gonzalez Boix and Wolfgang De Meuter} } @conference {329, title = {Assessing the effect of clones on changeability}, booktitle = {Proc. Int{\textquoteright}l Conf. on Software Maintenance (ICSM{\textquoteright}08)}, year = {2008}, month = {October/Autumn}, publisher = {IEEE}, organization = {IEEE}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2008-ICSM-Assessing\%20the\%20effect\%20of\%20clones\%20on\%20changeability.pdf?attredirects=0}, author = {Lozano, Angela and Wermelinger, Michel} } @article {Danos2008, title = {{C}lassical knowledge for quantum cryptographic reasoning}, journal = {Proc. 3rd International Workshop on Development of Computational Models (DCM 2007)}, volume = {192}, number = {3}, year = {2008}, pages = {39{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}58}, publisher = {Elsevier}, issn = {1571-0661}, doi = {10.1016/j.entcs.2008.10.023}, author = {Vincent Danos and Ellie D{\textquoteright}Hondt} } @conference {331, title = {Design Principles in Architectural Evolution: a Case Study}, booktitle = {Proceedings of the 24th IEEE International Conference on Software Maintenance}, year = {2008}, month = {October/Autumn}, publisher = {IEEE}, organization = {IEEE}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Wermelinger-2008-ICSM-Design\%20Principles\%20in\%20Architectural\%20Evolution\%20A\%20Case\%20Study.pdf}, author = {Wermelinger, Michel and Yu, Yijun and Lozano, Angela} } @inbook {327, title = {Empirical studies of open source evolution}, booktitle = {Software Evolution}, year = {2008}, pages = {263{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}288}, publisher = {Springer}, organization = {Springer}, address = {Berlin}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/OS\%20evolution\%20book\%20chapter.pdf}, author = {Fernandez-Ramil, Juan and Lozano, Angela and Wermelinger, Michel and Capiluppi, Andrea}, editor = {Mens, Tom and Demeyer, Serge} } @conference {330, title = {Evaluating the relation between changeability decay and the characteristics of clones and methods}, booktitle = {Proc. Int{\textquoteright}l ERCIM Workshop on Software Evolution and Evolvability}, year = {2008}, month = {September}, publisher = {IEEE}, organization = {IEEE}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2008-Evol-Evaluating\%20the\%20relation\%20between\%20changeability\%20decay\%20and\%20the\%20characteristics\%20of\%20clones\%20and\%20methods.pdf}, author = {Lozano, Angela and Wermelinger, Michel and Nuseibeh, Bashar} } @conference {102, title = {Example-based Program Querying}, booktitle = {Proceedings of the 2008 Working Session on Query Technologies and Applications for Program Comprehension (QTAPC08) at the 16th International Conference on Program Comprehension (ICPC08)}, year = {2008}, abstract = {

Program query languages are an essential component of program analysis and manipulation systems. In each such system, a query identifies the source-code parts of interest by reasoning over a program representation that is dedi- cated to the intent of the system (e.g. call-graphs to de- tect behavioral flaws, abstract syntax trees for refactorings, concrete source code to verify programming conventions, etc.). In order to detect a wide variety of such {\textquoteleft}{\textquoteleft}patterns of interest{\textquoteright}{\textquoteright}, or more importantly, to detect patterns that re- quire a combination of such program representations, de- velopers must understand all the different applicable rep- resentations and techniques. We therefore present a logic- based language that allows the program{\textquoteright}s implementation to be queried using concrete source code templates that are matched against a combination of structural and behavioral program representations. These representations include call-graphs, points-to analysis results and abstract syntax trees that are uniformly composed through a customizable unification procedure. The result of our approach is that de- velopers 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.

}, keywords = {example-based, lmp, logic meta programming, pattern detection, prolog, templates}, author = {Kellens, Andy and Johan Brichau and Coen De Roover} } @conference {328, title = {A methodology to assess the impact of source code flaws in changeability, and its application to clones}, booktitle = {24th IEEE International Conference on Software Maintenance (ICSM 2008), September 28 - October 4, 2008, Beijing, China}, year = {2008}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2008-DoctSympICSM-A\%20methodology\%20to\%20assess\%20the\%20impact\%20of\%20source\%20code\%20flaws\%20in\%20changeability\%2C\%20and\%20its\%20application\%20to\%20clones.pdf}, author = {Lozano, Angela} } @conference {gonzalezboix08aspect, title = {Towards a Domain-specific Aspect Language for Leasing in Mobile Ad Hoc Networks}, booktitle = {Proceedings of the 2008 AOSD Workshop on Domain-specific Aspect Languages}, series = {DSAL {\textquoteright}08}, year = {2008}, pages = {6:1{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}6:5}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {aspect-oriented programming, domain-specific languages, leasing, mobile ad hoc networks}, isbn = {978-1-60558-146-0}, doi = {10.1145/1404927.1404933}, url = {http://doi.acm.org/10.1145/1404927.1404933}, author = {Elisa Gonzalez Boix and Cleenewerk, Thomas and Jessie Dedecker and Wolfgang De Meuter} } @conference {vallejos08resilient, title = {Towards Resilient Partitioning of Pervasive Computing Services}, booktitle = {Proceedings of the 3rd ACM Workshop on Software Engineering for Pervasive Services}, series = {SEPS {\textquoteright}08}, year = {2008}, pages = {15{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}20}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, keywords = {pervasive computing, service partitioning}, isbn = {978-1-60558-214-6}, doi = {10.1145/1387229.1387234}, url = {http://doi.acm.org/10.1145/1387229.1387234}, author = {Jorge Vallejos and Elisa Gonzalez Boix and Bainomugisha, Engineer and Costanza, Pascal and Wolfgang De Meuter and {\~A}{\textflorin}{\^a}{\texteuro}{\textdegree}ric Tanter} } @conference {vancutsem07at2, title = {AmbientTalk: object-oriented event-driven programming in Mobile Ad hoc Networks}, booktitle = {Inter. Conf. of the Chilean Computer Science Society (SCCC)}, year = {2007}, pages = {3{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}12}, publisher = {IEEE Computer Society}, organization = {IEEE Computer Society}, author = {Tom Van Cutsem and Stijn Mostinckx and Elisa Gonzalez Boix and Jessie Dedecker and Wolfgang De Meuter} } @booklet {gonzalezboix07demoat, title = {AmbientTalk/2: Object-oriented Event-driven Programming in Mobile Ad hoc Networks}, howpublished = {Demostration at European Conference on Object- Oriented Programming (ECOOP07)}, year = {2007}, author = {Elisa Gonzalez Boix and Tom Van Cutsem and Stijn Mostinckx and Stijn Timbermont and Jorge Vallejos Vargas and Jessie Dedecker and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @conference {333, title = {Assessing the impact of bad smells using historical information}, booktitle = {Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting}, year = {2007}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, isbn = {978-1-59593-722-3}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2007-IWPSE-Assessing\%20the\%20impact\%20of\%20bad\%20smells\%20using\%20historical\%20information.pdf}, author = {Lozano, Angela and Wermelinger, Michel and Nuseibeh, Bashar} } @conference {105, title = {Behavioral Similarity Matching using Concrete Source Code Templates in Logic Queries}, booktitle = {Proceedings of the ACM-SIGPLAN Symposium on Partial Evaluation and semantics-based Program Manipulation (PEPM07)}, year = {2007}, 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{\textquoteright}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{\textquoteright}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.

}, keywords = {logic meta programming, pattern detection, program analysis, program querying, program validation, source code templates}, author = {Coen De Roover and Johan Brichau and Carlos Noguera and Theo D{\textquoteright}Hondt and Duchien, Laurence} } @conference {gonzalezboix07context, title = {Context-Aware Leasing for Mobile Ad hoc Networks}, booktitle = {3rd Workshop on Object-Oriented technology for Ambient Intelligence and Pervasive Computing (OT4AmI) co-located at the European Conference on Object-Oriented Programming (ECOOP{\textquoteright}07)}, year = {2007}, month = {July}, pages = {7{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}12}, author = {Elisa Gonzalez Boix and Jorge Vallejos Vargas and Tom Van Cutsem and Jessie Dedecker and Wolfgang De Meuter} } @inbook {332, title = {Evaluating the harmfulness of cloning: a change based experiment}, booktitle = {Proc. of the int{\textquoteright}l workshop on Mining Software Repositories (MSR{\textquoteright}07)}, year = {2007}, pages = {18-21}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2007-MSR-Evaluating\%20the\%20harmfulness\%20of\%20cloning\%20a\%20change\%20based\%20experiment.pdf}, author = {Lozano, Angela and Wermelinger, Michel and Nuseibeh, Bashar} } @conference {95, title = {{Fact Spaces}: Coordination in the Face of Disconnection}, booktitle = {Coordination Models and Languages, 9th International Conference, COORDINATION 2007, Paphos, Cyprus, June 6-8, 2007, Proceedings}, year = {2007}, publisher = {Springer}, organization = {Springer}, isbn = {978-3-540-72793-4}, author = {Stijn Mostinckx and Christophe Scholliers and Eline Philips and Herzeel, Charlotte and Wolfgang De Meuter}, editor = {Murphy, Amy L. and Vitek, Jan} } @article {vallejos07mobility, title = {The Message-Oriented Mobility Model}, journal = {Proceedings of the conference on Objects, Models, Components, Patterns (TOOLS EUROPE)}, volume = {6}, year = {2007}, month = {June}, pages = {363 {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe} 382}, publisher = {Chair of Software Engineering at the ETH Zurich}, author = {Jorge Vallejos Vargas and Tom Van Cutsem and Elisa Gonzalez Boix and Stijn Mostinckx and Jessie Dedecker and Wolfgang De Meuter} } @conference {103, title = {Open Unification for Program Query Languages}, booktitle = {Proceedings of the XXVI International Conference of the Chilean Computer Science Society (SCCC 2007)}, year = {2007}, abstract = {

Logic-based programming languages are increasingly applied as \emph{program query languages} which allow developers to reason about the structure and behaviour of programs. To achieve this, the queried programs are reified as logic values such that logic quantification and unification can be used effectively. However, in many cases, standard logic unification is inappropriate for program entities, forcing developers to resort to overly complex queries. In this paper, we argue that such incidental complexity can be reduced significantly by customizing the unification algorithm. We present a practical implementation approach through inter-language reflection and open unification. These techniques are at the core of the logic program query language SOUL, through which we demonstrate custom unification schemes for reasoning over Smalltalk and Java programs. Queries written in this tailored version of SOUL can exploit advanced program matching strategies without increasing the incidental complexity of the queries.

}, keywords = {logic meta programming, open unification, program queries}, author = {Johan Brichau and Coen De Roover and Kim Mens} } @conference {vancutsem06addressing, title = {Ambient references: addressing objects in mobile networks}, booktitle = {International Dynamic Languages Symposium (DLS) in Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications (OOPSLA{\textquoteright}06)}, year = {2006}, pages = {986{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}997}, publisher = {ACM Press}, organization = {ACM Press}, address = {New York, NY, USA}, isbn = {1-59593-491-X}, doi = {http://doi.acm.org/10.1145/1176617.1176757}, author = {Tom Van Cutsem and Jessie Dedecker and Stijn Mostinckx and Elisa Gonzalez Boix and Theo D{\textquoteright}Hondt and Wolfgang De Meuter} } @booklet {gonzalezboix06posterAosd, title = {An Annotation System for Semi-Automatic Garbage Collection}, howpublished = {Poster Event at the 5th International Conference on Aspect-Oriented Software Development (AOSD 2006)}, year = {2006}, month = {March}, author = {Elisa Gonzalez Boix and Tom Van Cutsem and Stijn Mostinckx and Jessie Dedecker and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @conference {107, title = {An Approach to High-Level Behavioral Program Documentation Allowing Lightweight Verification}, booktitle = {Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC06)}, year = {2006}, 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{\textquoteright}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{\textquoteright}s actual behavior. We demonstrate our approach by using it to both document and verify an interpreter for a garbage-collected programming language.

}, keywords = {aspect-oriented programming, behave, documentation, dynamic analysis, logic meta programming, program comprenhension, temporal logic, temporal logic programming, testing, verification}, isbn = {0-7695-2601-2}, author = {Coen De Roover and Michiels, Isabel and Kris Gybels and Kris Gybels and Theo D{\textquoteright}Hondt} } @conference {106, title = {Combining Fuzzy Logic and Behavioral Similarity for Non-strict Program Validation}, booktitle = {Proceedings of the 8th ACM-SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP06)}, year = {2006}, abstract = {

The quality of an application{\textquoteright}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 {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}-wherein patterns can be expressed as constraints over facts representing a program{\textquoteright}s source code{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}-, 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{\textquoteright}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.

}, keywords = {fuzzy logic programming, logic meta programming, points-to-analysis, program analysis, program validation, quality assurance of object-oriented programs}, isbn = {1-59593-388-3}, author = {Coen De Roover and Johan Brichau and Theo D{\textquoteright}Hondt} } @conference {334, title = {Degradation archaeology: studying software flaws{\textquoteright} evolution}, booktitle = {Proc. 2nd Int{\textquoteright}l ERCIM Workshop on Software Evolution}, year = {2006}, url = {https://sites.google.com/site/alozanoresearch/publications/pdfs/Lozano-2006-Evol-Degradation\%20archaeology\%20studying\%20software\%20flaws\%20evolution.pdf}, author = {Lozano, Angela and Wermelinger, Michel and Nuseibeh, Bashar} } @inbook {mostinckx06ambient, title = {{A}mbient-{O}riented {E}xception {H}andling}, booktitle = {Advanced Topics in Exception Handling Techniques}, year = {2006}, pages = {141{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}160}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, isbn = {978-3-540-37443-5}, author = {Stijn Mostinckx and Jessie Dedecker and Elisa Gonzalez Boix and Tom Van Cutsem and Wolfgang De Meuter} } @article {Brichau2006, title = {{A} model curriculum for aspect-oriented software development}, journal = {IEEE Software}, volume = {23}, number = {6}, year = {2006}, note = {Special Issue on Software Engineering Curriculum Development}, month = {November/December}, pages = {53{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}61}, abstract = {A model postgraduate curriculum for aspect-oriented software development has been derived from practical experience of running postgraduate courses at nine institutions across Europe (part of the European Network of Excellence on AOSD). Several institutions have made concrete instantiations of the curriculum, from a summer school to part of a university master{\textquoteright}s degree course. The curriculum also relates to the Software Engineering Body of Knowledge. This article is part of a special issue on Software Engineering Curriculum Development.}, keywords = {CSc}, issn = {0740-7459}, doi = {10.1109/MS.2006.146}, author = {Johan Brichau and Ruzanna Chitchyan and Siobh{\~A}{\textflorin}{\^A}{\textexclamdown}n Clarke and Ellie D{\textquoteright}Hondt and Alessandro Garcia and Michael Haupt and Wouter Joosen and Shmuel Katz and Jacques Noy{\~A}{\textflorin}{\^A}{\textcopyright} and Awais Rashid and Mario S{\~A}{\textflorin}{\^A}{\textonequarter}dholt} } @conference {108, title = {Program Testing Using High-Level Property-Driven Models}, booktitle = {Proceedings of the Eighteenth International Conference on Software Engineering and Knowledge Engineering (SEKE06)}, year = {2006}, abstract = {

Testing is a crucial part of the software development life cycle that necessitates adequate techniques and tools. On the one hand, unit or function testing techniques are particularly easy and lightweight to use but are restricted to the testing of the external behaviour of a program. On the other hand, testing techniques that use property-driven models of the software are able to test behavioural properties of the entire execution of a program. However these models are often specified in terms of low-level execution events of the program. In this paper, we present the lightweight propertydriven testing platform called BEHAVE, where tests are written as property-driven behavioural models over highlevel run-time events. We validate our approach by testing behavioural properties related to the automatic memory management in the interpreter of the Pico programming language.

}, keywords = {behave, dynamic analysis, logic meta programming, program testing, program traces, temporal logic, temporal logic programming}, author = {Michiels, Isabel and Coen De Roover and Johan Brichau and Elisa Gonzalez Boix and Theo D{\textquoteright}Hondt} } @article {DHondt2006, title = {{Q}uantum weakest preconditions}, journal = {Mathematical Structures in Computer Science}, volume = {16}, number = {3}, year = {2006}, note = {quant-ph/0501157}, pages = {1{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}23}, keywords = {QPL}, url = {http://arxiv.org/abs/quant-ph/0501157}, author = {Ellie D{\textquoteright}Hondt and Prakash Panangaden} } @booklet {gonzalezboix06posterEcoop, title = {Semi-Automatic Garbage Collection for Mobile Networks}, howpublished = {Poster Event at the 20th European Conference on Object-Oriented Programming (ECOOP06)}, year = {2006}, author = {Elisa Gonzalez Boix and Tom Van Cutsem and Stijn Mostinckx and Jessie Dedecker and Wolfgang De Meuter and Theo D{\textquoteright}Hondt} } @conference {Danos05b, title = {Distributed measurement-based quantum computation}, booktitle = {Proceedings of the 3rd International Workshop on Quantum Programming Languages (QPL 2005)}, series = {ENTCS}, volume = {170}, year = {2005}, note = {quant-ph/0506070}, pages = {73{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}94}, keywords = {MEA}, url = {http://arxiv.org/abs/quant-ph/0506070}, author = {Vincent Danos and Ellie D{\textquoteright}Hondt and Elham Kashefi and Prakash Panangaden}, editor = {Peter Selinger} } @conference {DHondt2005c, title = {{R}easoning about quantum knowledge}, booktitle = {Proceedings of the 25th Conference on Foundations of Software Technology and Theoretical Computer Science}, series = {Lecture Notes in Computer Science}, volume = {3821}, year = {2005}, note = {quant-ph/0507176}, pages = {553{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}564}, publisher = {Springer Berlin / Heidelberg}, organization = {Springer Berlin / Heidelberg}, keywords = {QPL}, issn = {0302-9743}, doi = {10.1007/11590156_45}, author = {Ellie D{\textquoteright}Hondt and Prakash Panangaden} } @article {DHondt2005b, title = {{T}he computational power of the {W} and {GHZ} states}, journal = {Journal on Quantum Information \& Computation}, volume = {6}, number = {2}, year = {2005}, note = {quant-ph/0412177}, pages = {173{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^a}{\texteuro}{\oe}183}, keywords = {QDA}, url = {http://arxiv.org/abs/quant-ph/0412177}, author = {Ellie D{\textquoteright}Hondt and Prakash Panangaden} } @conference {109, title = {Towards Abstract Interpretation for Recovering Design Information}, booktitle = {Proceedings of the First International Workshop on Abstract Interpretation of Object-oriented Languages (AIOOL05)}, year = {2005}, month = {May}, abstract = {

It is a well-known problem that design information of object-oriented programs is often lost or is not kept up-to-date when the program evolves. This design information can be recovered from the program using such techniques as logic meta programming. In this technique logic queries are used to check whether the program is implemented along certain well-known patterns. Currently the technique relies on structural information and patterns are expressed in the queries as conditions over structural elements of the program. Some patterns are however better expressed in dynamic terms which requires behavioural information about the program. Such information can be obtained from execution traces of the program, but these record only one possible input dependent program execution out of many. Abstract interpretation of the object-oriented program could provide a well-founded means for extracting the necessary behavioural information.

}, keywords = {abstract interpretation, design recovery, dynamic analysis, logic meta programming}, author = {Coen De Roover and Kris Gybels and Theo D{\textquoteright}Hondt} } @mastersthesis {111, title = {Incorporating Dynamic Analysis and Approximate Reasoning in Declarative Meta-Programming to Support Software Re-engineering}, year = {2004}, school = {Vrije Universiteit Brussel}, type = {masters}, abstract = {

Software re-engineering is a complex process in which a maintainer is confronted with the challenging task of understanding the design of an existing application of which the documentation is often non-existent or no longer up-to-date. To support the software engineer in this precarious undertaking, many design recovery tools based upon declarative meta-programming techniques have been proposed, but most of them are only able to reason about a program{\textquoteright}s structural architecture instead of about the exhibited run-time behaviour. This document explores how behavioural analysis can complement structural source code analysis in the detection of software patterns in the broadest sense. Furthermore, interesting software patterns often describe inherently vague concepts which cannot be expressed efficiently in classical logic programming languages. Many software patterns are in addition described by such overly idealised logic rules that real-life variations on the implementation of these abstract patterns can no longer be detected. In this dissertation, we will therefore also study the use of approximate rea- soning techniques to overcome these common problems.

}, keywords = {declarative meta programming, dynamic analysis, fuzzy logic, fuzzy logic meta programming, logic meta programming, logic programming, trace semantics}, author = {Coen De Roover} }