Haute école de gestion de Genève

Visualizing software structure understandability

Dugerdil, Philippe ; Niculescu, Mihnea

In: Software Engineering Conference (ASWEC), 2014, vol. 23, p. 110-119

Software architecture design is known to be driven by the quality attributes we may want to satisfy. Among them, modifiability plays an important role since software maintenance takes the lion's share in the software development costs. However, to successfully maintain a legacy system, the latter must be sufficiently understood so that the maintenance team will not introduce new bugs when...

Haute école de gestion de Genève

Dynamic decision tree for legacy use-case recovery

Dugerdil, Philippe ; Sennhauser, David

In: SAC '13 : Proceedings of the 28th Annual ACM Symposium on Applied Computing, Coimbra, Portugal, March 18-22, 2013, p. 1284-1291

In the context of reverse-engineering project we designed a use-case specification recovery technique for legacy information systems. With our technique, we can recover the alternative flows of each use-case of the system. It is based on a dynamic (i.e. runtime) analysis of the working of the system using execution traces. But "traditional" execution trace format do not contain enough information...

Haute école de gestion de Genève

Assessing legacy software architecture with the autonomy ratio metric

Dugerdil, Philippe

In: Software engineering an international journal (SEIJ)

Among the software quality metrics, coupling and cohesion play an important role since they provide a clue about the structuring of the classes of the system. They are, therefore, computed at the level of the classes. However, when analyzing the architecture of a system, we are not only interested in the class level, but also in the higher levels of the system structure, for example the packages...

Haute école de gestion de Genève

Using domain ontologies in a dynamic analysis for program comprehension

Belmonte, Javier ; Dugerdil, Philippe

In: ODiSE'10 Ontology-Driven Software Engineering : proceedings, Reno, Nevada, USA - October 17 - 21, 2010, 2010, p. 8

The use of domain knowledge for program comprehension has been advocated by many authors. However, as far as we know, most of the analysis techniques using domain knowledge are static, it seems that dynamic analyses have not yet taken full advantage of any domain knowledge. This might be a consequence of ontologies, the most common technique for domain knowledge representation, being static by...

Haute école de gestion de Genève

A legacy systems use case recovery method

Dugerdil, Philippe ; Jossi, Sébastien

In: ICSOFT 2010 : proceedings of the 5th International Conference on Software and Data Technologies, Athens, Greece, July 22-24. Setúbal : SciTePress, 2010, vol. 2, p. 232-237

During the development of a legacy system reverse engineering method we developed a technique to help with the recovery of the system’s use-cases. In fact, our reverse-engineering method starts with the re-documentation of the system’s use-case by observing its actual users. But these use-cases are never complete and accurate. In particular, the many alternative flows are often overlooked by...

Haute école de gestion de Genève

Automatic generation of abstract views for legacy software comprehension

Dugerdil, Philippe ; Repond, Julien

In: ISEC’10 : proceedings of the 2010 India Software Engineering Conference, Mysore, India, February 25-27, 2010

One of the main motivations for the reverse engineering of software programs is to help with software comprehension. Although several techniques have been presented in the literature to reverse-architect software, the corresponding views usually do not help much. In fact, most of the published techniques recover the architecture of the software by focusing on the abstract properties of the...

Haute école de gestion de Genève

Using robustness diagrams to help with software understanding : an Eclipse plug-in

Dugerdil, Philippe ; Belmonte, Javier ; Kony, David

In: International journal of software engineering, 2009, vol. 2, no. 3, p. 135-150

In the reverse engineering of a software program, one of the key difficulties is actually to understand the software. While the published techniques work top down or bottom up, our approach works middle-out: before trying to understand the low level code, we first rebuild a hypothetical analysis model from the use-cases of the system. This model then represents the target of the understanding...

Haute école de gestion de Genève

Computing dynamic clusters

Dugerdil, Philippe ; Jossi, Sébastien

In: ISEC’09 : proceedings of the 2009 India Software Engineering Conference, Pune, India, February 23-26, 2009. New York : Association for Computing Machinery, 2009, p. 65-73

When trying to reverse engineer software, execution trace analysis is increasingly used. Though, by using this technique we are quickly faced with an enormous amount of data that we must process. While many solutions have been proposed that consist of summarizing, filtering or compressing the trace, the lossless techniques are seldom able to cope with millions of events. Then, we developed a...

Haute école de gestion de Genève

An Eclipse plugin for the automated reverse-engineering of software programs

Dugerdil, Philippe ; Kony, David ; Belmonte, Javier

In: ITNG 2009 : 6th International Conference on Information Technology : New Generations, April 27-29, Las Vegas. Los Alamitos : IEEE Computer Society, 2009, p. 284-289

In the reverse engineering of a software program, one of the key difficulties is actually to understand the software. While the published techniques work top down or bottom up, our approach works middle-out: before trying to understand the low level code, we first rebuild a hypothetical analysis model from the usecases of the system. This model then represents the target of the understanding...

Haute école de gestion de Genève

Applying financial time series analysis to the dynamic analysis of software

Dugerdil, Philippe ; Sennhauser, David

In: ICSOFT 2009 : proceedings of the 4th International Conference on Software and Data Technologies, Sofia, Bulgaria, July 26-29. Setúbal : INSTICC Press, 2009, vol. 1, p. 194-201

Dynamic analysis of programs is one of the most promising techniques to reverse-engineer legacy code for software understanding. However, the key problem is to cope with the volume of data to process, since a single execution trace could contain millions of calls. Although many trace analysis techniques have been proposed, most of them are not very scalable. To overcome this problem, we developed...