Jean-Francois Girard
Fraunhofer Society
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jean-Francois Girard.
international conference on software engineering | 2008
Florian Deissenboeck; Benjamin Hummel; Elmar Jürgens; Bernhard Schätz; Stefan Wagner; Jean-Francois Girard; Stefan Teuchert
Model-based development is becoming an increasingly common development methodology. In important domains like embedded systems already major parts of the code are generated from models specified with domain-specific modelling languages. Hence, such models are nowadays an integral part of the software development and maintenance process and therefore have a major economic and strategic value for the software-developing organisations. Nevertheless almost no work has been done on a quality defect that is known to seriously hamper maintenance productivity in classic code-based development. This paper presents an approach for the automatic detection of clones in large models as they are used in model-based development of control systems. The approach is based on graph theory and hence can be applied to most graphical data-flow languages. An industrial case study demonstrates the applicability of our approach for the detection of clones in Matlab/Simulink models that are widely used in model-based development of embedded systems in the automotive domain.
international conference on software maintenance | 2007
Florian Deissenboeck; Stefan Wagner; Markus Pizka; Stefan Teuchert; Jean-Francois Girard
Maintainability is a key quality attribute of successful software systems. However, its management in practice is still problematic. Currently, there is no comprehensive basis for assessing and improving the maintainability of software systems. Quality models have been proposed to solve this problem. Nevertheless, existing approaches do not explicitly take into account the maintenance activities, that largely determine the software maintenance effort. This paper proposes a 2-dimensional model of maintainability that explicitly associates system properties with the activities carried out during maintenance. The separation of activities and properties facilitates the identification of sound quality criteria and allows to reason about their interdependencies. This transforms the quality model into a structured and comprehensive quality knowledge base that is usable in industrial project environments. For example, review guidelines can be generated from it. The model is based on an explicit quality metamodel that supports its systematic construction and fosters preciseness as well as completeness. An industrial case study demonstrates the applicability of the model for the evaluation of the maintainability of Matlab Simulink models that are frequently used in model-based development of embedded systems.
international conference on software maintenance | 1997
Jean-Francois Girard; Rainer Koschke
This paper presents a method to view a system as a hierarchy of modules according to information hiding concepts and to identify architectural component candidates in this hierarchy. The result of the method eases the understanding of a systems underlying software architecture. A prototype tool implementing this method was applied to three systems written in C (each over 30 Kloc). For one of these systems, an author of the system created an architectural description. The components generated by our method correspond to those of this architectural description in almost all cases. For the other two systems, most of the components resulting from the method correspond to meaningful system abstractions
foundations of software engineering | 1999
Joachim Bayer; Jean-Francois Girard; Martin Würthner; Jean-Marc DeBaud; Martin Apel
A successful software system evolves over time, but this evolution often occurs in an ad-hoc fashion. One approach to structure system evolution is the concept of software product lines where a core architecture supports a variety of application contexts. However, in practice, the high cost and high risks of redevelopment as well as the substantial investments made to develop the existing systems most often mandate significant leverage of the legacy assets. Yet, there is little guidance in the literature on how to transition legacy assets into a product line set-up. In this paper, we present RE-PLACE, an approach developed to support the transition of existing software assets towards a product line architecture while taking into account anticipated new system variants. We illustrate this approach with its application in an industrial setting.
automated software engineering | 1997
Jean-Francois Girard; Rainer Koschke; Georg Schied
This article presents an approach to identify abstract data types (ADT) and abstract state encapsulations (ASE, also called abstract objects) in source code. This approach, named similarity clustering, groups together functions, types, and variables into ADT and ASE candidates according to the proportion of features they share. The set of features considered includes the context of these elements, the relationships to their environment, and informal information. A prototype tool has been implemented to support this approach. It has been applied to three C systems (each between 30–38 Kloc). The ADTs and ASEs identified by the approach are compared to those identified by software engineers who did not know the proposed approach or other automatic approaches. Within this case study, this approach has been shown to have a higher detection quality and to identify, in most of the cases, more ADTs and ASEs than the other techniques. In all other cases its detection quality is second best. N.B. This article reports on work in progress on this approach which has evolved since it was presented in the original ASE97 conference paper.
International Workshop on Software Product-Family Engineering | 2003
Martin Pinzger; Harald Gall; Jean-Francois Girard; Jens Knodel; Claudio de la Riva; Wim Pasman; Chris Broerse; Jan Gerben Wijnstra
Software product families are rarely created right away but they emerge when a domain becomes mature enough to sustain their long-term investments. The typical pattern is to start with a small set of products to quickly enter a new market. As soon as the business proves to be successful new investments are directed to consolidating the software assets. The various products are migrated towards a flexible platform where the assets are shared and new products can be derived from. In order to create and maintain the platform, the organization needs to carry out several activities such as recovering the architectures of single products and product families, designing the reference architecture, isolating the variable parts, and generalizing software components. In this paper, we introduce a product family construction process that exploits related systems and product families, and we describe methods and tools used. We also present an approach for classifying platforms according to platform coverage and variation and describe three techniques to handle variability across single products and whole product families.
working conference on reverse engineering | 2000
Jörg Czeranski; Thomas Eisenbarth; Holger M. Kienle; Rainer Koschke; Erhard Plödereder; Daniel Simon; Yan Zhang; Jean-Francois Girard; Martin Würthner
In the context of the Bauhaus project, reengineering environments to support program understanding of legacy code are being developed. Bauhaus defines two formats to represent information that has been extracted from source code. One of these formats, RG, is suitable as an exchange format. This paper introduces RG, describes how it is represented as an exchanged format, and discusses schema conversions in RG.
international conference on software maintenance | 2004
Jean-Francois Girard; Martin Verlage; Dharmalingam Ganesan
This article reports on the experience of monitoring the evolution of a product family of financial Web service software system with OO-metrics over a period of three years. Every four to six months, a snapshot of the system was taken and a set of OO metrics was computed. The classes with extreme metric values or important value changes became the focus of analysis and discussions among the developers, designers, and managers. This way, potential problems were identified and corrected early.
Lecture Notes in Computer Science | 1998
Jean-Marc DeBaud; Jean-Francois Girard
The product line for software systems (PL) approach has been touted recently as one of the most promising development approach for gains in product quality, time to market and cost reduction. The approach is complex and must be tailorable to situations in which its characteristics may be of interest for adoption within a development environment. We first present in this short position paper a succinct overview of the main entry points (context) for PL adoption experienced so far within our technology transfer context. We then put a particular emphasis on the reengineering entry point in which we describe what we think are the main possible adoption scenarios. Throughout the paper we emphasize the contribution of (reference) software architectures so as to highlight the key enabling role it plays for the PL approach.
conference on software maintenance and reengineering | 2005
Jens Knodel; Thomas Forster; Jean-Francois Girard
This paper introduces an approach to mine field-tested design solutions when defining the architecture of a new product line. The design comparison approach (DCA) compares design solution alternatives implemented in existing systems and analyzes their advantages and drawbacks. This explicit comparison and analysis enables the development of high quality product line architectures by incorporating field-tested, proven concepts and strategies. We show the applicability and usefulness of the approach in two case studies concerned with the design of Eclipse plug-ins.