Parsnip Parser Creation Application

RESOURCE

Abstract

Parsnip has three parts. The first part is the front-end user experience. The front end will be a graphical representation of the intermediate language. Once a user is satisfied with the information on the front end, Parsnip translates the data from the visual application into the second part of Parsnip - the intermediate language. More advanced users may skip the front end and generate their own intermediate language files. The final part is the backend which takes the intermediate language files and generates Zeek and Spicy code. Parsnip will not completely replace parser developers. Many protocols have unique challenges requiring manual effort; however, the goal of Parsnip is to automate at least 90% of the development that largely consists of repetitive tasks. Parsnip output will compile a functioning parser but may not include all PDU types or parse all data.
Developers:
Huddleston, Timothy [1] Pierce, Melanie [1] ORCID [1] Williams, Taegan [1] Grover, Seth [1] Harmon, Payton [1] Hudson, David [1]
  1. Idaho National Laboratory (INL), Idaho Falls, ID (United States)
Release Date:
2024-01-11
Project Type:
Open Source, Publicly Available Repository
Software Type:
Scientific
Programming Languages:
JavaScript
Python
Jinja2
Licenses:
BSD 3-clause "New" or "Revised" License
Sponsoring Org.:
Code ID:
126740
Research Org.:
Idaho National Laboratory (INL), Idaho Falls, ID (United States)
Country of Origin:
United States
Keywords:
Spicy; Zeek Parser; ICS Protocols; ICS Protocol Parsers; ICSNPP; Parsnip

RESOURCE

Citation Formats

Huddleston, Timothy A., Pierce, Melanie A., Becker, Christopher D., Williams, Taegan M., Grover, Seth D., Harmon, Payton N., and Hudson, David A. Parsnip Parser Creation Application. Computer Software. https://github.com/cisagov/parsnip. USDOE Office of Nuclear Energy (NE). 11 Jan. 2024. Web. doi:10.11578/dc.20240430.2.
Huddleston, Timothy A., Pierce, Melanie A., Becker, Christopher D., Williams, Taegan M., Grover, Seth D., Harmon, Payton N., & Hudson, David A. (2024, January 11). Parsnip Parser Creation Application. [Computer software]. https://github.com/cisagov/parsnip. https://doi.org/10.11578/dc.20240430.2.
Huddleston, Timothy A., Pierce, Melanie A., Becker, Christopher D., Williams, Taegan M., Grover, Seth D., Harmon, Payton N., and Hudson, David A. "Parsnip Parser Creation Application." Computer software. January 11, 2024. https://github.com/cisagov/parsnip. https://doi.org/10.11578/dc.20240430.2.
@misc{ doecode_126740,
title = {Parsnip Parser Creation Application},
author = {Huddleston, Timothy A. and Pierce, Melanie A. and Becker, Christopher D. and Williams, Taegan M. and Grover, Seth D. and Harmon, Payton N. and Hudson, David A.},
abstractNote = {Parsnip has three parts. The first part is the front-end user experience. The front end will be a graphical representation of the intermediate language. Once a user is satisfied with the information on the front end, Parsnip translates the data from the visual application into the second part of Parsnip - the intermediate language. More advanced users may skip the front end and generate their own intermediate language files. The final part is the backend which takes the intermediate language files and generates Zeek and Spicy code. Parsnip will not completely replace parser developers. Many protocols have unique challenges requiring manual effort; however, the goal of Parsnip is to automate at least 90% of the development that largely consists of repetitive tasks. Parsnip output will compile a functioning parser but may not include all PDU types or parse all data.},
doi = {10.11578/dc.20240430.2},
url = {https://doi.org/10.11578/dc.20240430.2},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20240430.2}},
year = {2024},
month = {jan}
}