Procédé (200) mis en œuvre par ordinateur, d’analyse de bases de données massive de codes logiciels, l’ordinateur comprenant au moins un processeur (12) couplé à une mémoire (14) stockant des instructions de code non transitoires qui, lorsqu'elles sont exécutées, amènent le processeur à effectuer des étapes consistant à : recevoir (202) une famille de codes logiciels à analyser, ladite famille de codes logiciels étant un regroupement par similarités d’une pluralité de codes logiciels stockés dans une base de données massive de codes logiciels (16) ; effectuer (204) une préparation sur les codes logiciels de la famille sélectionnée en fonction de paramètres caractérisant ladite famille de codes logiciels ; et exécuter (206) une analyse sémantique et une analyse architecturale des codes préparés de ladite famille de codes logiciels, ladite analyse comprenant une boucle d’itération permettant, avant une nouvelle exécution, d’effectuer une nouvelle préparation du code en fonction des résultats de l’analyse précédente. Le procédé selon la revendication 1 dans lequel l’étape de recevoir une famille de codes logiciels comprend des étapes consistant à : étiqueter (202-1) les codes logiciels contenus dans la base de données massive de code logiciel (16); regrouper (202-2) les codes logiciels en familles de code logiciel, en fonction des étiquettes et d’une similarité morphologique ; et sélectionner (202-3) une famille de code logiciel à analyser. Le procédé selon la revendication 1 ou 2 dans lequel l’étape d’effectuer une préparation du code comprend des étapes consistant à : extraire (302) de chaque code logiciel appartenant à une même famille, différentes informations caractérisant leur typologie ; générer (304) des paramètres de caractérisation à partir de l’ensemble des informations extraites ; et générer (306) une représentation agrégée et normalisée du code logiciel et des paramètres de caractérisation. Le procédé selon la revendication 3 dans lequel l’étape d’extraction d’informations comprend de plus des étapes consistant à extraire des informations de fichiers « Makefile », des informations de fichiers de documentation et de manuels d’utilisation, des informations de commentaires présents dans les codes logiciels. Le procédé selon l’une quelconque des revendications 1 à 4 dans lequel l’étape d’effectuer une nouvelle préparation des codes logiciels de la famille sélectionnée, consiste à utiliser des annotations sémantiques et/ou des annotations architecturales obtenues comme résultats d’analyses précédentes. Le procédé selon l’une quelconque des revendications 3 à 5 dans lequel l’étape de générer des paramètres de caractérisation consiste à générer des paramètres à partir d’un algorithme de génération aléatoire de paramètres ou d’un algorithme de génération semi-aléatoire de paramètres. Le procédé selon l’une quelconque des revendications 3 à 6 dans lequel l’étape de générer une représentation agrégée et normalisée comprend des étapes consistant à intégrer les paramètres générés dans le code logiciel et à normaliser les formes de code. Le procédé selon l’une quelconque des revendications 3 à 7 dans lequel l’étape de générer une représentation agrégée et normalisée consiste à générer une forme de blob binaire ou un code source enrichi. Le procédé selon l’une quelconque des revendications 1 à 8 dans lequel la boucle d’itération est répétée un nombre prédéfini de fois. Le procédé selon l’une quelconque des revendications 1 à 8 dans lequel la boucle d’itération est répétée tant qu’un point fixe n’est pas atteint. Un produit programme d’ordinateur, ledit programme d’ordinateur comprenant des instructions de code permettant d’effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 10, lorsque ledit programme est exécuté sur un ordinateur. Un dispositif d’analyse de bases de données massive de codes logiciels, le dispositif comprenant des moyens pour mettre en œuvre les étapes du procédé de l’une quelconque des revendications 1 à 10.