Sujet de Master
Layers Identification and Diagnotisc
Equipe et contacts: Equipe RMoD - INRIA Lille Nord Europe
- S. Ducasse (DR), stephane.ducasse@inria.fr
- Nicolas Anquetil, nicolas.anquetil@gmail.com
- D. Pollet, damien.Pollet@inria.fr
Keywords: Reengineering, remodularisation, visualization
Context : Large industrial applications are structured in packages. However, packages do not prevent the general architecture of a large system to decay and to end up into not spaghetti code having packages with mixed logic and tangled code. Identifying layers in large system by grouping packages is then an important help that can support software engineers in their daily work. Dependency structural matrix [Lava] is one way to give some sense to large group of packages by using the uses relationships between packages as dependency order. It is then possible to identify layers since some packages do not depend on other and as such constitute the ground layer. Recursively it is then possible to identify layer on top. The problem is that this works with well-designed systems.
Subject : The topic of this master is to extend our work on dependency structural matrix [Lava] with support to offer possible solutions. We foresee two tracks of possible work: the first one is to help proposing solutions in presence of cyclic dependencies. For this we should evaluate if the use a deduction system to encode some common practices and mistakes is possible. For the second direction, we could use some simulation system based on simulated annealing to identify possible better packages. We will decide depending on the student wishes.
Team and others : Equipe RMoD – INRIA Lille Nord Europe. The internship will be financed and we may have possibility for a PhD.
References
Jannik Laval, Simon Denier, St\'ephane Ducasse and Alexandre Bergel, Identifying cycle causes with Enriched Dependency Structural Matrix, WCRE '09: Proceedings of the 2009 16th Working Conference on Reverse Engineering, 2009
ani Abdeen and St\'ephane Ducasse and Houari Sahraoui and Ilham Alloui,Automatic Package Coupling and Cycle Minimization, H International Working Conference on Reverse Engineering (WCRE), IEEE Computer Society Press, 2009
Neeraj Sangal, Ev Jordan, Vineet Sinha and Daniel Jackson, Using Dependency Models to Manage Complex Software Architecture, Proceedings of OOPSLA'05, 2005
[Vai04] Daniel Vainsencher. Mudpie: layers in the ball of mud. Computer Languages, Systems & Structures, 30(1-2):5–19, 2004.