A Language-Based Approach for Improving the Robustness of Network Application Protocol Implementations

Laurent Burgy 1, 2 Laurent Réveillère 1, 2 Julia Lawall 3 Gilles Muller 4
1 Phoenix - Programming Language Technology For Communication Services
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest, EA4136 - Handicap et système nerveux :Action, communication, interaction: rétablissement de la fonction et de la participation [Bordeaux]
4 OBASCO - Objects, aspects and components
Mines Nantes - Mines Nantes, Inria Rennes – Bretagne Atlantique
Abstract : The secure and robust functioning of a network relies on the defect-free implementation of network applications. As network protocols have become increasingly complex, however, hand-writing network message processing code has become increasingly error-prone. In this paper, we present a domain-specific language, Zebu, for describing protocol message formats and related processing constraints. From a Zebu specification, a compiler automatically generates stubs to be used by an application to parse network messages. Zebu is easy to use, as it builds on notations used in RFCs to describe protocol grammars. Zebu-based applications are also efficient, as the memory usage is tailored to application needs and message fragments can be specified to be processed on demand. Finally, Zebu-based applications are robust, as the Zebu compiler automatically checks specification consistency and generates parsing stubs that include validation of the message structure. Using a message torture suite in the context of SIP and RTSP, we show that Zebu-generated code reliably accepts valid messages and rejects invalid ones. Results of experiments on a real trace for SIP show that Zebu-generated code does not compromise performance while preserving application robustness.
Type de document :
Communication dans un congrès
26th IEEE International Symposium on Reliable Distributed Systems, 2007, beijing, China. 2007
Liste complète des métadonnées

Littérature citée [18 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00350019
Contributeur : Laurent Réveillère <>
Soumis le : lundi 5 janvier 2009 - 16:30:36
Dernière modification le : samedi 23 juin 2018 - 01:21:27
Document(s) archivé(s) le : jeudi 11 octobre 2012 - 15:10:38

Fichier

srds07.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00350019, version 1

Citation

Laurent Burgy, Laurent Réveillère, Julia Lawall, Gilles Muller. A Language-Based Approach for Improving the Robustness of Network Application Protocol Implementations. 26th IEEE International Symposium on Reliable Distributed Systems, 2007, beijing, China. 2007. 〈inria-00350019〉

Partager

Métriques

Consultations de la notice

485

Téléchargements de fichiers

240