Former Licenciate Students

Duarte Alvim

Duarte AlvimSupervisor: Fernando Brito e AbreuProgram: LEI, 5 years (FCT/UNL)School year: 2006/2007 Thesis title: Real-Time Software Engineering DAta Representation (RT-SEDAR)Abstract: This internship report describes the extension to the SEDAR3D software visualization tool to allow the observation of dynamic aspects upon large object-oriented software systems. Execution traces corresponding to the execution of use case scenarios, are described as a sequence of method invocations and are captured using aspects introspection (see Filipa Silva’s MSc thesis). For the sake of software activity analysis, we start in a “clean state” where all inactive elements appear as “transparent” upon the architectural representation of SEDAR3D (see Ricardo Santos dissertation). Then, when a method is invoked, the source and target nodes, as well as the edge connecting them, regain their original opacity (as conveyed in the static model) for the duration of the event. When receiving the reply, the initial transparency is regained. For visualizing software coverage analysis, elements gain color in an additive way, according to the number of times they were involved in method calls. As for modular features (e.g. packages), their current color depends on the color of contained elements. This work is part of a larger project, named Paradigm Independent Qualitative and Quantitative Assessment (PIQQA) framework, where modeling tools are integrated with visualization and metrics tools.

Ricardo Santos

Ricardo SantosSupervisor: Fernando Brito e AbreuProgram: LEI, 5 years (FCT/UNL)School year: 2006/2007 Thesis title: Software Engineering DAta Representation (SEDAR 3D)Abstract: This internship report describes SEDAR3D, a generic 3D visualization tool for representing the architecture of large object-oriented software systems. Those systems are represented by means of a graph-based galaxies metaphor inspired in the PIMETA metamodel (see Sérgio Bryton’s MSc thesis) where nodes correspond to modular (e.g. packages and classes) or atomic (e.g. local variables or operation parameters) features. Edges among nodes are instances of a set of dependency types (e.g. class inherits from another class, a class contains operations). Edges are represented as thin cylinders or lines and nodes as 3D shapes. Graphical attributes of nodes (e.g. shape, color) and edges (e.g. color, thinness) are configurable, to match different feature and dependency types. The input for SEDAR3D is expressed in graphML , a comprehensive XML-based file format for representing graphs. Zooming, panning, compression, element reshaping, coloring and selective feature and dependency types elision, are some of the techniques employed to improve code comprehension. This work is part of a larger project, named Paradigm Independent Qualitative and Quantitative Assessment (PIQQA) framework, where modeling tools are integrated with visualization and metrics tools.

Miguel Maciel

Miguel MacielSupervisor: Fernando Brito e AbreuProgram: LEI, 5 years (FCT/UNL)School year: 2002/2003 Thesis title: Round-Trip Engineering: A State of the Art Survey (in Portuguese)Abstract: Forward (from model to code) and reverse (from code to model) engineering became widespread software engineering practices. However, the combination of both, commonly known as round-trip engineering, raises several traceability problems. This internship report evaluates the state of the art in round-trip engineering, by surveying three of the most widespread tools supporting it for Java and UML. The survey includes a qualitative analysis of the forward and reverse engineering capabilities and a quantitative analysis of the success of round-trip engineering process, where some statistics are produced.

Sofia Braz

Sofia BrazSupervisor: Fernando Brito e AbreuProgram: LIM (UBI)School year: 2001/2002 Thesis title: Extraction of Meta-Information from a UML Modeling Tool (in Portuguese)Abstract: This internship report describes a tool for extracting meta-information from UML models produced with the Rational Rose tool, by using the REI (Rose Extensibility Interface), that has a Visual Basic-like syntax. The objective was to instantiate the GOODLY metamodel with the modeling entities found at a given UML class diagram. GOODLY (a Generic Object Oriented Design Language? Yes!) allows producing textual specifications of object-oriented designs and its well-formedness is enforced by means of OCL constraints. The target environment where the GOODLY metamodel is instantiated is called USE (UML-based Specification Environment) and was produced in the scope of Mark Richters’ PhD work at Bremen University. The produced tool generates USE commands for creating GOODLY-compliant objects that represent UML class diagram elements used in a given model.

Jean-Sébastien Cuche

Jean-Sébastien CucheSupervisor: Fernando Brito e AbreuProgram: Génie Informatique (EMN, France)School year: 1997/1998 Thesis title: Collection and Analysis of Object-Oriented Metrics (in French)Abstract: This internship report describes a validation experiment using MOODKIT G1 for collecting the MOOD metrics set upon a sample consisting of a collection of class libraries written in C++: Microsoft Foundation Classes from Microsoft Corporation, GNU glib++ from Free Software Foundation, ET++ library from UBILAB / Union des Banques Suisses, NewMat library from Robert B. Davies (Victoria University, New Zealand), MotifApp library from Douglas A. Young. The sample had almost 600 classes, around 10K methods and 164K LOC. Initial thresholds for triggering the designer's attention were derived in this experiment.

Luis Ochôa
Pedro Catelas

Luis OchôaPedro CatelasSupervisor: Fernando Brito e AbreuProgram: LEIC (IST/UTL)School years: 1996-1998 Thesis title: MOODKit G2 (in Portuguese)Abstract: This internship report describes the construction and validation of the second generation of the MOODKIT tool for collecting the MOOD metrics set. Its core (metrics' definition dictionary, metrics' storage, human-machine interface) is based on a language independent repository with storage, retrieval and graphical capabilities ( Motif). It uses specific transformers, based on lex and yacc language parsers, that convert source code into GOODLY (a Generic Object Oriented Design Language? Yes!). Both C++ and Eiffel transformers were developed. MOOD metrics capture is then performed upon the instantiated GOODLY metamodel.

Miguel Goulão
Rita Esteves

Miguel GoulãoRita EstevesSupervisor: Fernando Brito e AbreuProgram: LEIC (IST/UTL)School year: 1994/1995 Thesis title: MOODKit G1 (in Portuguese)Abstract: This internship report describes the construction and validation of the first generation of MOODKIT, a prototype tool for collecting the MOOD metrics set from C++ source code. It was built using ANSI C and scripts with standard UNIX commands ( awk, grep, find, etc). It is worth mentioning that the first attempt to collect the MOOD metrics (for instance on the MFC library) was done manually. It took an effort of about two man.weeks and it became clear that the collection process is really a repetitive, tedious, boring, time-consuming and expensive task for humans. By using MOODKIT G1, the effort to do the same job was cut down to a half man.day, something around 5% of the manual collection effort.