<  Back to the Polytechnique Montréal portal

Évolution biologique et applications en génie logiciel

Salima Hassaine

Technical Report (2010)

Open Acess document in PolyPublie and at official publisher
[img]
Preview
Open Access to the full text of this document
Published Version
Terms of Use: All rights reserved
Download (856kB)
Show abstract
Hide abstract

Abstract

The maintenance of large programs is a costly activity because their evolution often leads to two problems: an increase in their complexity and an erosion of their design. These problems impede the comprehension and the future evolution of the programs. Most previous approaches of software evolution analysis are limited because of their performance. The goal of our research work is to study the evolution of programs from a biological point of view by presenting a mapping between biological evolution and software evolution. This mapping offers a solution to the efficiency problem by using adaptation of string matching algorithms from bio-informatics to benefit from their performance on large programs. We report evidence of the usefulness of this mapping by identifying evolving classes that maintain a stable structure of relations (use, association, aggregation, inheritance, creation) with other classes and thus likely constitute the backbones of the programs. We apply our approach on several different size programs and compare its performance and results with the most recent approach from the literature.

Résumé

La maintenance des programmes orientés objets est une activité très coûteuse et la compréhension des programmes par les mainteneurs est essentielle pour la réaliser. L'analyse de l'évolution de l'architecture d'un programme aide à comprendre les problèmes rencontrés lors de sa conception ainsi que les solutions apportées. Les techniques existantes utilisées pour l'analyse de l'évolution de logiciels présentent toutes, cependant, un problème de performance. Le but de notre travail de recherche est d'étudier l'évolution de logiciels d'un point de vue biologique. Nous proposons un mapping entre l'évolution biologique et l'évolution logicielle. Ce mapping propose une solution aux problèmes de performance, en adaptant des algorithmes efficaces de comparaisons et d'alignements de chaînes de caractères de bio-informatique, pour bénéficier de leurs performances sur des programmes de grande taille. Parmi nos résultats actuels, nous rapportons l'évidence de l'utilité de notre mapping en identifiant les classes en évolution qui maintiennent une structure stable des relations (utilisation, association, agrégation, création, héritage) avec d'autres classes et constituent ainsi probablement les épines dorsales des programmes. Nous rapportons aussi l'application de notre approche sur plusieurs programmes différents et comparons son exécution et résultats avec l'approche la plus récente de la littérature.

Uncontrolled Keywords

Évolution de logiciels, changement de l'architecture, stabilité de l'architecture, évolution biologique, homologie, algorithmes de bio-informatique / Software evolution, Design change, Design stability, Bio- logical evolution, Homology, Bioinformatics Algorithms

Subjects: 2700 Information technology > 2706 Software engineering
Department: Department of Computer Engineering and Software Engineering
PolyPublie URL: https://publications.polymtl.ca/2652/
Report number: EPM-RT-2010-03
Date Deposited: 06 Oct 2017 14:04
Last Modified: 27 Sep 2024 19:55
Cite in APA 7: Hassaine, S. (2010). Évolution biologique et applications en génie logiciel. (Technical Report n° EPM-RT-2010-03). https://publications.polymtl.ca/2652/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item