Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Jannik Laval is active.

Publication


Featured researches published by Jannik Laval.


working conference on reverse engineering | 2009

Identifying Cycle Causes with Enriched Dependency Structural Matrix

Jannik Laval; Simon Denier; Stéphane Ducasse; Alexandre Bergel

Dependency Structure Matrix (DSM) has been successfully applied to identify software dependencies among packages and subsystems. A number of algorithms were proposed to compute the matrix so that it highlights patterns and problematic dependencies between subsystems. However, existing DSM implementations often miss important information to fully support reengineering effort. For example, they do not clearly qualify and quantify problematic relationships, information which is crucial to support remediation tasks.In this paper we present enriched DSM (eDSM) where cells are enriched with contextual information about (i) the type of dependencies (inheritance, class reference...), (ii) the proportion of referencing entities, (iii) the proportion of referenced entities. We distinguish independent cycles and stress potentially simple fixes for cycles using coloring information. This work is language independent and has been implemented on top of the Moose reengineering environment. It has been applied to non-trivial case studies among which ArgoUML, and Morphic the UI framework available in two open-source Smalltalks, Squeak and Pharo. Solution to problems identified by eDSM have been performed and retrofitted in Pharo main distribution.


conference on software maintenance and reengineering | 2011

Legacy Software Restructuring: Analyzing a Concrete Case

Nicolas Anquetil; Jannik Laval

Software re-modularization is an old preoccupation of reverse engineering research. The advantages of a well structured or modularized system are well known. Yet after so much time and efforts, the field seems unable to come up with solutions that make a clear difference in practice. Recently, some researchers started to question whether some basic assumptions of the field were not overrated. The main one consists in evaluating the high-cohesion/low-coupling dogma with metrics of unknown relevance. In this paper, we study a real structuring case (on the Eclipse platform) to try to better understand if (some) existing metrics would have helped the software engineers in the task. Results show that the cohesion and coupling metrics used in the experiment did not behave as expected and would probably not have helped the maintainers reach there goal. We also measured another possible restructuring which is to decrease the number of cyclic dependencies between modules. Again, the results did not meet expectations.


international conference on software maintenance | 2009

The squale model — A practice-based industrial quality model

Karine Mordal-Manet; Francoise Balmas; Simon Denier; Stéphane Ducasse; Harald Wertz; Jannik Laval; Fabrice Bellingard; Philippe Vaillergues

ISO 9126 promotes a three-level model of quality (factors, criteria, and metrics) which allows one to assess quality at the top level of factors and criteria. However, it is difficult to use this model as a tool to increase software quality. In the Squale model, we add practices as an intermediate level between metrics and criteria. Practices abstract away from raw information (metrics, tool reports, audits) and provide technical guidelines to be respected. Moreover, practice marks are adjusted using formulae to suit company development habits or exigences: for example bad marks are stressed to point to places which need more attention. The Squale model has been developed and validated over the last couple of years in an industrial setting with Air France-KLM and PSA Peugeot-Citroën.


TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns | 2011

Efficient retrieval and ranking of undesired package cycles in large software systems

Jean-Rémy Falleri; Simon Denier; Jannik Laval; Philippe Vismara; Stéphane Ducasse

Many design guidelines state that a software system architecture should avoid cycles between its packages. Yet such cycles appear again and again in many programs. We believe that the existing approaches for cycle detection are too coarse to assist the developers to remove cycles from their programs. In this paper, we describe an efficient algorithm that performs a fine-grained analysis of the cycles among the packages of an application. In addition, we define a metric to rank cycles by their level of undesirability, prioritizing the cycles that seems the more undesired by the developers. Our approach is validated on two large and mature software systems in Java and Smalltalk.


Science of Computer Programming | 2011

Supporting simultaneous versions for software evolution assessment

Jannik Laval; Simon Denier; Stéphane Ducasse; Jean-Rémy Falleri

When reengineering software systems, maintainers should be able to assess and compare multiple change scenarios for a given goal, so as to choose the most pertinent one. Because they implicitly consider one single working copy, revision control systems do not scale up well to perform simultaneous analyses of multiple versions of systems. We designed Orion, an interactive prototyping tool for reengineering, to simulate changes and compare their impact on multiple versions of software source code models. Our approach offers an interactive simulation of changes, reuses existing assessment tools, and has the ability to hold multiple and branching versions simultaneously in memory. Specifically, we devise an infrastructure which optimizes memory usage of multiple versions for large models. This infrastructure uses an extension of the FAMIX source code meta-model but it is not limited to source code analysis tools since it can be applied to models in general. In this paper, we validate our approach by running benchmarks on memory usage and computation time of model queries on large models. Our benchmarks show that the Orion approach scales up well in terms of memory usage, while the current implementation could be optimized to lower its computation time. We also report on two large case studies on which we applied Orion.


conference on software maintenance and reengineering | 2011

An Empirical Model for Continuous and Weighted Metric Aggregation

Karine Mordal-Manet; Jannik Laval; Stéphane Ducasse; Nicolas Anquetil; Francoise Balmas; Fabrice Bellingard; Laurent Bouhier; Philippe Vaillergues; Thomas J. McCabe

It is now understood that software metrics alone are not enough to characterize software quality. To cope with this problem, most of advanced and/or industrially validated quality models aggregate software metrics: for example, cyclomatic complexity is combined with test coverage to stress the fact that it is more important to cover complex methods than accessors. Yet, aggregating and weighting metrics to produce quality indexes is a difficult task. Indeed, certain weighting approaches may lead to abnormal situations where a developer increasing the quality of a software component seeing the overall quality degrade. Finally, mapping combinations of metric values to quality indexes may be a problem when using thresholds. In this paper, we present the problems we faced when designing the Squale quality model, then we present an empirical solution based on weighted aggregations and on continuous functions. The solution has been termed the Squale quality model and validated over 4 years with two large multinational companies: Air France-KLM and PSA Peugeot-Citroen.


conference on software maintenance and reengineering | 2009

SQUALE Software QUALity Enhancement

Alexandre Bergel; Simon Denier; Stéphane Ducasse; Jannik Laval; Fabrice Bellingard; Philippe Vaillergues; Francoise Balmas; Karine Mordal-Manet

The Squale project was born from industrial effort to control software quality. Its goals are to re¿ne and enhance Qualixo Model, a software-metric based quality model already used by large companies in France (Air France-KLM, PSA Peugeot-Citroën) and to support the estimation of return on investment produced by software quality. Qualixo Model is a software quality model based on the aggregation of software metrics into higher level indicators called practices, criterias and factors. The coordination of Squale is carried out by Qualixo.


Proceedings of the International Workshop on Smalltalk Technologies | 2009

Supporting incremental change in large system models

Jannik Laval; Simon Denier; Stéphane Ducasse; Andy Kellens

When reengineering large systems, software developers would like to assess and compare the impact of multiple change scenarios without actually performing these changes. A change can be effected by applying a tool to the source code, or by a manual refactoring. In addition, tools run over a model are costly to redevelop. It raises an interesting challenge for tools implementors: how to support modification of large source code models to enable comparison of multiple versions. One naive approach is to copy the entire model after each modification. However, such an approach is too expensive in memory and execution time. In this paper we explore different implementations that source code metamodels support multiple versions of a system. We propose a solution based on dynamic binding of entities between multiple versions, providing good access performance while minimizing memory consumption.


FAMOOSr 2008 - 2nd Workshop on FAMIX and Moose in Reengineering | 2008

Assessing the Quality of your Software with MoQam

Jannik Laval; Alexandre Bergel; Stéphane Ducasse


FAMOOSr 2009 - 3rd Workshop on FAMIX and MOOSE in Software Reengineering | 2009

Identifying cycle causes with CycleTable

Jannik Laval; Simon Denier; Stéphane Ducasse

Collaboration


Dive into the Jannik Laval's collaboration.

Top Co-Authors

Avatar

Stéphane Ducasse

French Institute for Research in Computer Science and Automation

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alexandre Bergel

French Institute for Research in Computer Science and Automation

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Andy Kellens

Vrije Universiteit Brussel

View shared research outputs
Researchain Logo
Decentralizing Knowledge