Former MSc Students

Luís Miguel Silva
Marco Roque

Luís Pires SilvaSupervisor: Fernando Brito e Abreu Program: MIG (ISCTE-IUL)Thesis title: Model-Driven Generative Programming for BIS Mobile ApplicationsDefense: July 28, 2014

Abstract: The burst on the availability of smart phones based on the Android platform calls for cost-effective techniques to generate mobile apps for general purpose, distributed business information systems (BIS). To mitigate this problem our research aims at applying model-driven techniques to automatically generate usable prototypes with a sound, maintainable, architecture. Following three base principles: model-based generation, separation of concerns, paradigm seamlessness, we try to answer the main guiding question – how to reduce development time and cost by transforming a given domain model into an Android application? To answer this question we propose to develop an application that follows a generative approach for mobile BIS apps that will mitigate the identified problems. Its input is a platform independent model (PIM), with business rules specified in OCL (Object Constraint Language). We adopted the Design Science Research methodology, that helps gaining problem understanding, identifying systemically appropriate solutions, and in effectively evaluating new and innovative solutions. To better evaluate our solution, besides resorting to third party tools to test specific components integration, we demonstrated its usage and evaluated how well it mitigates a subset of the identified problems in an observational study (we presented our generated apps to an outside audience in a controlled environment to study our model-based centered and, general apps understandability) and communicated its effectiveness to researchers and practitioners.

Marco Roque

Supervisor: Fernando Brito e Abreu Program: MIG (ISCTE-IUL)Thesis title: Animation of BPMN Business Processes ModelsDefense: July 4, 2014

Abstract: BPM in the business world is currently supported by tools that facilitate the design, implementation, execution, monitoring and optimization of business processes. These so called Business Process Management Suites usually have animation capabilities associated to process simulation. However, animation capabilities vary depending on the tool and the better these are, the higher is the animation preparation effort. This problem is more evident when generic simulation tools are compared with BPM specific ones, which use BPMN (Business Process Modeling Notation) as the modeling notation and have more limited animation capabilities. This dissertation presents a proposal to endow the BPMN with animation capabilities which respects all the elements presentation rules established in the notation specification. This proposal was designed based upon the data collected through the application of the animation capabilities evaluation taxonomy also proposed here in this dissertation. A prototype was built on top of an open-source tool in order to implement our animation proposal and was used to animate the service request process model using real execution data from an IT Service management tool used at ISCTE-IUL.

Goreti Silva

Goreti SilvaSupervisor: Miguel GoulãoProgram: MEI (FCT/UNL)Thesis title: Mining Software Repositories: Estimation Models for Software Evolution Requests (in Portuguese)Defense: December __, 2013

Abstract: The discovery, or confirmation, of trends and patterns in the evolution of software systems has been giving importance to mining software repositories. Software Engineering uses specific approaches to mining data from software construction, such as: source code, version history (logs), bug reports (defect tracking), among others. Members of the development team are essential during the preparation and maintenance of software. New integrated software tools related to development activities have been adopted to optimize their work and these have allowed data (such as evolution requests, version control repositories, etc.) to be stored automatically. These data can be recovered and analyzed in order to obtain important information for facilitating software process improvement. Mining the repositories of the development process allows detecting trends and patterns both in the development process and in the developed artifacts, making it an important tool to support the management of the software development process. In this study we use information contained in repositories systems of evolution requests so as to create predictive models of the distribution of those requests throughout the time. These types of models are useful to facilitate the management of the development and maintenance of software, since they will be able to predict periods with a great deal of orders, in contrast to other periods in which there will be fewer, and that information is relevant to the allocation of human resources to the process of development and maintenance. The approach to be used aims to study the most appropriate types of models, according to existing historical data and the pattern of versions which the repository deals with. In particular, we want to know: (i) Is the choice of the "best" model relatively stable, or too volatile? The implication is that we may have to update models very often or not at all; and (ii) Do the models incorporating seasonal information become dominant? If so, how much historical data is required for the seasonal information to be relevant?

Pedro Coimbra

Pedro Janeiro CoimbraSupervisor: Fernando Brito e Abreu Program: MIG (ISCTE-IUL)Thesis title: An Eclipse Plugin for Metamodel Driven MeasurementDefense: November 13, 2013

Abstract: In this dissertation, we present a new plug-in for the Eclipse integrated development environment that calculates software quality metrics using a metamodel driven approach to software measurement. Metamodel driven measurement is a technique that surged with the popularization of object-oriented systems and model-driven approaches to software design. It involves of instantiating software designs according to a language metamodel and calculating metrics with formalized queries over the obtained data. Our objectives consisted of creating a new Eclipse plug-in to analyse software developed in Java that, thanks to the metamodel driven approach, would allow users to easily define new software metrics without having to change a single line of Java code. To achieve our goals, we devised the Eclipse Java Metamodel, a new Java metamodel based on data provided by Eclipse’s Java Development Tools and implemented it on a prototype Eclipse plug-in. We have also formalized certain software metrics and an existing library for metrics extraction called FLAME, as sets of queries over our developed metamodel using the Object Constraint Language, which can be used directly on our prototype.

Elton Vianna

Elton ViannaSupervisor: Fernando Brito e Abreu (with Gutenberg A. Silveira, Fundação Getúlio Vargas, Brazil)Program: MGSI (ISCTE-IUL)Thesis title: Contribution of agile management for software projects: An empirical study in news portals of Brazil (in Portuguese)Defense: July 17, 2013

Abstract: Much has been discussed, in the past few years, in the context of agile management approaches for software development projects. These approaches have gained more practitioners, but there is scarce evidence on their real contribution to projects success. This dissertation aims at corroborating the existence of agile factors contributing to the success of software projects by means of a field study, of descriptive and quantitative nature, with hypotheses testing. A questionnaire was administered to IT professionals working in the most visited news portals of Brazil. We chose this area due to the fact that it is characterized by a large mutation and agility in projects. We gathered 63 answers originated from 8 organizations, located in the cities of São Paulo-SP, Rio de Janeiro-RJ and Porto Alegre-RS. The results obtained prove the existence of three agile factors: i) Delivery Strategy; ii) Team Capability and Commitment; and iii) Customer Involvement that contributed to the success of agile software projects. These factors were determined by principal component analysis, based on a large number of agile practices identified in the literature. It was possible to construct, using logistic regression, a model for estimating the success of projects based on the aforementioned factors.

Ana Isabel Fernandes

Ana Isabel FernandesSupervisor: Miguel Goulão (with Armanda Rodrigues)Program: MEI (FCT/UNL)Thesis title: Comparing Maps APIs in a Mobile ContextDefense: Nov 15, 2012Abstract: The availability of Application Programming Interfaces to enable online visualization and manipulation of geo-referenced data is a result of the global access to location capturing and storing. Available tools range from commercial packages, connected to Geographic Information Systems, with improved support on spatial analysis operators, to open source sets where the contribution of interested communities is making the difference. The aim of this work is elaborate a comparative study of Mapping APIs in a mobile context. A set of popular/effective packages will be chosen to be evaluated in the context of a typical mobile GI specification, enabling an actual comparison in terms of performance, flexibility and usability (from a developer’s perspective).

Patrícia Espada

Patrícia EspadaSupervisor: Miguel Goulão (with João Araújo)Program: MEI (FCT/UNL)Thesis title: Melhoria da qualidade para modelos orientados a objectivos: o caso da abordagem KAOS (in Portuguese)Defense: May 21, 2012Abstract: As abordagens de Engenharia de Requisitos Orientada a Objectivos (EROO) foram desenvolvidas para facilitar o trabalho dos engenheiros de requisitos ao, por exemplo, oferecer mecanismos de abstracção (isto é, os objectivos do sistema) que ajudam na elicitação e modelação de requisitos. Uma das abordagens de EROO bem estabelecidas é o KAOS. No entanto, em sistemas de larga escala, criar modelos KAOS pode resultar em modelos de objectivos incompletos e/ou complexos, o que pode dificultar a compreensão desses modelos bem como as suas modificações. Isto pode levar a um aumento dos custos de desenvolvimento do produto e da sua evolução. Assim, para sistemas de larga escala, a gestão eficaz da complexidade e completude dos modelos de objectivos é essencial. Nesta dissertação de mestrado, propomos uma framework de métricas para apoiar a avaliação quantitativa da complexidade e completude dos modelos de objectivos KAOS. Estas métricas são especificadas formalmente, implementadas e incorporadas em uma ferramenta de modelação KAOS. Validamos então, as métricas através de um conjunto de casos de estudo reais e discutimos as práticas identificadas de modelação mais recorrentes.

Bruno Areal

Bruno ArealSupervisor: Miguel Goulão (with José Alferes)Program: MEI (FCT/UNL)Defense: December 5, 2011Thesis title: Building Anonymized Database SamplesAbstract: In this work we propose Anonym Database Sampler (ADS), a flexible and modular system capable of extracting an anonymised, consistent and representative sample from a relational database. ADS was envisioned for use in testing and development environments. To this end, a sample specification input is requested from the user, that is used by ADS’s sampling engine to perform a stratified random sample. Afterwards a First-choice hill climbing algorithm is applied to the sample, optimising the selected data towards the specified requisites. Finally, if some restrictions are still to be met, tuples and/or keys modifications are performed, ensuring that the final sample fully complies with the initial sample specification. While having a representative and sound database that developers can use in these environments can be a great advantage, we assume that this representativeness does not need to comply with a truly statistical representativity, which would be much harder to obtain. Thereby, ADS samples are not appropriate for any kind of statistical data analysis. After the sample being successfully extracted, due to the sensitivity of the data contained in most organisation databases, a data anonymisation step is performed. The sampled data is consistently enciphered and masked, preventing data privacy breaches that could occur by delivering to developers a database containing some real operational data.

Tiago Pessoa

Tiago Pessoa Supervisors: Fernando Brito e Abreu & Miguel Pessoa MonteiroProgram: MEI (FCT/UNL)Thesis title: A Semi-automatic Approach to Code Smells DetectionDefense: November 18, 2011Abstract: Eradication of code smells is often pointed out as a way to improve readability, extensibility and design in existing software. However, code smell detection remains time consuming and error-prone, partly due to the inherent subjectivity of the detection processes presently available. In view of mitigating the subjectivity problem, this dissertation presents a tool that automates a technique for the detection and assessment of code smells in Java source code, developed as an Eclipse plugin. The technique is based upon a Binary Logistic Regression model that uses complexity metrics as independent variables and is calibrated by experts’ knowledge. An overview of the technique is provided, the tool is described and validated by an example case study.

Francisco Salvador

Francisco SalvadorSupervisors: Miguel Goulão & Sérgio BrytonProgram: MEI (FCT/UNL)Thesis title: Comparative assessment of georeference data formats for exchanging information between Command and Control systems in military context (in Portuguese)Defense: November 9, 2011Abstract: NATO (North Atlantic Treaty Organization) has recently developed a new geo-referenced data format, NATO Vector Graphics (NVG), to encode geo-referenced information sent between command and control systems. There are several geo-referenced data formats currently available in the market, which could have, from a technical point of view, been a credible option for NATO, specifically, open formats such W3C (World Wide Web Consortium) or the OGC (Open Geospatial Consortium). Nevertheless, whether it was due to the unavailability of some of the other formats during the initial development of NVG, or because of their complexity or inappropriateness in a military context, NATO decided to invest in the development of a new geo-referenced data format. There are no known comparative NVG studies against other format alternatives, which would permit a substantiated analysis with respect to the advantages and disadvantages of using NVG in comparison with the others. In order to understand if there are better alternatives to NVG in military context, I propose in this dissertation to carry out a comparative evaluation of the NVG format against the following formats: Scalable Vector Graphics (SVG), Keyhole Markup Language (KML) and Geography Markup Language (GML). This evaluation will be based on a qualitative study of the different format characteristics, and a quantitative analysis, performed from a simulator wich will exchange georefereced information between commmand control systems, developed in the scope of this work, which will allow to compare the various formats with appropriate metrics. The principals contribute of this dissertation are: i) qualitative comparison of the formats in assessment resulting from a systematic study of each specification, using the same criteria, ii) Design and implementation of a military scenarios simulator iii) Selection of metrics for the evaluation of various data formats and implementation of a system for automatic collection of such metric; iv) quantitative comparison between the various georeferenced data formats in a military scenario.

Miguel Almeida

Miguel AlmeidaSupervisors: Miguel Pessoa Monteiro & Miguel GoulãoProgram: MEI (FCT/UNL)Thesis title: Quantitative Assessment of Modularity of CaesarJ ComponentsDefense: March 18, 2011Abstract: Proponents of the aspect oriented programming paradigm claim that this paradigm yields better modularity over object-oriented programming and provides a better support for separation of crosscutting concerns. Although AspectJ is the most popular aspect oriented programming language, and subject of most studies, more recent languages appeared that propose varying ways to realize the paradigm’s concepts. CaesarJ is one such language, providing mechanisms that differentiate it from AspectJ, namely virtual classes, family polymorphism and a different way to represent an aspect module. Any claim of a language being better with respect to some criterion should be supported by rigorous assessments based on that criterion. This work aims to do this with a comparative study using the “standard” experimental report structure for Software Engineering between the two languages in terms of modularity. To this end, a new cohesion metric was developed and used, along with several size metrics to evaluate 51 examples of design pattern implementations. In the context of this dissertation MuLATo, an automated metrics-collecting tool was adapted to support this new metric of cohesion. Results of the study suggest that CaesarJ is more verbose than plain Java but yields more cohesive and less complex components. These results are confirmed with the appropriate statistical tests.

Nelson Fonte

Nelson FonteSupervisor: Miguel GoulãoProgram: MEI (FCT/UNL)Thesis title: Software Repositories Analysis with Time SeriesDefense: November 4, 2010Abstract: A software system is never finished. Even after it was delivered, the software continues to evolve. For this reason, governments, businesses, open-source communities and spend a lot of resources regularly to correct, improve or adapt their software systems. In some works it is said that 90% of the resources of companies dedicated to software, are spent on maintenance activities. This indicates that only 10% is devoted to other activities including the development of new projects. This represents an opportunity, with better planning, to make the software process more efficient, which should yield significant economic benefits. The ability to develop software quickly and reliably is a major challenge in Software Engineering. One possible technique to help reducing costs without sacrificing software quality is the forecast of their behavior in the future. For project managers and developers to predict the evolution of the software will be useful, because it will help directing efforts for parts that require more intervention. Analysing the life history of the software, which is normally stored in the repositories of the projects or, in some cases, data repositories. In this dissertation we will analyse the evolution of the Eclipse IDE, using time series. Our analysis will cover not only the evolution over time but also allow predicting its evolution in the future. This will use the source code repository of the eclipse, in combination with the defects tracking system. Our work will help identifying possible areas or pieces of software that give rise to large numbers of evolution requests. One of the main deliverables of this research will be a case study of the evolution of a successfull, durable and widely used system, which differs from previous work on strengthening the use of time series analysis, a technique not sufficiently explored in the context of studying the evolution of software, particularly in forecasting the evolution of Eclipse.

Jorge Freitas

Jorge FreitasSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Process and Services Metamodeling (in Portuguese)Defense: October 22, 2010Abstract: Service quality levels and corresponding agreements emerged as a way for Information Technology departments and network service providers to measure and manage the quality of service that is delivered to customers. Competition in the global market is forcing many service providers to differentiate in terms of QoS (Quality of Service), while establishing their contracts. Furthermore, the need to offer more sophisticated and complex services forces their providers to participate in consortia, where outsourcing often takes place. Those partnerships imply that all stakeholders (including customers) should understand and share the same IT service concepts, namely those concerning the QoS. Despite the ongoing efforts on creating a body of knowledge on IT service management, these efforts have not yet provided a sufficient basis for the formal definition and evaluation of IT services in general. Indeed, while performing a systematic survey of the state of the art, we observed in particular that the literature on Service Level Agreements (SLA) in the IT generic domain is very scarce, being the existing one too focused on infrastructure management or telecommunications. To mitigate this limitation, we propose in this dissertation an ontology on IT services, upon which the concept of SLA is formally defined, along with the concepts required for its compliance verification. To model the dynamics of IT services prosecution, to which SLAs apply, business process modeling approaches are frequently used. To support that modeling, we propose in this dissertation a lightweight metamodel of the BPMN (Business Process Modeling Notation) language. This language allows depicting the collaboration among all stakeholders and the way IT services are rolled out, therefore allowing to model their dynamics.

Américo Rio

Américo RioSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Automatic Quality Model for Web Sites (in Portuguese)Defense: October 19, 2010Abstract: Assessing the quality of web presences should take into consideration various aspects such as design, structure and navigation of sites, content, functionality and performance. Although several initiatives of assessment are known, these are mostly qualitative in nature, generally supported by the view of experts, which makes assessments expensive, time consuming and, above all, subjective. The aim of this thesis is to propose a quantitative and automated quality web presence assessment. We will consolidate a quality model and propose a metamodel representing the concepts of the problem domain. The latter must be instantiated for specific cases, through the collection with an automated crawler to capture the structure and lexical-syntactic analyzer for analysis of contents. Indicators will be used to enable a quantitative assessment in absolute value (characterizing the strengths and weaknesses of a site) and on (allowing the automatic construction of classifications ranked sites). It will also be carried out statistical analysis of the indicators from the quality model for websites. It is hoped that using the proposed approach can be used either by the development teams of websites, for example in the establishment and assessment of compliance with minimum standards, both in supporting the decision of outsourcing this development, allowing, for example, comparing portfolios of potential sub-contractors.

Pedro Gabriel

Pedro GabrielSupervisor: Miguel Goulão (with Vasco Amaral)Program: MEI (FCT/UNL)Thesis title: Software Languages Engineering: Experimental EvaluationDefense: October 13, 2010Abstract: Domain-Specific Languages (DSLs) are programming languages that offer, through appropriate notation and abstraction, still enough an expressive control over a particular problem domain for more restricted use. They are expected to contribute with an enhancement of productivity, reliability, maintainability and portability, when compared with General Purpose Programming Languages (GPLs). However, like in any Software Product without passing by all development stages namely Domain Analysis, Design, Implementation and Evaluation, some of the DSLs’ alleged advantages may be impossible to be achieved with a significant level of satisfaction. This may lead to the production of inadequate or inefficient languages. This dissertation is focused on the Evaluation phase. To characterize DSL community commitment concerning Evaluation, we conducted a systematic review. The review covered publications in the main fora dedicated to DSLs from 2001 to 2008, and allowed to analyse and classify papers with respect to the validation efforts conducted by DSLs’ producers, where have been observed a reduced concern to this matter. Another important outcome that has been identified is the absence of a concrete approach to the evaluation of DSLs, which would allow a sound assessment of the actual improvements brought by the usage of DSLs. Therefore, the main goal of this dissertation concerns the production of a Systematic Evaluation Methodology for DSLs. To achieve this objective, has been carried out the major techniques used in Experimental Software Engineering and Usability Engineering context. The proposed methodology was validated with its use in several case studies, whereupon DSLs evaluation has been made in accordance with this methodology.

Raquel Porciúncula

Raquel PorciúnculaSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Governance and Modeling of IT Processes (in Portuguese)Defense: April 9, 2010Abstract: Studies over the past years have shown how Information Technology (IT) resources should be used in order to facilitate the creation of organizational environments more closely aligned with business needs. Today, we live a competitive process where organizations manage many assets - people, money, facilities, suppliers, customers - and invest heavily in information technology. So that organization can extract any concrete benefits of the knowledge manipulation process is necessary that there be management structural mechanisms, to enable an adequate knowledge base, leading the organization to retain its intellectual capital. IT governance, in the way it is currently debated in the market, is more focused on the use of best practices represented by frameworks such as CobiT (Control Objectives for Information and related Technology) and ITIL (Information Technology Infrastructure Library). However, in this study, we go further and present a vision of how IT governance can be useful to align business with IT through a new technique to identify the aptitude levels of IT service management, in order to evaluate and manage, not only the complex problems of information systems and the organizations technology, but also management, operational and cultural issues. This thesis proposes a method to evaluate the IT governance maturity degree within an organization. We formalized a set of quantitative indicators (metrics) that allow expressing process complexity, using the OCL (Object Constraint Language) language, on a BPMN (Business Process Modeling Notation) metamodel. We collected those metrics and analysed its correlation with the maturity levels. We also sketched the IT governance profile of portuguese companies.

José Carlos Costa

José Carlos CostaSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: A Methodology for Project Management Applied to Information Systems Development (in Portuguese)Defense: April 6, 2010Abstract: In the domain of the conception and development of information systems, it is common to find projects that are in the following situations: they do not fulfil the deadline; they exceed the fixed budgets; they have a low level of quality. The last situation will be reflected, later, in the maintenance of projects. Conducted studies concluded that there are several reasons that lead to these facts. One of the major ones is the absence of project management methodology. It will be pointed out a solution that minimizes the situations listed before. It involves the creation and implementation of a project management methodology, with their guides, applied to the development of information systems. This methodology will contribute to increase the productivity and the level of maturity of project management. The analysis of related work pointed out some weaknesses such as: it does not make reference or clarify any type of assignment of processes and activities at the beginning of project and there is not an initial project classification. Other weaknesses that were identified in some works are: inexistence of a process version and a lack of information about the creation of one project management knowledge data base. The main objective of this dissertation is the development, implementation and evaluation, in a public organism, of a project management methodology applied to the conception and development of information systems. A model was created and simulated with many sub-processes and activities using tools of Business Process Management. Also, was created a portal of project management integration with a subgroup of respective information systems.

Pedro Monteiro

Pedro MonteiroSupervisor: Miguel Pessoa MonteiroProgram: MEI (FCT/UNL)Thesis title: A Pattern Language for Parallelizing Irregular AlgorithmsDefense: March 26, 2010Abstract: In irregular algorithms, data set’s dependences and distributions cannot be statically predicted. This class of algorithms tends to organize computations in terms of data locality instead of parallelizing control in multiple threads. Thus, opportunities for exploiting parallelism vary dynamically, according to how the algorithm changes data dependences. As such, effective parallelization of such algorithms requires new approaches that account for that dynamic nature. This dissertation addresses the problem of building efficient parallel implementations of irregular algorithms by proposing to extract, analyze and document patterns of concurrency and parallelism present in the Galois parallelization framework for irregular algorithms. Patterns capture formal representations of a tangible solution to a problem that arises in a well defined context within a specific domain. We document the said patterns in a pattern language, i.e., a set of inter-dependent patterns that compose well-documented template solutions that can be reused whenever a certain problem arises in a well-known context.

João Gomes

João GomesSupervisor: Miguel Pessoa MonteiroProgram: MEI (FCT/UNL)Thesis title: Analysis of Support for Modularity in Object Teams based on Design PatternsDefense: October 28, 2009Abstract: The paradigm of Aspect-Oriented Programming is currently being studied and matured. Many aspectoriented languages have been proposed, including Object Teams for Java (OT/J). However, to date few studies were carried out to assess the contribution of the various languages available and compare their relative advantages and disadvantages. The aim of this dissertation is to contribute to fill this gap.

In the past, implementations of design patterns in Java and AspectJ were successfully used as case studies to derive conclusions on the relative advantages and disadvantages of the language under consideration. This dissertation follows this approach, with the development of a suitable collection of examples based on the well-known Gang-of-Four design patterns.

Two repositories of implementations in OT/J of the complete collection of 23 Gang-of-Four design patterns have been developed, to be used as a basis for subsequent analysis. The scenarios used for the examples are based on Java repositories by independent authors, freely available on the Web. Based on the repositories developed, an analysis of the modularizations obtained with OT/J is presented and compared with the results obtained using Java and AspectJ.

OT/J provides direct language support for 3 of the patterns. 20 patterns yielded separate modules for the patterns, of which 10 modules proved to be reusable. Only in one of the patterns, no significant differences between Java and OT/J were obtained.

João Caldeira

João CaldeiraSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Information Technology Service Management: An Experimental Approach Towards IT Service PredictionDefense: June 20, 2009Abstract: Software development and software quality improvement have been strong topics for discussion in the last decades. Software Engineering has always been concerned with theories and best practices to develop software for large-scale usage. However, most times those theories are not validated in real live environments. Therefore, the need for experiments is immense. The incidents database can be an important asset for software engineering teams. If they learn from past experience in service management, then they will be able to shift from a reactive approach to a more proactive one. The main goal of this dissertation is shedding some light on the influential factors that affect incidents lifecycle, from creation to its closure, and also to investigate to what accuracy the ARIMA models are a valid approach to model and predict not only the ITIL incident management process, but also other ITIL processes and services in general. The dissertation presented herein is on the crossroads of Empirical Software Engineering and of the emerging area of Services Science. It describes an experiment conducted upon a sample of incident reports, recorded during the operation of several hundred commercial software products, over a period of three years (2005-2007), on six countries in Europe and Latin America. The incidents were reported by customers of a large independent software vendor. The primary goal of an Incident Management process is to restore normal service operation as quickly as possible and minimize the adverse impact on business operations, thus ensuring that the best possible levels of service quality and availability are maintained. As a result of this, a software company can make use of a good incident management process to improve several areas of their business, particularly product development, product support, the relation with its customers and their positioning in the marketplace. The underlying research questions refer to the validation of which are the influencing factors affecting the incidents management lifecycle, and also aims at finding the existence of patterns and/or trends in incident creation and resolution based on a time series approach. Additionally, it presents the estimation, evaluation and validation of several ARIMA models created with the purpose of forecasting upon incident resolution based on incident creation historic data. Understanding causal-relationships and patterns on incident management can help software development organizations on optimizing their support processes and in allocating the adequate resources; people and budget.

Sérgio Braz

Sérgio BrazSupervisor: Miguel Pessoa MonteiroProgram: MEI (FCT/UNL)Thesis title: A Qualitative Assessment of Modularity in CaesarJ Components Cased on Implementations of Design PatternsDefense: October 28, 2009Abstract: The advent of the Aspect-Oriented Programming (AOP) paradigm brought new features and mechanisms to support the separation of crosscutting concerns, in order to develop programs with higher modularity and consequently, higher reuse. As the paradigm matures, various aspectoriented programming languages appeared that propose varying ways to realize the paradigm’s concepts. CaesarJ is one of those aspect-oriented languages.

While the majority of practical studies on AOP languages focused on the AspectJ language, the characteristics of other languages such as CaesarJ remain to be explored. The lack of research on the utilization of CaesarJ in concrete cases leads to the existence of few case studies from which to draw considerations about their strengths and shortcomings. In the past, implementations of design patterns have been used for the demonstration of the characteristics of the programming languages used to implement them. This dissertation follows a similar approach to assess CaesarJ’s support for modularity and reuse by producing CaesarJ design patterns implementations and subjecting those implementations to a qualitative analysis.

This dissertation presents CaesarJ implementations of eleven Gang-of-Four pattern that serve as the basis for a qualitative analysis of the modularity degree CaesarJ enables for each pattern. A distinction is made between four levels of module reuse that the implementations support, in order to differentiate between the several levels of reuse achieved. A comparison is drawn to analogue design pattern implementations in AspectJ. Finally, general guidelines for the implementation of CaesarJ components are described.

Luís Ferreira da Silva

Luís Ferreira da SilvaSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Assessment of IT Infrastructures: A Model Driven ApproachDefense: December 22, 2008Abstract: Several approaches to evaluate IT infrastructure architectures have been proposed, mainly by supplier and consulting firms. However, they do not have a unified approach of these architectures where all stakeholders can cement the decision-making process, thus facilitating comparability as well as the verification of best practices adoption. The main goal of this dissertation is the proposal of a model-based approach to mitigate this problem. A metamodel named SDM (System Definition Model) and expressed with the UML (Unified Modeling Language) is used to represent structural and operational knowledge on the infrastructures. This metamodel is automatically instantiated through the capture of infrastructures configurations of existing distributed architectures, using a proprietary tool and a transformation tool that was built in the scope of this dissertation. The quantitative evaluation is performed using the M2DM (Meta-Model Driven Measurement) approach that uses OCL (Object Constraint Language) to formulate the required metrics. This proposal is expected to increase the understandability of IT infrastructures by all stakeholders (IT architects, application developers, testers, operators and maintenance teams) as well as to allow expressing their strategies of management and evolution. To illustrate the use of the proposed approach, we assess the complexity of some real cases in the diachronic and synchronic perspective.

Filipa Silva

Filipa SilvaSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Automatic Recovery of Behavioral Modeling with Applications to Model-Based Testing (in Portuguese)Defense: November 25, 2008Abstract: Legacy software systems with inadequate or no documentation are a major problem to many organizations. The increasing size and complexity of software applications developed nowadays have raised the need of create modelling and documenting techniques to support maintenance and testing activities. In spite of the research to find suitable approaches to solve this problem, the technology transfer of such approaches to the software industry remains scarce. One of the main shortcomings of many of the current approaches is that the associated effort and time consumption represent an overwhelming overhead that organizations cannot cope with. This dissertation contributes with an automatic approach to support documenting, maintenance, and testing activities. To validate its applicability and usability, we propose the implementation of a supporting tool prototype. The proposed approach is based in existing and established techniques, which are extended here to improve their usability and efficiency. The key problem we are addressing is the insufficient or inexistent documentation of developed systems. In order to mitigate this problem, we present a technique for (dynamic) model recovery from legacy systems. The proposed technique allows generating document artefacts, such as UML diagrams, CRC Cards, and CRUD matrices. Finally, we introduce techniques to support traceability and quality assurance activities (namely coverage analysis), using a colouring metaphor upon several UML diagrams.

Vitor Gouveia

Vitor GouveiaSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Visual Scenarios: Requirements Tracing, Documentation and Enactment for Legacy Systems (in Portuguese)Defense: November 24, 2008Abstract: Requirements traceability in legacy systems is a recurrent problem faced by many companies. There are several sources for this problem, but the main reasons are the lack of documentation and the limited support for maintaining the traceability links among requirements, design and source code. Even when some documents exist, they are usually written in natural language and presented in an unstructured way. The lack of a standard for representing the information makes it more difficult to understand the structure and complexity of a legacy system. This dissertation tries to mitigate the presented problem, the missing of traceability links between requirements and the implementation of a system, through the introduction of an innovative approach called Visual Scenarios. The proposed technique tries to mitigate the problem of software traceability and helps the comprehension of a system by all practitioners involved, since its creation until the end of the life cycle. Visual scenarios are footages of scenarios where we can find additional information about all interactions between system components. Visual scenarios are a dynamic and synchronized representation between two perspectives from a software system. The first one corresponds to the system user perspective or black-box perspective. In a nutshell, is a movie showing user interactions during an execution of a scenario from a use case. The second one corresponds to the programmer perspective or white-box perspective and is realized by an UML animated sequence diagram. The process of creating visual scenarios will support the creation of automatic documentation for legacy systems and is expected to help the requirements validation. In conclusion, with this dissertation we expect to improve the comprehension of a legacy system.

Sérgio Bryton

Sérgio BrytonSupervisor: Fernando Brito e AbreuProgram: MEI (FCT/UNL)Thesis title: Modularity Improvements with Aspect-Oriented ProgrammingDefense: July 25, 2008Abstract: Aspect-Oriented Programming is a topic of growing interest, since its presentation in 1997, and significant modularity improvement has, since then, been claimed as one of its main benefits, both by researchers and practitioners. The importance of modularity for maintenance and reuse which, consequently, are crucial for software development time and costs, emphasizes this programming paradigm, and strongly suggests its adoption by academia and industry. However, most of the claims on those benefits are, so far, qualitative, and only a small subset of them has quantitative grounds; therefore, any decision regarding where to adopt or not this paradigm is not yet sufficiently grounded. This dissertation presents a modularity quantitative evaluation of the Gang-of-Four Design Patterns functionally equivalent implementations, in Java and AspectJ, by Hannemann and Kiczales and, within this context, draws conclusions about the modularity improvements obtained with Aspect-Oriented Programming, which are expected to contribute to decisions on where this paradigm should or not be adopted. This evaluation is made with the Paradigm Independent Metrics (PIMETRICS), defined according to the Meta-Model Driven Measurement (M2DM) technique, and grounded at the Paradigm Independent Meta-model (PIMETA) which implements the Paradigm Independent Modularity Factors (PIFACTORS).

Eduardo Miranda

Eduardo MirandaSupervisor: Fernando Brito e AbreuProgram: EMOOSE (VUB & EMN)Thesis title: Evaluating the Complexity of UML Design ContractsDefense: 2002/2003 (unfinished)Abstract: The increased awareness of the modeling shortcomings of UML diagrammatic modeling has turned the interest of researchers and practitioners to the Object Constraint Language (OCL). At model (M1) level OCL can be used to express from simple design by contract constraints to complex business rules. At meta-model (M2) level OCL is usually used to express well-formedness rules. This dissertation aims at defining a quantitative approach to evaluate the complexity of OCL clauses using a reflexive approach.

Aline Baroni

Aline BaroniSupervisor: Fernando Brito e Abreu (with Theo D'Hondt, VUB)Program: EMOOSE (VUB & EMN)Thesis title: Formal Definition of Object Oriented Design MetricsDefense: August 28, 2002Abstract: Software measurement has become essential to good Software Engineering. However, most published works on software engineering concentrate on the coding activity. As quality indicators and predictors of structural problems, metrics should be available as early as possible in the software life cycle, and not dependant on source code availability. This thesis intends to assist object-oriented software measurement, improving its use among software designers. For achieving this goal, the FLAME – a Formal Library for Aiding Metrics Extraction - is built with The Object Constraint Language (OCL), a part of the Unified Modeling Language (UML) standard. Based upon OCL, object-oriented design metrics definitions are formalized on a compositional way. The definition of each metric is done upon the UML meta-model, at different levels of abstraction, including the meta-classes Package, Model Element, Generalizable Element, Classifier, Feature, Operation and Attribute. The combination of the UML meta-model and OCL allows unambiguous metrics definition, which in turn helps increasing tool support for objectoriented metrics extraction. The outcome is an elegant, precise and straightforward way to define metrics that may help to overcome several current problems. Besides, it is a natural approach since we are using the object technology to define metrics on the object technology itself. The formalization renders possible the comparisons among different sets of metrics, as well as it may be used to establish a common vocabulary among different stakeholders. As consequence, our efforts contribute to the overall quality of the Software Engineering product and process.

Miguel Goulão

Miguel GoulãoSupervisor: Fernando Brito e Abreu (with Pedro Sousa, IST/UTL)Program: MEIC (IST/UTL)Thesis title: Evolution of Software Systems: a Quantitative Approach (in Portuguese)Defense: September 17, 1999Abstract: Software system’s maintenance absorbs a high percentage of the resources made available by organizations to the software development and maintenance activities. In spite of the significant international research effort towards the development of quantitative approaches to the management of software system’s evolution, the gap between the academic proposals and the software industry’s reality remains a problem. This thesis presents an integrated quantitative approach to support and manage software maintenance. This proposal is reinforced by the development of a suitable software tool to support it on a distributed environment, using an intranet as the data transmission backbone. The tool combines the automatic production of source code documentation with a software evolution tracking system and software complexity analysis. The first aspect of the tool deals with the problem of non existent or outdated documentation on the maintained systems’ source code. The second one provides the means for tracking the evolution of software systems and underlying software process. The third aspect gives way for a quantitative approach on software process management, with the ultimate goal of software process improvement.