Kris Gybels
Curriculum Vitae
Online version as of February 4, 2010 18:58

Personal Details

Name: Kris Gybels
Date of birth: July 5th, 1979
Gender: Male
Nationality: Belgian
Place of residence: Brussels capital region, Belgium
Driver's license: None
Website: http://soft.vub.ac.be/~kgybels
LinkedIn profile: http://www.linkedin.com/pub/1/36/b7a
E-Mail address: (hidden to prevent spam, please check the 'contact' section on my website)
Skype / iChat: Video or audio chat possible, please contact me through e-mail to schedule a session.

Brief Presentation

I started programming when I was about 11 and graduated as a licentiate in Computer Science in 2001. My subsequent 8 years in research have expanded my skill set from basic programming to a wide range of others (reporting research results, guiding people, organizing events, establishing and following up on work plans and budgets, writing project proposals, giving presentations, teaching and so on). I've also continued to work on my skills in my spare time, mostly by learning about Apple development technologies and using these in freeware application projects, as well as through participating in the Belgian Smalltalk Users Group community.

My expertise areas in research are, in some keywords: Aspect-Oriented Software Development, Declarative Meta Programming, Software Maintenance & Evolution and so on. Through my work at the research lab I've also been heavily exposed to other expertise areas such as Distributed Programming, Pervasive Computing, Domain-Specific Programming Languages and others.

My non-computer interests include swimming, the music by Elliot Goldenthal, typography and a beginning hobby in Indian-style vegetarian cuisine (but don't expect a dinner party just yet, I'm at the stage where I managed to stop burning the cumin seeds).

I am currently seeking new employment. I am open both to opportunities directly in line with my experience as a researcher as well as opportunities which allow me to pick up and further advance my long-held interest in application development. Please do contact me if you have an open position that you think might fit my profile.

Chronological Overview

Linguistic Proficiency

Dutch: Native speaker.
English: Fluent in both writing and conversation.
French: Intermediate reading skill, not fluent in writing or conversation.

Technical Competences

Programming paradigms: Object-Oriented Programming, Logic Programming, Functional Programming, Procedural Programming, Aspect-Oriented Programming
Programming languages: Scheme, Smalltalk, Prolog, C, C++, Objective-C, Java, Bash scripting, Javascript, PHP, AppleScript
Domain-specific languages: LaTeX, HTML, CSS, SQL
Database systems: PostgreSQL
IDE's: Apple Xcode, Eclipse, VisualWorks Smalltalk, Squeak Smalltalk
Office applications: Apple iWork (Pages, Numbers, Keynote), Microsoft Office (Word, Excel, PowerPoint)
Graphic design: Adobe Creative Suite (Photoshop, Illustrator), OmniGraffle
Web development: Adobe Creative Suite (Dreamweaver)
Operating systems: Mac OS X, Linux, Windows
Various: XML, AspectJ, CVS, SVN, Java Swing, Java Native Interface (JNI), SUnit, ...

University Work Experience Details

From 2001 to 2009, I've held positions as a research assistant and project collaborator at the “Vrije Universiteit Brussel” in the Programming Technology Lab of prof. dr. Theo D'Hondt. Because of the egalitarian organization of the lab, junior researchers take on much the same responsibilities as the more senior colleagues. From the start, I've been involved in programming research artefacts, reporting on research results, teaching, guiding students, following up on work plans and budgets, writing project proposals and so on.

Note that the Programming Technology Lab merged with another lab in 2009 and is now known as the “Software Languages Laboratory” under the direction of prof. dr. Theo D'Hondt, prof. dr. Viviane Jonckers and prof. dr. Wolfgang De Meuter.

Research Interests & Themes

The following summary from my website gives a brief overview of my research interests from 2001 to 2009:

My research interests are the foundations of Logic Meta Programming (LMP) and its applications to Aspect-Oriented Software Development. Logic meta programming is the use of a programming language based on the logic paradigm (such as SOUL) for writing programs about programs, such as design recovery tools, code refactoring browsers or "pointcuts" in Aspect-Oriented Programs (AOP). While the use of a logic language for meta programs that are not necessarily written in a logic language has advantages due to the declarative nature of logic programs, it also raises a number of research questions such as how to properly represent programs as data in the logic language, and how to integrate the logic and non-logic language to create a linguistic symbiosis. Ideally, such a symbiosis is transparent, allowing interaction between the two languages while not making it obvious that a boundary between languages is crossed. I have applied this to business rule integration, where it allows the object-oriented parts of the software to be freely replaced by logic rules and vice-versa. My application of LMP to AOP revolves around the design of pointcut languages, which are used in AOP to describe which runtime events to intercept in a program. I have created an advanced pointcut language, CARMA, which, by using sophisticated features of LMP, helps decrease the coupling of these descriptions to the rest of the program. I am doing further research on the design of this language, and the question of whether techniques such as Inductive Logic Programming can be used to automatically mine programs for pointcuts.

Project Collaboration

I was involved in two of the lab's research projects with other universities and companies: the IWT-funded Flemish project “AspectLab” and the international project “European Network of Excellence on Aspect-Oriented Software Development".

The “AspectLab” project, together with “AspectLab-bis”, was a four-year research project with the universities of Brussels (VUB), Leuven (KUL) and Ghent (UGent) as academic partners. A number of companies were featured in the project consortium, from which some case studies for the research were also obtained: WTCM Software Cel, CM, Alcatel, Luciad, AZ VUB, Application Engineers, LMS, Ubizen, Inno.com and EDS&ADM. I co-wrote the research plan for the project proposal, participated in the meetings with the other universities to establish the work plan and budget, and was responsible for executing the research and development of several deliverables.

The “AOSD-EU” project was a four-year European project to foster collaboration between the University of Lancaster, the Vrije Universiteit Brussel, Trinity College Dublin, INRIA, the University of Malaga, the Israel Institute of Technology, the University of Twente, the University of Leuven, the Technical University of Darmstadt, IBM and Siemens. I was not involved in this project from the start, but became responsible for it during its last ±18 months. This involved executing the research in cooperation with the other partners, writing deliverables, participating in the half-yearly project meetings, revising the work plan and following up on the budget and reporting results to the EU commission.

Thesis Student Guidance

I have guided several students for their master's, or licentiate's thesis dissertation. Providing guidance is largely a skill transfer activity in which the student gradually takes on some of the responsibilities of a researcher. Regardless of whether the student pursues a further career in or outside of research, these are generally useful skills for any job (writing skills, analysis skills, independent thinking, ...). Several of the students I guided went on to become members of the Software Languages lab (or its precursors PROG and SSEL) as researchers: Jessie Dedecker, Adriaan Peeters, Coen De Roover, Mathieu Braem, Charlotte Herzeel, Stijn Timbermont and Verónica Uquillas Gómez.

Besides these students who wrote their thesis dissertation under my direct supervision, I've also been involved in the work of numerous other students. Students under the supervision of any lab member are required to regularly present the status of their work to the entire lab. I frequently participated in the ensuing discussion and provided feedback.

  • Introducing Temporal Logic into Declarative Meta Programming
    Verónica Uquillas Gómez, Master's Thesis, 2008
    Promotor: Theo D'Hondt
    Advisers: Kris Gybels and Andy Kellens
  • An Implementation of Logic Pointcut Languages in Metaspin
    Roberto Sanchez Sanchez, Master's Thesis, 2008
    Promotor: Theo D'Hondt
    Advisers: Kris Gybels and Bram Adams
  • Software Composition through Linguistic Symbiosis
    Lieven De Keyzer, Licentiate's Thesis, 2006
    Promotor: Theo D'Hondt
    Advisers: Wolfgang De Meuter and Kris Gybels
  • Context-Oriented Meta-Programming
    Stijn Timbermont, Licentiate's Thesis, 2006
    Promotor: Theo D'Hondt
    Advisers: Pascal Costanza, Jessie Dedecker and Kris Gybels
  • A Temporal Logic Language for Context-Dependence in Crosscuts
    Charlotte Herzeel, Licentiate's Thesis, 2006
    Promotor: Theo D'Hondt
    Advisers: Kris Gybels and Pascal Costanza
  • Experiences In Migrating An Industrial Application To Aspects
    Abdelbaset Almasri and Iyad Albayouk, Master's Thesis, 2006
    Promotor: Theo D'Hondt
    Advisers: Andy Kellens and Kris Gybels
  • A Symbiosis between Delegation-based and Inheritance-based Object-oriented Programming Languages
    Wouter Lievens, Licentiate's Thesis, 2005
    Promotor: Theo D'Hondt
    Advisers: Stijn Mostinckx, Tom Van Cutsem and Kris Gybels
  • A Symbiotic Approach to Aspect-Oriented Logic Meta Programming In a Prototype-based Language
    Tom Leuse, Licentiate's Thesis, 2005
    Promotor: Theo D'Hondt
    Advisers: Tom Van Cutsem and Stijn Mostinckx
    I was not officially an adviser for this thesis, but because I did have some close involvement in the project, I've also listed it here for future reference.
  • Incorporating Inductive Logic Programming in Aspect-Oriented Refactoring to Produce Pattern-Based Crosscuts For Use In A Logic Pointcut Language
    Mathieu Braem, Licentiate's Thesis, 2005
    Promotor: Theo D'Hondt
    Advisers: Kris Gybels and Andy Kellens
  • Incorporating Dynamic Analysis and Approximate Reasoning in Declarative Meta-Programming to Support Software Re-engineering
    Coen De Roover, Licentiate's Thesis, 2004
    Promotor: Theo D'Hondt
    Advisers: Kris Gybels
  • A Logic Meta-Programming Approach to Support Concern Interaction Detection
    Andrea Veronica Vladu, Master's Thesis, 2004
    Promotor: Theo D'Hondt
    Advisers: Kris Gybels and Johan Brichau
  • Language Symbiosis through a joint Abstract Grammar
    Adriaan Peeters, Licentiate's Thesis, 2003
    Promotor: Theo D'Hondt
    Advisers: Kris Gybels and Maja D'Hondt
  • Dynamic Aspect Composition using Logic Metaprogramming
    Jessie Dedecker, Master's Thesis, 2002
    Promotor: Theo D'Hondt
    Co-promotor: Maximo Prieto
    Advisers: Johan Brichau and Kris Gybels

Research Publication Reviewing

I did reviewing work for several scientific publication venues, either as main reviewer or as a co-reviewer (usually for prof. dr. Theo D'Hondt, prof. dr. Viviane Jonckers or prof. dr. Wolfgang De Meuter; but also for others). Reviewing entails reading articles that have been submitted for potential publication and providing a critical analysis of the work's scientific merits and flaws. I've often been thanked specifically for the in-depth nature and comprehensiveness of my reviews.

As Reviewer for Conferences, Journals and Magazines

  • Journal of Systems and Software, ed. Hans van Vliet (June 2009)
  • Journal of Systems and Software, ed. Hans van Vliet (January 2008)
  • IEEE Software, Special Issue on Aspect-Oriented Programming, guest ed. Gail Murphy and Christa Schwanninger (Vol. 23, No. 1, January/February 2006)

As Reviewer for Workshops

  • Workshop on Software-engineering Properties of Languages and Aspect Technologies 2008 [as co-organizer]
  • Workshop on Software-engineering Properties of Languages and Aspect Technologies 2007 [as co-organizer]
  • Workshop on Software-engineering Properties of Languages and Aspect Technologies 2005 [as co-organizer]
  • European Interactive Workshop on Aspects in Software 2005 [as co-organizer]
  • Workshop on Software engineering Properties of Languages for Aspect Technologies 2004 [as co-organizer]
  • European Interactive Workshop on Aspects in Software 2004 [as co-organizer]

As Co-Reviewer

  • Aspect-Oriented Software Development 2009
  • Aspect-Oriented Software Development 2008
  • Dynamic Languages Conference 2007
  • European Conference on Object-Oriented Programming 2007
  • European Conference on Object-Oriented Programming 2006
  • Net.ObjectDays Conference 2006
  • International Conference on Model Driven Engineering Languages and Systems 2006
  • European Smalltalk Users Conference 2004
  • Journée Francophone sur le Développement de Logiciels Par Aspects 2004
  • European Conference on Object-Oriented Programming 2003
  • International Conference on Aspect-Oriented Software Development 2003

Invited Stays

  • Université de Savoie, Annecy, France (3-30 November 2006), at the invitation of prof. dr. Stéphane Ducasse

Project and Scholarship Proposals

I participated in the writing of the following research project proposals:

  • “AspectLab” and “AspectLab-bis”: projects aiming to transfer the concept of aspect-oriented programming to Flemish industry; proposal submitted in 2004 with the Flemish research funding agency IWT (accepted)
  • “Aspect Mining and Reverse Engineering”: project aiming to develop novel techniques for identifying and refactoring croscutting concerns in existing software; proposal submitted in 2005 as a Specific Targeted Research Project (EU STReP project) (not accepted, review received questioned the large size and management structure of the project, but was very positive about its scientific merits)

I was directly responsible for guiding the people listed below in writing and defending a research scholarship proposal. Besides these, I've also been involved in the writing of other scholarship proposals through group brainstorm sessions, oral defense rehearsals, reviewing drafts and so on.

  • “Tool Support Based on Declarative Meta Programming for Easing Architectural Evolution”, Dehousse scholarship proposal, Verónica Uquillas Gómez, 2008 (accepted)
  • “Temporeel logisch programmeren als basis voor een declaratieve aspecttaal voor event-driven programmeren” (“Temporal logic programming as a basis for a declarative aspect language for event-driven programming”), scholarship proposal to Flemish Institute for Science and Technology (IWT), Charlotte Herzeel, 2006 (accepted)
  • “Flexibele detectie van software-idiomen ter bevordering van programmabegrip” (“Flexible detection of software idioms for improvement of program comprehension”), scholarship proposal to Flemish Institute for Science and Technology (IWT), Coen De Roover, 2004 (accepted)
  • “Codehergebruik in linguistische diversiteit door middel van taalintegratie” (“Code reuse under linguistic diversity through language integration”), scholarship proposal to Flemish Institute for Science and Technology (IWT), Adriaan Peeters, 2003 (not accepted)

Teaching

I taught exercise sessions for various courses:

  • “Principles of Object-Oriented Languages” introduces the historical backgrounds of object-oriented programming, covers several variations of object-oriented programming models by explaining the construction of interpreters for them and touches upon some concepts beyond OOP as well. In the recitation sessions I taught students the Smalltalk language and environment, all the way from basic object and class manipulation to full meta-programming. In the course, they are also shown a model of how Smalltalk works, implemented in Scheme using macro's; in the final sessions in the recitations I dealt with extending this model with multiple inheritance.
  • “Software Project” is a mandatory project course for second year students, in which they have to analyse, design and implement a small software system in the Scheme programming language. For the 2006-2007 year project, I was responsible for this course together with Steven Claes and Coen De Roover. We chose an “intelligent library” as the target system. Students were expected to deliver a digital library system, allowing users to import documents and tagging them with metadata while the system should also offer intelligent search and organising techniques based on clustering algorithms.
  • “Research Topics in Aspect-Oriented Software Development” is a course which gives students a rapid overview of AOSD research by letting several VUB researchers in the field give a lecture on their research topic. In the 2005-2006 year I gave a lecture on my research into logic-based pointcut languages.
  • “Algorithms and Data Structures II” is a second-year follow-up course which builds on the students' knowledge of their first-year course, but deepens their algorithm analysis skills by focussing on a few specific algorithms that are more complex. Algorithms for memory management and disk-based data storage are used as illustrations.
  • “Techniques of Software Architecture” was a course which picked up where Principles of Object-Oriented Programming left off. Despite the name, the course had evolved to be about more than just software architecture, the general theme was “software engineering which goes beyond mere Object-Oriented Programming”. In the recitations I got the students to explore a variety of topics through a variety of means: in the 2002-2003 year we did hands-on exercises of aspect-oriented programming with AspectJ and SUnit testing, reading and writing exercises involving conference papers on refactoring and group discussions on software architecture. The course later further evolved and as such had its title changed to “Aspect-Oriented Software Development”.

Attended and Organized Research Events

Naturally, I have attended several conferences, workshops and other types of research events. I've also been on the organizing committee of several workshops, notably the series of workshops “European Interactive Workshop on Aspects” and the series of workshops “Software Engineering Properties of Languages and Aspect Technologies”.

I was a member of the local organizing team of the “European Smalltalk Users Group Joint Event 2005”, and the “International Conference on Aspect-Oriented Software Development 2008”.

Links to the websites of these events can be found on my own website.

  • AOSD 2008, International Conference on Aspect-Oriented Software Development [Member of Local Organizing Team]
    Brussels, Belgium, March 31st-April 4th, 2008
    • Workshop on Software-engineering Properties of Languages and Aspect Technologies [Co-Organizer]
  • SAC 2008, Symposium on Applied Computing
    Fortaleza, Brazil, March 16 - 20, 2008
    • Track on Programming for Separation of Concerns
  • AOSD 2007, International Conference on Aspect-Oriented Software Development
    Vancouver, Canada, March 12-16, 2007
    • Workshop on Software-engineering Properties of Languages and Aspect Technologies [Co-Organizer]
    • 7th International Workshop on Runtime Verification
  • European Interactive Workshop on Aspects in Software [Main Organizer]
    Brussels, Belgium, September 1-2, 2005
  • Thirteenth European Smalltalk User Group (ESUG) Joint Event [Member of Local Organizing Team]
    Brussels, Belgium, August 13-20, 2005
  • International Conference on Aspect-Oriented Software Development
    Chicago, USA, March 14-18, 2005
    • Workshop on Linking Aspect Technology and Evolution
    • Workshop on Software-engineering Properties of Languages and Aspect Technologies [Co-Organizer]
  • First European Interactive Workshop on Aspects in Software [Co-Organizer]
    Berlin, Germany, September 23-24, 2004
  • Symposium on Software Evolution and Aspect-Oriented Programming
    Gent, Belgium, May 3d, 2004
  • AOSD'04 International Conference on Aspect-Oriented Software Development
    Lancaster, United Kingdom, March 22-26, 2004
    • Workshop on Software engineering Properties of Languages for Aspect Technologies [Co-Organizer]
    • Dynamic Aspects Workshop
  • Second International Conference on Generative Programming and Component Engineering
    Erfurt, Germany, September 22-25, 2003
    • Workshop on Reflectively Extensible Programming Languages and Systems
  • Confederated conferences on Principles, Logics and Implementations of High-Level Programming Languages (PLI'03)
    Uppsala, Sweden, August 25-29, 2003
    • Workshop on Declarative Programming in the Context of Object-Oriented Languages 2003
  • European Conference on Object-Oriented Programming 2003
    Darmstadt, Germany, July 21-25, 2003
    • Eighth International Workshop on Component-Oriented Programming
    • Object-oriented language engineering for the post-Java era
  • Second International Conference on Aspect-Oriented Software Development
    March 17 - 21, 2003. Boston, Massachusetts
    • Workshop on Software Engineering Properties of Languages for Aspect-Oriented Technologies
  • Joint Belgian & Dutch AOP Workshop 2003 [Co-Organizer]
    Twente, Netherlands, January 21st, 2003
  • Conference on Object-Oriented Programming, Languages, Systems and Applications 2002
    Seattle, November 4-8, 2002
    • Workshop on Tool Support for Aspect Oriented Software Development
  • 10th Conference of the European Smalltalk Users Group
    Douai, France, August 27-30, 2002
  • European Conference on Object-Oriented Programming 2002
    Malaga, Spain, June 10-14, 2002
    • Workshop on Multiparadigm Programming with Object-Oriented Languages
  • Second German Workshop on Aspect-Oriented Software Development
    Bonn, Germany, February 21-22, 2002
  • First Belgian AOSD Workshop
    Brussels, Belgium, November 8, 2001

Publications

I'm the author of ±30 scientific publications, as listed below. Links to the complete text of these publications can be found on my website.

Conference Papers

  • Symbiosis in logic-based pointcuts over a history of join points
    Kris Gybels, Charlotte Herzeel, Theo D'Hondt
    Proceedings of the 2008 ACM symposium on Applied computing, 2008
  • Forward Chaining in HALO: an Implementation Strategy for History-based Logic Pointcuts
    Charlotte Herzeel, Kris Gybels, Pascal Costanza, Coen De Roover, Theo D'Hondt
    International Conference on Dynamic Languages, 2007
  • Modularizing Crosscuts in an E-commerce Application in Lisp using HALO
    Charlotte Herzeel, Kris Gybels, Pascal Costanza, Theo D'Hondt
    Proceedings of the International Lisp Conference 2007, 2007
  • Managing the Evolution of Aspect-Oriented Software with Model-Based Pointcuts
    Andy Kellens, Kim Mens, Johan Brichau, Kris Gybels
    Proceedings of the 20th European Conference on Object-Oriented Programming, 2006
  • An Approach to High-Level Behavioral Program Documentation Allowing Lightweight Verification
    Coen De Roover, Isabel Michiels, Kim Gybels, Kris Gybels, Theo D'Hondt
    Proceedings of the 14th International Conference on Program Comprehension (ICPC 2006), Athens (Greece), 2006
  • Application-specific Models and Pointcuts using a Logic Metalanguage
    Johan Brichau, Andy Kellens, Kris Gybels, Kim Mens, Robert Hirschfeld, Theo D'Hondt
    Proceedings of the European Smalltalk Users Conference, 2006
  • Seamless Integration of Rule-Based Knowledge and Object-Oriented Functionality with Linguistic Symbiosis
    Maja D'Hondt, Kris Gybels, Viviane Jonckers
    Proceedings of the 19th Annual ACM Symposium on Applied Computing (SAC 2004), Special Track on Object-Oriented Programming, Languages and Systems, 2004
  • Arranging Language Features for more Robust Pattern-based Crosscuts
    Kris Gybels, Johan Brichau
    Proceedings of the Second International Conference on Aspect-Oriented Software Development, 2003

Journal Papers

  • Forward Chaining: an Implementation Strategy for History-based Logic Pointcut Languages
    Charlotte Herzeel, Kris Gybels, Pascal Costanza, Coen De Roover, Theo D'Hondt
    COMLAN, 2008
  • Application-specific Models and Pointcuts using a Logic Metalanguage
    Johan Brichau, Andy Kellens, Kris Gybels, Kim Mens, Robert Hirschfeld, Theo D'Hondt
    Computer Languages, Systems \& Structures, 2007
  • Context-Aware Aspects
    Eric Tanter, Kris Gybels, Marcus Denker, Alexandre Bergel
    Proceedings of the 5th International Symposium on Software Composition, 2006
  • Inter-Language Reflection: A Conceptual Model and Its Implementation
    Kris Gybels, Roel Wuyts, Stephane Ducasse, Maja D'Hondt
    Elsevier Journal on Computer Languages, Systems and Structures, 2006
  • Automated Pattern-Based Pointcut Generation
    Mathieu Braem, Kris Gybels, Andy Kellens, Wim Vanderperren
    Proceedings of Software Composition 2006, LNCS 4089, Springer-Verlag, April 2006., 2006
  • Towards Abstract Interpretation for Recovering Design Information
    Coen De Roover, Kris Gybels, Theo D'Hondt
    Proceedings of the First International Workshop on Abstract Interpretation of Object-Oriented Languages, 2005
  • Induced Intentional Software Views
    Tom Tourwe, Johan Brichau, Andy Kellens, Kris Gybels
    Elsevier's Computer Languages, Systems and Structures Journal, 2004

Workshop Papers

  • Experiments with Pro-active Declarative Meta-Programming
    Veronica Uquillas Gomez, Andy Kellens, Kris Gybels, Theo D'Hondt
    International Workshop on Smalltalk Technologies, 2009
  • cHALO, Stateful Aspects in C
    Bram Adams, Charlotte Herzeel, Kris Gybels
    Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software, 2008
  • Escaping with Future Variables in HALO
    Charlotte Herzeel, Kris Gybels, Pascal Costanza
    Post-workshop Proceedings of the Seventh International Workshop on Runtime Verification, 2007
  • A Semantic-based Runtime Weaver for Dynamic Management of the Join Point History
    Charlotte Herzeel, Kris Gybels, Pascal Costanza
    Proceedings of the Seventh Workshop on Runtime Verification, 2007
  • A Temporal Logic Language for Context Awareness in Pointcuts
    Charlotte Herzeel, Kris Gybels, Pascal Costanza
    Workshop on Revival of Dynamic Languages, 2006
  • Inducing evolution-robust pointcuts
    Mathieu Braem, Kris Gybels, Andy Kellens, Wim Vanderperren
    ERCIM Evolution Workshop, Lille, France, 2006
  • A Model-Driven Pointcut Language for More Robust Pointcuts
    Andy Kellens, Kim Mens, Johan Brichau, Kris Gybels
    Software Engineering Properties of Languages for Aspect Technology (SPLAT) workshop collocated with AOSD 2006, Bonn, Germany, 2006
  • Experiences with Identifying Aspects in Smalltalk Using 'Unique Methods'
    Kris Gybels, Andy Kellens
    Workshop on Linking Aspect Technology and Evolution, 2005
  • Issues in Performing and Automating the 'Extract Method Calls' Refactoring
    Andy Kellens, Kris Gybels
    Software Engineering Properties of Languages and Aspect Technologies (SPLAT) workshop, collocated with AOSD 2005, Chicago, USA, 2005
  • An Experiment in Using Inductive Logic Programming to Uncover Pointcuts
    Kris Gybels, Andy Kellens
    First European Interactive Workshop on Aspects in Software, 2004
  • Building Software with Logic and OO Symbiosis: an Experience Report
    Johan Fabry, Kris Gybels
    MPOOL04 workshop at ECOOP 2004, 2004
  • Aspects in a Prototype-Based Environment
    Thomas Cleenewerck, Kris Gybels, Adriaan Peeters
    Dynamic Aspects Workshop, AOSD 2004, 2004
  • On the Existence of the AOSD-Evolution Paradox
    Tom Tourwe, Johan Brichau, Kris Gybels
    Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT 2003), 2003
  • SOUL and Smalltalk - Just Married: Evolution of the Interaction Between a Logic and an Object-Oriented Language Towards Symbiosis
    Kris Gybels
    Proceedings of the Workshop on Declarative Programming in the Context of Object-Oriented Languages, 2003
  • Enforcing Feature Set Correctness for Dynamic Reconfiguration with Symbiotic Logic Programming
    Kris Gybels
    Eighth International Workshop on Component-Oriented Programming, 2003
  • Linguistic Symbiosis through Coroutined Interpretation
    Theo D'Hondt, Kris Gybels, Maja D'Hondt, Adriaan Peeters
    Workshop on Language Engineering for the Post-Java Era, 2003
  • Can Domain-Specific Languages Benefit from Linguistic Symbiosis?
    Kris Gybels
    Workshop on Reflectively Extensible Programming Languages and Systems at GPCE, Erfurt, Germany, 2003
  • Assisting System Evolution: A Smalltalk Retrospective
    Robert Hirschfeld, Wagner Matthias, Kris Gybels
    Proceedings of the ECOOP 2002 First International Workshop on Unanticipated Software Evolution (USE), Malaga, Spain, June 10-14, 2002., 2002
  • Towards a Linguistic symbiosis of an Object-Oriented and a Logic Programming Language
    Johan Brichau, Kris Gybels, Roel Wuyts
    Proceedings of the Workshop on Multiparadigm Programming with Object-Oriented Languages, 2002
  • Using a Logic Language to Express Cross-cutting through Dynamic Joinpoints
    Kris Gybels
    Proceedings of the Second German Workshop on Aspect-Oriented Software Development, Technical Report IAI-TR-2002-1 Universitat Bonn, 2002

Posters

  • Logic Pointcut Languages
    Kris Gybels, Charlotte Herzeel, Mathieu Braem, Johan Brichau, Pascal Costanza, Maja D'Hondt, Andy Kellens, Wim Vanderperren
    Poster at launch event for MOVES, Belgian project for inter-university collaboration, 2007
  • History-based Aspects Using Temporal Logic for Context Awareness in Pointcuts
    Charlotte Herzeel, Kris Gybels, Pascal Costanza
    ECOOP 2006 Poster Sessions, 2006
  • A Temporal Logic Language for Context Awareness in Pointcuts
    Charlotte Herzeel, Kris Gybels, Pascal Costanza
    AOSD 2006 Student Extravaganza Poster Session, 2006

Proceedings

  • Proceedings of the 6th workshop on Software engineering Properties of Languages and Aspect Technologies
    Erik Ernst, Lodewijk Bergmans, Kris Gybels
    ACM Digital Library, 2008
  • Proceedings of the 5th workshop on Software engineering Properties of Languages and Aspect Technologies
    Lodewijk Bergmans, Johan Brichau, Erik Ernst, Kris Gybels
    ACM Digital Library, 2007

Spare Time Development Experience Details

I've often engaged in my spare time in hobby development projects that were not directly related to my work or studies. Most of these are small-scale programs undertaken to fill a gap in my computer usage experience, or to learn some new technologies; often a combination of both goals. I like making such projects available as freeware or donation-ware. While developing a public release usable by others would often require more than double the amount of work, I find the end result is more useful to me as well in providing a better user interface, better error handling, more exposure to possible bug-revealing situations and so on. I use the sites VersionTracker and SourceForge for this purpose.

As a representative example: RAR Expander is a Mac OS X application for extracting the files contained in RAR compressed file archives. I started this project because, at the time, the leading Mac application Stuffit Expander had bugs in how it dealt with multi-file RAR archives; there was no GUI-based alternative. As a learning experience, this originally Java-based project was useful in teaching me how to link with a C-based RAR expansion library using the Java Native Interface (JNI). Dissatisfied with the complexity of handling communications between the user-focused and background work threads, I rewrote the application from scratch in Objective-C. In the process I learned about Objective-C itself, Apple's Xcode IDE, the Cocoa framework and the Distributed Objects system. The application is available for public download under an open source license through Sourceforge: http://rarexpander.sourceforge.net/

Some of the projects in my teenage years were a graphical Monopoly-like game in Commodore 64 BASIC, a Pong clone in 6510 assembly, a phone cost calculator extension in C for the ProBoard BBS system and an 8-track “mod” music editor requested by a friend and written in C++. Recall this was in the years in which Internet access was not yet widespread and I could not easily communicate with other programmers. Most of the time, all the learning materials I had at my disposal were an assorted set of library books, a continuous interest in experimenting and a determination to make it work.