Le 1er juin 2011, l’IRILL (Initiative de Recherche et Innovation sur le Logiciel Libre) organise une journée de travail dédiée aux langages de script.
L’objectif principal est d’identifier un ensemble d’exemples significatifs de faiblesses et caractéristiques à améliorer. On recherche aussi pour cela des développeurs ayant des exemples intéressants de motifs de programmation qui leur sont utiles, et même nécessaires, mais pour lesquels leur langage de script favori les laisse insatisfaits, parce qu’il est trop lent ou pas assez sûr, par exemple.
Au quotidien, les développeurs profitent des avantages offerts par les langages de script, tout en devant gérer leurs faiblesses intrinsèques. Dans certains cas, par l’utilisation d’outils ad hoc, de techniques d’implémentation avancées ou par des constructions linguistiques particulières, ces faiblesses peuvent être contournées.
Des travaux de recherche récents ont fait des progrès très significatifs en améliorant et rendant plus robustes les langages de script. Pour améliorer la synergie entre les développeurs des langages de script (Python, Ruby, Perl, PHP, Scilab…) et les chercheurs dans le domaine de l’implémentation de langages et dans leurs analyses, il est important de construire une base des motifs de programmation problématiques rencontrés quotidiennement par les développeurs.
L’IRILL, dont un des buts est de favoriser les échanges entre les communautés de recherche et de développement, organise une rencontre informelle dédiée à ces problématiques. Cette rencontre aura lieu dans ses locaux à Paris le 1er juin.
Donc, si votre langage de script favori vous donne parfois des maux de tête, et si vous avez quelques motifs de programmation intéressants qui gagneraient à être plus rapides, plus fiables ou potentiellement mieux gérés par les interprètes actuels, n’hésitez pas à participer à cette rencontre et à présenter, de manière informelle et en une dizaine de minutes, votre problématique.
L’enregistrement est gratuit, mais fortement recommandé, en raison des contraintes de place ; veuillez remplir le formulaire suivant :
https://www.irill.org/events/scripting-language-mini-conference-and-barcamp-registration
Contacts :
- Roberto Di Cosmo — roberto@dicosmo.org ;
- Francesco Zappa Nardelli — francesco.zappa_nardelli@inria.fr ;
- Sylvestre Ledru — sylvestre@irill.org.
Quelques articles de recherche pertinents montrant comment la vie des utilisateurs de langages de script peut être améliorée :
- Abstract interpretation in a JavaScript Jit to increase efficiency of float operations ;
- Type analysis can catch annoying errors on Ruby on Rails programs ;
- Race conditions can be statically detected in Erlang.
Aller plus loin
- Annonce (83 clics)
- Inscription (25 clics)
- IRILL (47 clics)
# script fuzzer ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Vu la complexité de certaine syntaxe, un fuzer qui créait des programmes aléatoires pour tester le runtime lui-même ne serait pas du luxe.
Il faudrait aussi un parser de fichier .h pour créer des binding "automatiquement" avec les libraries C et éviter de tout faire à la main.
"La première sécurité est la liberté"
[^] # Re: script fuzzer ?
Posté par Victor STINNER (site web personnel) . Évalué à 3.
Il existe déjà plusieurs fuzzers qui testent des parties différentes des langages :
- jsfunfuzz (par exemple) pour Javascript (teste la syntaxe et des fonctions)
- fusil-python : teste la bibliothèque standard Python
- pyfuzz : teste la syntaxe Python
- ...
J'ai entendu que Mozilla utilise énormément le fuzzing pour tester Firefox (Javascript entre autres).
[^] # Re: script fuzzer ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Oui, ce sont des outils dédiés à chaque fois. L'idée serait de créer un outil pour avoir le minimum de chose à faire pour écrire un fuzzer de langage (un truc plus simple encore que fusil :).
en voici un pour le C:
http://blog.regehr.org/archives/510
Sinon, concernant un problème récent sur un langage : avoir un rapport d'erreur beaucoup plus précis pour le compilo ocaml. Un ';' en trop au début d'un fichier provoque une erreur sur un let tout en bas... Pour le trouver, je commente une partie du code jusque cela compile... (par contre, une fois compilé, cela marchait directement)
"La première sécurité est la liberté"
[^] # Re: script fuzzer ?
Posté par Victor STINNER (site web personnel) . Évalué à 3.
Oui, ce sont des outils dédiés à chaque fois.
Fusil est une bibliothèque qui factorise beaucoup de besoins courants pour écrire un fuzzer :
- générer des données aléatoires
- analyser finement un processus : CPU, mémoire, recherche de motif dans la sortie standard
- analyser des fichiers de logs
- écrire un scénario, ex : créer une fichier, puis lancer un processus, puis attendre la fin du processus
- etc.
L'idée serait de créer un outil pour avoir le minimum de chose à faire pour écrire un fuzzer de langage (un truc plus simple encore que fusil :)
Chaque langage ayant son lot de spécificités, je ne suis pas sûr que tu arrives à mettre grand chose en commun. De toute façon, les auteurs de fuzzer ne veulent pas apprendre à utiliser une bibliothèque, ils préfèrent écrire leur petit outil autonome. Sûrement que Fusil est trop mal documenté :-) Fusil a des fuzzers pour Python, PHP et la fonction printf() : ils ne partagent pas de code pour ce qui est de la génération du code source (Python, PHP, C).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.