Skip to Main content Skip to Navigation
Conference papers

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.
Complete list of metadata

Cited literature [18 references]  Display  Hide  Download
Contributor : Laurent Réveillère Connect in order to contact the contributor
Submitted on : Monday, January 5, 2009 - 4:30:36 PM
Last modification on : Monday, December 20, 2021 - 4:50:14 PM
Long-term archiving on: : Thursday, October 11, 2012 - 3:10:38 PM


Files produced by the author(s)


  • HAL Id : inria-00350019, version 1


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. ⟨inria-00350019⟩



Record views


Files downloads