Back to my home page

IRM | FSA | iCampus | TWiki

Research Achievements of Kim Mens

INGI

Publications, Projects, Presentations and Collaborations

For a list of my scientific publications, reseach projects and networks, presentations, or collaborations with other researchers, the navigation buttons on the left will bring you to the corresponding page.


Ph.D. Researchers

My research team is currently composed of the following researchers :

Sebastián González is doing research on a fine-grained dynamic software composition model to support ambient intelligence and adaptive mobile computing.
Diego Ordonez will be conducting research on the automatic extraction of higher-level information from source code, in the context of our research project APPAREIL with Rhea Systems S.A. and CWI.


Research Tools

Here is a list of tools which I developed or co-developed, or which I use for my research.

  • The SOUL Logic Meta Programming tool enables declarative reasoning about the structure of class-based object-oriented programs, and Smalltalk programs in particular. The program that is reasoned about is reified as logic facts and rules, making SOUL a meta-language for Smalltalk. It is thus possible to query Smalltalk code and reason about relations between static source-code elements. This allows us to express, extract and verify the link between design and implementation. More information on SOUL can be found by clicking on this link (to a slightly outdated page).

    Although I have actively participated in the development of SOUL, and more specifically in the development of LiCoR, the library for code reasoning that comes with SOUL, I am currently using it mainly as a research vehicle for doing more advanced experiments, such as my ongoing research on intensional views. SOUL itself is currently being developed and maintained further by researchers of the Programming Technology Lab at the Vrije Universiteit Brussel, Belgium.

    Some screenshots of the SOUL Clause Browser and SOUL Query Browser tools are given below:

  • For our research on conceptual code mining and aspect identification we developed DelfSTof. (In collaboration with Dr. Tom Tourwé at CWI, Amsterdam.) It is a small framework developed in VisualWorks Smalltalk which allows us to conduct a variety of concept analysis experiments over Smalltalk or Java source code.
    A small screenshot of this tool is shown below:


  • For my research on intensional views (formerly known as "intentional views" or "virtual classifications"; see nomenclature), I developed a variety of tools, typically in collaboration with other researchers (most notably Andy Kellens and Roel Wuyts). The Intensional View Editor is a tool for defining, browsing, editing and checking Intensional Views; the Relation Browser is a set of tools for defining, browsing, deducing and checking relations among intensional views. The development of a View Environment which groups and integrates all these tools related to intensional views is future work.
    For more information on these tools we refer to our WIKI pages on intensional views. A screenshot of these tools can also be found on my ongoing research pages.

Organization of conferences and workshops

Below you can find a list of workshops (and conferences) where I was involved in the organization.

Workshops

I co-organized the following workshops :

  • June 14, 2004. Fifth international workshop on Object-Oriented Reengineering (WOOR 2004) at ECOOP 2004, Oslo, Norway. A summary of this workshop will be published by Springer-Verlag in the ECOOP 2004 Workshop Reader.
  • July 21, 2003. Fourth international workshop on Object-Oriented Reengineering (WOOR 2003) at ECOOP 2003, Darmstadt, Germany. A summary of this workshop has been published by Springer-Verlag in the ECOOP2003 Workshop Reader.
  • September 23, 2002. Workshop on Declarative Meta Programming to Support Software Development (DMP 2002) at ASE 2002, Edinburgh, United Kingdom. A report of this workshop has been published in ACM SIGSOFT Software Engineering Notes, January 2003.
  • June 10, 2002. Knowledge-Based Object-Oriented Software Engineering (KBOOSE) at ECOOP 2002, Malaga, Spain. A summary of this workshop has been published by Springer-Verlag in the ECOOP2002 Workshop Reader.
  • July 21, 1998. Workshop on Tools and Environments for Business Rules at ECOOP 1998 conference in Brussels. A report of this workshop has been published by Springer-Verlag in the ECOOP 1998 workshop reader.
  • June 10, 1997. Workshop on Aspect-Oriented Programming (AOP) at ECOOP 1997, Jyväskylä, Finland. A report of this workshop has been published by Springer-Verlag in the ECOOP 1997 workshop reader.
  • July 8, 1996. Workshop on Adaptability in Object-Oriented Software Development at ECOOP 1996, Linz, Austria.

Conferences

  • July 20 – July 24, 1998. Part of the organizing team (and student volunteer chair) of ECOOP 1998, Brussels, Belgium.

Seminars

  • May 22, 2003. Organization of the 2003 FNRS Day of the contact group “Informatique fondamentale”. Theme: “Software (re-)engineering”. Location: campus UCL, Louvain-la-Neuve, Belgium. Invited speaker: Serge Demeyer.

Demonstrations


Research visits

  • April 17-22, 2005. Dagstuhl Seminar 05161 on Transformation Techniques in Software. (Organizers: James Cordy, Ralf Lämmel and Andreas Winter.)

  • October 31 – November 4, 2004. Short visit to the Software Composition Group at the University of Bern, to integrate the SOUL logic meta-programming language with the MOOSE reengineering environment. This visit was funded by the FWO Scientific Research Network on Foundations of Software Evolution.

  • October 10-12, 2004. Short research visit to TU Delft (The Netherlands) to collaborate with my colleagues of TU Delft (The Netherlands), CWI (The Netherlands) and IRST (Italy) on how to compare or combine three different aspect mining tools that have been developed by the different parties involved. This visit was partially funded by the ESF in the context of the RELEASE research network.

  • July 21 until August 8, 2002. Intensive research visit to the Software Composition Group at the Institut fur Informatik at the University of Bern, Switzerland, to work on the integration of the Intensional View Browser with the VisualWorks Smalltalk programming environment and with the StarBrowser tool which was being developed by Roel Wuyts. This visit was funded by an FNRS travel grant.

  • May 27-31, 2001. Research visit to the LabMAC research lab at the Universidade de Lisboa and the software company Oblog in Lisbon (Portugal), in the context of a research collaboration with Prof. Michel Wermelinger.

  • July 25 – August 6, 1995. Marktoberdorf summer school on “Logic of Computation” in Marktoberdorf, Germany. Partially funded by a NATO travel grant.

Paper reviewing and program committees

Below you can find a list of conferences and workshops for which I acted as a peer reviewer, either as program committee member or by invitation.

Conferences

  • PC member of the Aspect-Oriented Software Development conference (AOSD 2002, Enschede, The Netherlands, April 22-26, 2002)
  • PC member for the research track of the annual European Smalltalk User Group (ESUG 2004, Köthen, Germany, September 6-10, 2004)

Journals

  • Reviewer for the Journal of Automated Software Engineering — Special issue on Software Architecture Reconstruction and Modeling; editors: Arie van Deursen, Rick Kazman & Rainer Koschke, 2003.
  • Reviewer for the JSME journal special issue on Separation of concerns for software evolution, 2002.
  • Reviewer for the special issue on Aspect-Oriented Programming of the Communications of the ACM, 2001.

Workshops

  • PC member for the 1st European Interactive Workshop on Aspects in Software (EIWAS 2004). September, 23-24, 2004, Berlin, Germany.
  • PC member for the Early Aspects Workshop 2004, March 22, 2004, Lancaster, UK.
  • PC member for the ICSM 2003 workshop on Evolution of Large-scale Industrial Software Applications (ELISA 2003). September 23, 2003, Amsterdam, The Netherlands.
  • PC member for the ECOOP 2003 workshop on Correctness of Model-based Software Composition (CMC 2003). July 22, 2003, Darmstadt, Germany.
  • PC member for the Aspect-Oriented Software Development workshop of the German Informatics Society (AOSDGI 2003). March 4-5, 2003, Essen, Germany.
  • PC member for the ECOOP 2002 workshop on Model-based Software Reuse (MBSR 2002). June 10, 2002, Malaga, Spain.

Highlights (en français ... à traduire)


Logic Meta-Programming Un de mes acquis scientifiques, en collaboration avec mes collègues de la VUB, est la technique de la « métaprogrammation logique » et l’outil SOUL correspondant. SOUL permet de raisonner sur la structure des programmes orientés objets qu’il manipule de façon déclarative. Le langage SOUL est entre autres utilisé pour améliorer :
Intensional Views Une vue intensionnelle est un ensemble d’entités de code source ayant certaines propriétés structurelles en commun. Nous avons développé une technique pour décrire de tels ensembles de façon intensionnelle, à l’aide de requêtes logiques. Cette technique permet de déclarer explicitement des relations entre vues et, de là, décrire les composantes et connexions architecturales d’un système logiciel à un niveau plus élevé, facilitant l’analyse, sans perdre la possibilité de vérifier la conformité du code source à cette architecture.

Co-evolution Notre recherche en co-évolution de conceptions et implémentations logicielles étudie la cohérence entre conception et implémentation d’un logiciel, lorsque celles-ci évoluent. Nous avons développé une technique originale basée sur la métaprogrammation logique pour établir un lien bi-directionnel entre la conception et l’implémentation: un programme logique enrichit l’implémentation avec une description de la conception. En exécutant le programme logique, cette description peut être vérifiée automatiquement, assurant ainsi une cohérence entre la conception et l’implémentation.

Reuse Contracts Some highlights or research achievements and tools on Reuse Contracts.

Object-Oriented Software Development Les vues intensionnelles augmentent notre capacité de comprendre, de maintenir et de faire évoluer des logiciels (orientés objet). Elles nous offrent une manière pratique de naviguer dans le code, afin de manipuler ou d’analyser des entités qui sont dispersées dans le code mais sont conceptuellement proches. En documentant un programme par de telles vues, la compréhensibilité et la maintenabilité du programme sont ainsi améliorées. Les vues intensionnelles peuvent nous aider également à détecter des conflits potentiels lorsqu’un programme évolue, car nous pouvons explicitement déclarer des relations, devant être préservées, entre vues d’un logiciel au cours de son évolution.

Aspect-Oriented Software Development Les vues intensionnelles intégrent des principes de programmation par aspects car les éléments d’une vue intensionnelle ne doivent pas étre regroupés dans une même partie du code source; ils peuvent être dispersés dans le système entier.

Add something about aspect mining.

Formal Concept Analysis Some highlights or research achievements and tools on FCA.

Other highlights Some highlights or research my research achievements and tools on DLs.

Mail me | last modified on December 23, 2010 ; Status: stabilizing.