Background for the header
To the home page of the University of Antwerp

 

 

LORE / Research

This is the research page of "The Lab on Reengineering (LORE)", a research group investigating techniques to reeengineer software systems. LORE is directed by Prof. Serge Demeyer and is part of the University of Antwerp (Department of Mathematics and Computer Science).

Introduction

The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult.

The above situation may look familiar. Unfortunately, many programming teams are facing the above problems and don't know how to tackle them. LORE is a Software Engineering group at the University of Antwerp which investigates solutions for these problems. We see reengineering as an essential phase in any software life-cycle because software systems —especially object-oriented ones— must adapt to changing requirements in order to remain successful. To quote the book we wrote on the subject: "It is not age that turns a piece of software into a legacy system, but the rate at which it has been developed and adapted without being reengineered" [1].

LORE is actively looking for industrial partners to set up research projects in order to expand and validate our expertise. In particular, we are looking for projects in the area of embedded systems and web applications where we can apply our techniques. In our opinion such joint-projects between industry and academia are the cornerstone for reengineering research from which both partners benefit. In that context is important to point out that all tools that we have developed, originated from research projects that were held in conjunction with industry.

  1. Serge Demeyer, Stéphane Ducasse, and Oscar Nierstrasz. Object-Oriented Reengineering Patterns. Morgan Kaufmann, 2003.

Expertise

Based on our research experience we offer expertise in the following areas; companies who want to make use of our services should contact us.

  • Experience with reverse- and reengineering techniques applicable on large scale software systems. We offer a full or half-day tutorial on object-oriented reengineering

  • Consultancy services with some tool prototypes we developed to detect potential problems in large software systems (duplicated code, abusive inheritance, god classes, ...).

  • Education and training in applying refactoring. We offer a refactoring lab to train practicioners the trade-offs involved in cleaning up the code.

Projects

Projects (In reverse chronological order)

  • [2007 - 2011] Fundamental Issues in Software Engineering: Modelling, Verification and Evolution of Software (MoVES)
    Software-intensive systems are among the most complex artefacts ever built. In the development of such systems, the use of rigorous models and analysis methods is essential to make sure that the software satisfies its requirements and exhibits the desired properties (e.g., safety, security, reliability, consistency). At the same time, in order to adapt to the constantly changing requirements and technology, these systems must be able to evolve over time, without breaking their essential properties.
    This project combines the leading Belgian research teams in software engineering, with recognised scientific excellence in model-driven engineering (MDE), software evolution, formal modelling and verification (FMV) and aspect-oriented software development (AOSD). The project aims to advance the state of the art in each of these domains. The long term objective of our network is to strengthen existing collaborations and forge new links between those teams, and to leverage and disseminate our research expertise in this domain at a European level.

  • [2006 - 2010] Migration to Service-Oriented Architectures (M2SOA)
    In this project, LORE applies and refines existing reverse and reengineering techniques on industrial cases of KBC, Axa and Toyota. This project works towards a collection of best practices for migrating towards a service-oriented architecture.

  • [2005 - 2009] Formal Support for the Transformation of Software Models (FWO-MDE)
    A typical characteristic of the software lifecycle is a gradual evolution from abstract, declarative models to concrete, computational ones. One of the major problems in the development of software systems is a lack of adequate support for evolution, i.e. evolution throughout the lifecycle as well as evolution in time. Consecutive models are hardly related, so that in practice various phases of the development cycle are only marginally or not at all worked out. Moreover, a modification of a software system often requires manual changes to all of the models of the consecutive phases. Therefore, in practice, modifications are often carried through only at the lowest levels and not documented properly. This results in so-called legacy systems, that embody complex functionality, but that have lost their overall structure, making it impossible to maintain them in a cost-efficient way.

    This project aims to deliver formal languages, models and tool prototypes for managing software evolution in the vertical (lifecycle) and horizontical (time) dimension.

  • [2005 - 2008] Software Evolution, Refactoring, Improvement of Operational & Usable Systems (SERIOUS)
    Embedded systems are becoming increasingly complex, more diverse, and are frequently expanded to include more features. As a consequence, the software is constantly changing: within Alcatel Bell rates of 10,000 lines of code changed per week are the norm. Unfortunately, high change rates inevitably erode a well-designed well-documented system and quickly turn it into a maintenance nightmare.

    Alcatel Bell's internal development processes are certified with CMM level 3. However these processes do not contribute to the long-term evolution of software. Indeed, the addition of new features sometimes introduces unexpected bugs, breaks design decisions, and distorts documentation. Consequently, it is hard to assess which software components should be refactored and to estimate the effort required to do so. Therefore, the SERIOUS project aims to develop methods, metrics and tools to maintain ---even increase--- the quality of the software during its evolution.

    In Belgium the project partners are Alcatel Bell (http://www.alcatel.be/) and the University of Antwerp, research group LORE (http://www.lore.ua.ac.be/). However, this local consortium participates in a larger ITEA context with other companies in Europe such as Philips and Nokia.

  • [2002 - 2006] Architectural Resources for the Restructuring and Integration of Business Application (ARRIBA)
    The aim of this project is to provide a methodology and its associated tools in order to support the integration of disparate business applications that have not necessarily been designed to coexist. LORE investigated ways to extract the architecture of existing applications by analyzing run-time traces. To get those traces we will rely on technology borrowed from Aspect-Oriented Programming.

  • [2004 - 2005] eBusiness in the farmaceutical care sector
    This project addressed the development of a web-accessible service model by reengineering and integrating the back-office. This project is an example of how LORE disseminates its expertise to SMEs.

  • [2002 - 2006] A Formal Foundation for Software Refactoring (FWO-REFAC)
    The aim of the project is to provide a solid foundation for software refactoring by the development of a suitable formal model. We aim at a lightweight model, facilitating the investigation of basic properties of refactoring, as well as the design of tools supporting the refactoring process. In particular, the potential of graph rewriting as a basis for such a model will be explored. Based on this formal model, we will try to answer the following questions: (i) What is the exact meaning of behaviour preservation in this context? (ii) Can tools resolve conflicts between interacting refactorings? (iii) How can one address the composability and scalability of refactorings? (iv) How can the design be kept consistent with the refactored code? (v) Which software quality factors are influenced by refactoring?.

Networks

  • [WOG-EVOL] Foundations of Software Evolution
    A working group investigating formal techniques and tools to support large scale software evolution. This working group involves nine research institutes from universities in five different countries (Belgium, Germany, Austria, Switzerland and Portugal) and is investigating techniques and tools to support large scale software evolution. It is sponsored by the Fund for Scientific Research in Flanders - Belgium (FWO) which corresponds to our national science fund.

  • [RELEASE] Research Links to Explore and Advance Software Evolution
    A research network which will explore ways to evaluate, compare and combine a wide variety different techniques, tools, formalisms and processes to ease software evolution. The group will focus on two activities (a) establish a sound scientific research method; (b) set up an evolution benchmark. The network is sponsored by the European Science Foundation.

PhD Research

 

Valid HTML 4.01! Valid CSS!

 Lab On REengineering - Antwerpen, last modified 09:36:11 17 March 2009