Ce mois-ci, un groupe de développeurs de l'université de Illinois-Urbana Champaign a annoncé la sortie de CodeCrawler, un moteur de recherche Open Source permettant aux développeurs de rechercher des codes sources.
Lorsqu'un développeur cherche un source, il utilise la plupart du temps un grep. Ce type d'outil cherche des chaînes de caractères correspondant à une expression régulière. Aussi puissante soit-elle, cette technique présente plusieurs inconvénients. Tout d'abord, l'écriture d'expressions régulières nécessite de savoir un tant soit peu ce que l'on cherche (un préfixe de nom de variable, etc.). Ensuite, le résultat de la recherche retournée par un grep liste toutes les occurrences d'une expression régulière avec la même pertinence. Le développeur se retrouve parfois avec des centaines de résultats sans savoir exactement dans lequel commencer l'exploration. Enfin les outils grep font partie du système d'exploitation ou de l'IDE et les résultats ne peuvent être visualisés à travers le Web. Or de plus en plus de projets, notamment Open Source, sont développés à travers Internet, à travers une interface Web.
Dans les langages de programmation, les identifiants sont souvent composés de plusieurs mots, par exemple ListArray, basic_string… Pour un moteur de recherche classique, un identifiant est un mot. De plus pour lui, une variable locale nommée « toto » et une classe déclarée « toto » ont le même poids sémantique.
CodeCrawler combine le meilleur des moteurs de recherche Web et des outils grep, et les étend avec une connaissance des langages de programmation et de la sémantique des codes sources pour permettre une recherche plus intelligente et pour déterminer la pertinence des résultats de la recherche. CodeCrawler fournit une interface Web permettant à l'utilisateur d'effectuer une requête sur des expressions régulières (comme grep), sur des mots-clés (comme une recherche Web) et en utilisant des extensions spécifiques à la programmation. Les résultats retournés sont rangés par pertinence, en prenant en compte la sémantique du code source (classe, méthode, variable…) et pointent vers les codes sources d'origine. CodeCrawler supporte les langages de programmation les plus utilisés (assembleur, ASP, C++, C#, Cobol, Fortran, HTML, Java, Lisp, Pascal, Perl, PHP, Python, Tcl…) et est facilement extensible avec de nouveaux langages.
Le principe de fonctionnement est simple. L'administrateur installe CodeCrawler et configure les entrepôts de codes sources pour la recherche (pserver CVS, WebDAV, système de fichiers local). CodeCrawler construit alors un index de recherche pour les codes source en analysant chaque fichier source et en extrayant l'information sémantique importante. Les développeurs cherchent dans les entrepôts indexés et examinent le code à travers un navigateur Web.
CodeCrawler est disponible en Open Source sur le site http://codecrawler.sourceforge.net.
CodeCrawler, le moteur de recherche de code source
0
Réaction
Newsletter LMI
Recevez notre newsletter comme plus de 50000 abonnés
Suivre toute l'actualité
Newsletter
Recevez notre newsletter comme plus de 50 000 professionnels de l'IT!
Je m'abonne
Commentaire