L’exploration de logiciels est un processus par lequel une personne ou un groupe, généralement impliqué dans l’industrie des technologies de l’information (TI), examine le code source d’un logiciel pour déterminer des informations à son sujet. Cela peut être fait de différentes manières, bien que d’autres logiciels soient souvent utilisés pour rendre le processus plus facile ou plus rapide. Les informations trouvées grâce à cette méthode peuvent ensuite être utilisées de diverses manières, et elles sont régulièrement utilisées dans la création de modèles pour le développement futur de logiciels. L’exploration de logiciels est similaire à certains égards à l’exploration de données, bien que le type d’informations obtenues et ses utilisations puissent être très différentes.
Le processus d’exploration de logiciels est souvent utilisé par les entreprises et les développeurs de logiciels pour extraire des données d’un programme à utiliser dans le développement de nouveaux logiciels. Cela est généralement effectué par les développeurs de logiciels qui parcourent les différentes lignes de code qui composent un programme et extraient des données de ce code. D’autres programmes sont souvent utilisés pour faciliter l’exploration de logiciels, souvent en recherchant certains termes ou segments dans le code lui-même. Les informations trouvées de cette manière peuvent être utilisées de plusieurs façons, souvent comme modèle pour le développement de nouveaux programmes.
L’exploration de logiciels est généralement effectuée par une entreprise ou un individu sur un logiciel qui a été développé par cette entreprise, qui appartient légalement à l’entreprise ou qui est fourni sous une licence open source. Cela rend l’utilisation de toutes les données extraites par le processus d’extraction légale. L’exploration de logiciels effectuée sur un programme appartenant à une autre personne ou société peut toutefois enfreindre les lois sur le droit d’auteur qui protègent les logiciels en tant que propriété intellectuelle. Cependant, cela peut être quelque chose d’un domaine juridique nébuleux dans certains cas, donc l’extraction doit être effectuée avec soin par un programmeur ou un développeur.
À bien des égards, l’exploration de logiciels est similaire à un autre processus connu sous le nom d’exploration de données. L’exploration de données utilise souvent des techniques et des applications similaires à celles utilisées dans les logiciels d’exploration de données, bien qu’elle soit effectuée sur des bases de données et d’autres grandes quantités de données brutes plutôt que sur un logiciel particulier. Cependant, les deux termes sont utilisés de manière interchangeable par certains professionnels de l’informatique, de sorte que « l’exploration de données » peut également être utilisée en ce qui concerne un logiciel. Alors que l’exploration de données cherche généralement à obtenir des données utiles et spécifiques à partir d’un grand ensemble de données, l’exploration de logiciels est souvent effectuée pour trouver comment les tables de données et le code ont été créés en premier lieu.