Tool Builders Workshop

Date Thu, 2003-04-24
Location University of Antwerp - Department of Mathematics and Computer Science

This event is sponsored by the Fund for Scientific Research in Flanders (FWO) through its network "Foundations of Software Evolution" http://prog.vub.ac.be/poolresearch/FFSE/network.html

Detailed Program:

Thursday 24/04/2003:

>>>Thursday is reserved for a discussion based workshop about following topics <<<

Morning session 1 & 2: Crawling through CodeCrawler
In this session CodeCrawler will be studied from a practical point of view. By applying CodeCrawler on Duploc a number of questions concerning the innerworkings of this tool will come up. An example of such question is for example which measures are used and why exactly those measures were selected. The position of the FAMIX meta-model is another aspect that is worth discussing. The applicability of CC on other programming languages is a last item we want to cover by this workshop. More specific we would like to explore the possibility for others to cooperate in this context for example by integrating CC in eclipse (maybe as a joint masters-thesis )
Afternoon session 1: Famix meets Grammy
Both famix and grammy aim to be language independent. The aim of this item is to stimulate a discussion between the participants about both meta-models. Possible discussion quesions range from where is the overlap between both models, what is each model supposed to do (+how?, +why?), what kind of operations do we apply on it, to which (language specific) problems did we meet. Throughout this discussion the origin of both meta-models should be stressed.
Afternoon session 2: The Soul of Logic-programming
Some of you are probably familiar with Tom Tourwés work in which he applies logic programming on a program in order to detect code smells which are used for automatic refactorings. In his context Soul, as a logic engine for smalltalk is used to reason about code but it is also very usefull for reasoning about meta-models. This workshop offers the opportunity to learn more about the possibilities, limitations and practical usage of logic programming.
Short Topic: How does smalltalk aid my research
Each of us demands specific functionality from its programming environment. In a study about websystems and similar technologies you would prefer Java over C++ because of Java's built in web functionality (Servlets, threading, j2ee, sockets, ...). In this context we would like to investigate where Smalltalk might support our research activities. What for example about application servers, how is it used by the participants, what are possible drawbacks of using Smalltalk, what are the ameliorations... ?
Schedule:
10:00 Crawling through CodeCrawler (Practical)
11:00 Short break to get coffee or tea
11:15 Crawling through CodeCrawler (Discussion)
12:00 Lunch
13:00 Famix meets Grammy
14:50 Afternoon drink break
15:10 The Soul of Logic-programming
17:00 How does Smalltalk aid my research
17:30 End of formal meeting
...Let's socialise...

Friday 25/04/2003:

>>>Friday is organized as a pair programming session where the focus lies on exploring the Smalltalk programming language and the VisualWorks environment. We also want to use this opportunity to which extent knowledge is communicated between different programmers.]<<<

The Job:
Duploc is a tool that uses a very simple line matching algorithm to find duplicated code sequences in a programs source code. The idea of this session would be to extend this implementation with a parameterized technique. This comes down to writing a lexer framework which will be implemented for one specific language for example C++. The construction of a user interface which allows to select which identifiers and literals you would like to define as parameter. The tool should also allow a report to be written to a file in an exchangeable format. During this project different refactorings should be used to improve the new design.
Schedule:
10:00 Pair programming
17:00 Roundup