P4 switch code data flow analysis : towards stronger verification of forwarding plane software

Detalhes bibliográficos
Autor(a) principal: Birnfeld, Karine
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/213157
Resumo: O advento de linguagens específicas de domínio como POF e P4 permitiram pela primeira vez que operadores de rede pudessem prontamente redefinir como os dispositivos de encaminhamento de dados (por exemplo, switches) interpretam e processam pacotes em uma Rede Definida por Software (SDN). Nesse contexto, a verificação de software para o plano de dados desenvolvido “em casa” se torna fundamental para evitar interrupções na rede e no serviço devido a problemas de implementação. Várias técnicas, como execução simbólica, anotações e asserções, foram usadas recentemente para garantir códigos de planos de dados programáveis livres de erros. Apesar das potencialidades, elas são limitadas nas classes de erros que podem capturar. Mais importante, as propostas existentes para verificação do programa de switch geralmente exigem que o programador escreva um código de verificação personalizado (por exemplo, anotações), uma abordagem propensa a erros. Nesta dissertação, apresentamos o design e a implementação do P4-DATA-FLOW, uma ferramenta prática que utiliza a análise de fluxo de dados para verificação de programas de switch. Nós nos concentramos na linguagem P4 e apresentamos experimentos mostrando que a análise do fluxo de dados pode revelar defeitos de classes ainda não cobertas pelos trabalhos existente, sem exigir mais esforço do programador.
id URGS_8c358f105d29db3608fc48d755d810eb
oai_identifier_str oai:www.lume.ufrgs.br:10183/213157
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Birnfeld, KarineCordeiro, Weverton Luis da CostaFrança, Breno Bernard Nicolau de2020-08-29T03:47:40Z2020http://hdl.handle.net/10183/213157001117500O advento de linguagens específicas de domínio como POF e P4 permitiram pela primeira vez que operadores de rede pudessem prontamente redefinir como os dispositivos de encaminhamento de dados (por exemplo, switches) interpretam e processam pacotes em uma Rede Definida por Software (SDN). Nesse contexto, a verificação de software para o plano de dados desenvolvido “em casa” se torna fundamental para evitar interrupções na rede e no serviço devido a problemas de implementação. Várias técnicas, como execução simbólica, anotações e asserções, foram usadas recentemente para garantir códigos de planos de dados programáveis livres de erros. Apesar das potencialidades, elas são limitadas nas classes de erros que podem capturar. Mais importante, as propostas existentes para verificação do programa de switch geralmente exigem que o programador escreva um código de verificação personalizado (por exemplo, anotações), uma abordagem propensa a erros. Nesta dissertação, apresentamos o design e a implementação do P4-DATA-FLOW, uma ferramenta prática que utiliza a análise de fluxo de dados para verificação de programas de switch. Nós nos concentramos na linguagem P4 e apresentamos experimentos mostrando que a análise do fluxo de dados pode revelar defeitos de classes ainda não cobertas pelos trabalhos existente, sem exigir mais esforço do programador.The advent of Domain Specific Languages (DSL) like POF and P4 has enabled for the first time network operators to quickly redefine how forwarding plane devices (e.g., switches) parse and process packets in a Software-Defined Network (SDN). In this context, proper verification of home-brewed forwarding plane software becomes paramount to avoid network and service disruption due to buggy implementations. Various techniques like symbolic execution, annotations, and assertions have been recently used to ensure bug-free forwarding plane code. In spite of the potentialities, they are limited in the classes of errors they can capture. More importantly, existing proposals for verifying forwarding plane software often require a programmer to write additional verification code (e.g., annotations), an error-prone approach in itself. In this dissertation, we present the design and implementation of P4-DATA-FLOW, a practical tool which uses data flow analysis for verification of switch programs. We focus on the P4 language, and present experiments showing that data flow analysis may reveal defects from classes not yet covered by existing work, without demanding further programmer effortapplication/pdfengSoftwareProgrammable NetworkProgrammable DataplaneSoftware Testing.Data Flow TestingP4 switch code data flow analysis : towards stronger verification of forwarding plane softwareAnálise do fluxo de dados de código switch P4 info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2020mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001117500.pdf.txt001117500.pdf.txtExtracted Texttext/plain110339http://www.lume.ufrgs.br/bitstream/10183/213157/2/001117500.pdf.txt41cf96c75455a57b56957a75759e1fe5MD52ORIGINAL001117500.pdfTexto completo (inglês)application/pdf707900http://www.lume.ufrgs.br/bitstream/10183/213157/1/001117500.pdf3336c3ece4eb2e2a7fd6f95cea3814ebMD5110183/2131572020-08-30 03:36:46.369639oai:www.lume.ufrgs.br:10183/213157Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532020-08-30T06:36:46Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv P4 switch code data flow analysis : towards stronger verification of forwarding plane software
dc.title.alternative.pt.fl_str_mv Análise do fluxo de dados de código switch P4
title P4 switch code data flow analysis : towards stronger verification of forwarding plane software
spellingShingle P4 switch code data flow analysis : towards stronger verification of forwarding plane software
Birnfeld, Karine
Software
Programmable Network
Programmable Dataplane
Software Testing.
Data Flow Testing
title_short P4 switch code data flow analysis : towards stronger verification of forwarding plane software
title_full P4 switch code data flow analysis : towards stronger verification of forwarding plane software
title_fullStr P4 switch code data flow analysis : towards stronger verification of forwarding plane software
title_full_unstemmed P4 switch code data flow analysis : towards stronger verification of forwarding plane software
title_sort P4 switch code data flow analysis : towards stronger verification of forwarding plane software
author Birnfeld, Karine
author_facet Birnfeld, Karine
author_role author
dc.contributor.author.fl_str_mv Birnfeld, Karine
dc.contributor.advisor1.fl_str_mv Cordeiro, Weverton Luis da Costa
dc.contributor.advisor-co1.fl_str_mv França, Breno Bernard Nicolau de
contributor_str_mv Cordeiro, Weverton Luis da Costa
França, Breno Bernard Nicolau de
dc.subject.por.fl_str_mv Software
topic Software
Programmable Network
Programmable Dataplane
Software Testing.
Data Flow Testing
dc.subject.eng.fl_str_mv Programmable Network
Programmable Dataplane
Software Testing.
Data Flow Testing
description O advento de linguagens específicas de domínio como POF e P4 permitiram pela primeira vez que operadores de rede pudessem prontamente redefinir como os dispositivos de encaminhamento de dados (por exemplo, switches) interpretam e processam pacotes em uma Rede Definida por Software (SDN). Nesse contexto, a verificação de software para o plano de dados desenvolvido “em casa” se torna fundamental para evitar interrupções na rede e no serviço devido a problemas de implementação. Várias técnicas, como execução simbólica, anotações e asserções, foram usadas recentemente para garantir códigos de planos de dados programáveis livres de erros. Apesar das potencialidades, elas são limitadas nas classes de erros que podem capturar. Mais importante, as propostas existentes para verificação do programa de switch geralmente exigem que o programador escreva um código de verificação personalizado (por exemplo, anotações), uma abordagem propensa a erros. Nesta dissertação, apresentamos o design e a implementação do P4-DATA-FLOW, uma ferramenta prática que utiliza a análise de fluxo de dados para verificação de programas de switch. Nós nos concentramos na linguagem P4 e apresentamos experimentos mostrando que a análise do fluxo de dados pode revelar defeitos de classes ainda não cobertas pelos trabalhos existente, sem exigir mais esforço do programador.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-08-29T03:47:40Z
dc.date.issued.fl_str_mv 2020
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/213157
dc.identifier.nrb.pt_BR.fl_str_mv 001117500
url http://hdl.handle.net/10183/213157
identifier_str_mv 001117500
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/213157/2/001117500.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/213157/1/001117500.pdf
bitstream.checksum.fl_str_mv 41cf96c75455a57b56957a75759e1fe5
3336c3ece4eb2e2a7fd6f95cea3814eb
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1816737021748576256