Génie logiciel empirique
# Génie logiciel empirique

Le génie logiciel empirique (en anglais : empirical software engineering), parfois appelé génie logiciel expérimental, est une branche du génie logiciel dont l'objectif est d'évaluer les concepts utilisés dans la réalisation de systèmes logiciels, à l'exemple des cycles de développement ou des architectures logicielles. Il s'agit de l'application des méthodes empiriques au génie logiciel.

## Description

### Définition

Le génie logiciel empirique désigne l'étude des artéfacts logiciels, c'est-à-dire des éléments qui participent à la création d'un logiciel ou qui en résultent, à des fins de caractérisation, de compréhension, d'évaluation, de prédiction, de contrôle, de gestion ou d'amélioration par le biais d'analyses qualitatives ou quantitatives.

À cette fin, les données manipulées en génie logiciel empirique couvrent tout le cycle de vie du logiciel en incluant entre autres le code source (fonctionnel ou de test), l’historique, la documentation ou encore les traces d’exécution du logiciel.

### Objectifs

De nombreux critères entrent en jeu lors de la conception d'un logiciel comme les méthodes de développement à adopter, le nombre de développeurs à employer ou le temps de réalisation à estimer. Souvent fondés sur l'expérience des développeurs, les choix qui découlent de ces critères sont davantage influencés par les opinions et les anecdotes que par une analyse $objective^,.$ En 1998 par exemple, plus de 30 % des articles scientifiques publiés dans des revues de génie logiciel ne présentent aucune validation expérimentale. Parmi ceux qui présentent une forme d'expérimentation, seuls 10 % suivent une approche rigoureuse.

L'emploi des méthodes expérimentales en génie logiciel a alors pour objectif de prouver ou de réfuter l'intérêt d'une approche ou d'une technique en particulier.

