Extraction of ABNF Rules from RFCs to Enable Automated Test Data Generation

  • Markus Gruber
  • Phillip Wieser
  • Stefan Nachtnebel
  • Christian Schanes
  • Thomas Grechenig
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 405)


The complexity of IT systems and the criticality of robust IT systems is constantly increasing. Testing a system requires consideration of different protocols and interfaces, which makes testing hard and expensive. Test automation is required to improve the quality of systems without cost explosion. Many standards like HTML and FTP are semi–formally defined in RFCs, which makes a generic algorithm for test data generation based on RFC relevant. The proposed approach makes it possible to automatically generate test data for protocols defined as ABNF in RFCs for robustness tests. The introduced approach was shown in practice by generating SIP messages based on the RFC specification of SIP. This approach shows the possibility to generate data for any RFC that uses ABNF, and provides a solid foundation for further empirical evaluation and extension for software testing purposes.


Session Initiation Protocol System Under Test Internet Engineer Task Force Test Data Generation Session Initiation Protocol Message 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Aboulnaga, A., Naughton, J.F., Zhang, C.: Generating synthetic complex-structured XML data. In: Proc. 4th Int. Workshop on the Web and Databases, WebDB 2001 (2001)Google Scholar
  2. 2.
    Arcuri, A., Iqbal, M.Z., Briand, L.: Random testing: Theoretical results and practical implications. IEEE Trans. Softw. Eng. 38(2), 258–277 (2012)CrossRefGoogle Scholar
  3. 3.
    Barbosa, D., Mendelzon, A., Keenleyside, J., Lyons, K.: ToXgene: a template-based data generator for XML. In: SIGMOD 2002: Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data, pp. 616–616. ACM, New York (2002)Google Scholar
  4. 4.
    Bertolino, A., Gao, J., Marchetti, E., Polini, A.: TAXI–a tool for XML-based testing. In: ICSE COMPANION 2007: Companion to the Proceedings of the 29th International Conference on Software Engineering, pp. 53–54. IEEE Computer Society, Washington, DC (2007)Google Scholar
  5. 5.
    Caballero, J., Yin, H., Liang, Z., Song, D.: Polyglot: automatic extraction of protocol message format using dynamic binary analysis. In: CCS 2007: Proceedings of the 14th ACM Conference on Computer and Communications Security, pp. 317–329. ACM, New York (2007)Google Scholar
  6. 6.
    Carbin, M., Rinard, M.C.: Automatically identifying critical input regions and code in applications. In: ISSTA, pp. 37–48 (2010)Google Scholar
  7. 7.
    Crocker, E., Overell, P.: Augmented bnf for syntax specifications: Abnf (2008)Google Scholar
  8. 8.
    Ebert, C., Dumke, R.: Software Measurement: Establish - Extract - Evaluate - Execute, 1st edn. Springer (August 2007)Google Scholar
  9. 9.
    Fenner, B.: Bill fenner’s abnf extractor, (accessed: January 21, 2013)
  10. 10.
    Fong, J., Pang, F., Bloor, C.: Converting relational database into XML document, pp. 61–65 (2001)Google Scholar
  11. 11.
    I. E. T. Force. Overview of rfc decument series, (accessed: January 26, 2013)
  12. 12.
    Gutjahr, W.: Partition testing vs. random testing: the influence of uncertainty. IEEE Transactions on Software Engineering 25(5), 661–674 (1999)CrossRefGoogle Scholar
  13. 13.
    ITU-T. X.693 information technology ASN.1 encoding rules: XML encoding rules (XER). Identical standard: ISO/IEC 8825-4:2008 (Common) (November 2008)Google Scholar
  14. 14.
    Jacinto, M., Librelotto, G., Ramalho, J., Henriques, P.: Bidirectional conversion between XML documents and relational databases, pp. 437–443 (2002)Google Scholar
  15. 15.
    McCracken, D.D., Reilly, E.D.: Backus-naur form (bnf). In: Encyclopedia of Computer Science, pp. 129–131. John Wiley and Sons Ltd., ChichesterGoogle Scholar
  16. 16.
    McMinn, P.: Search-based software test data generation: A survey. Software Testing, Verification and Reliability 14, 105–156 (2004)CrossRefGoogle Scholar
  17. 17.
    Michael, C.C., McGraw, G., Schatz, M.A.: Generating software test data by evolution. IEEE Trans. Softw. Eng. 27(12), 1085–1110 (2001)CrossRefGoogle Scholar
  18. 18.
    Myers, J., Rose, M.: The content-md5 header field (1995)Google Scholar
  19. 19.
    Ribeiro, J.C.B., Zenha-Rela, M.A., de Vega, F.F.: Test case evaluation and input domain reduction strategies for the evolutionary testing of object-oriented software. Information and Software Technology 51(11), 1534–1548 (2009)CrossRefGoogle Scholar
  20. 20.
    Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., Schooler, E.: RFC 3261: SIP - Session Initiation ProtocolGoogle Scholar
  21. 21.
    Schanes, C., Fankhauser, F., Taber, S., Grechenig, T.: Generic data format approach for generation of security test data. In: The Third International Conference on Advances in System Testing and Validation Lifecycle, Barcelona, Spain. IEEE Computer Society Press, Los Alamitos (2011)Google Scholar
  22. 22.
    E. Standard. EBNF: ISO/IEC 14977: 1996 (E),
  23. 23.
    Stefanec, T., Skuliber, I.: Grammar-based sip parser implementation with performance optimizations. In: Proceedings of the 2011 11th International Conference on Telecommunications (ConTEL), pp. 81–86 (June 2011)Google Scholar
  24. 24.
    Van Deursen, D., Poppe, C., Martens, G., Mannens, E., Walle, R.: XML to RDF conversion: A generic approach, pp. 138–144 (November 2008)Google Scholar
  25. 25.
    Wirth, N.: What can we do about the unnecessary diversity of notation for syntactic definitions? Commun. ACM 20(11), 822–823 (1977)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Markus Gruber
    • 1
  • Phillip Wieser
    • 1
  • Stefan Nachtnebel
    • 1
  • Christian Schanes
    • 1
  • Thomas Grechenig
    • 1
  1. 1.Research Group for Industrial SoftwareVienna University of TechnologyViennaAustria

Personalised recommendations