Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: MEIRA, Igor de Araújo
Orientador(a): CARVALHO, Gustavo Henrique Porto de
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Programa de Pos Graduacao em Ciencia da Computacao
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/38121
Resumo: The NAT2TEST strategy provides means for generating test cases from controlled natural-language requirements. It is tailored for testing timed data-flow reactive systems (DFRSs), which are a class of embedded systems whose inputs and outputs are always available as signals. Input signals can be seen as data provided by sensors, whereas the output data are provided to system actuators. In previous works, verifying well-formedness properties of DFRS models was accomplished in a programmatic way, with no formal guarantees, and test cases were generated by translating theses models into other notations. Here, we use Coq as a single framework to specify, validate and verify DFRS models. Moreover, the specification of DFRSs in Coq is automatically derived from controlled natural-language requirements, and well-formedness properties are formally verified with no user intervention. System validation is supported by bounded exploration of models, and test generation is achieved with the aid of the QuickChick tool. Our Coq-based testing strategy was integrated into the NAT2TEST tool, which is a multi-platform tool written in Java, using the Eclipse RCP framework. Considering examples from the literature, but also from the aerospace (Embraer) and the automotive (Mercedes) industries, our automatic testing strategy was evaluated in terms of performance and the ability to detect defects generated by mutation. Within seconds, test cases were generated automatically from the requirements, achieving an average mutation score of about 75%. Discarding equivalent mutants, in one of the industrial examples, the actual mutation score is 100%; the generated test cases were capable of detecting all systematically introduced errors.
id UFPE_d918f519002bb4c4a3379b8e5af8cc5d
oai_identifier_str oai:repositorio.ufpe.br:123456789/38121
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling MEIRA, Igor de Araújohttp://lattes.cnpq.br/1032260674152153http://lattes.cnpq.br/9603136866152813CARVALHO, Gustavo Henrique Porto de2020-09-28T18:30:41Z2020-09-28T18:30:41Z2020-03-05MEIRA, Igor de Araújo. Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements. 2020. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2020.https://repositorio.ufpe.br/handle/123456789/38121The NAT2TEST strategy provides means for generating test cases from controlled natural-language requirements. It is tailored for testing timed data-flow reactive systems (DFRSs), which are a class of embedded systems whose inputs and outputs are always available as signals. Input signals can be seen as data provided by sensors, whereas the output data are provided to system actuators. In previous works, verifying well-formedness properties of DFRS models was accomplished in a programmatic way, with no formal guarantees, and test cases were generated by translating theses models into other notations. Here, we use Coq as a single framework to specify, validate and verify DFRS models. Moreover, the specification of DFRSs in Coq is automatically derived from controlled natural-language requirements, and well-formedness properties are formally verified with no user intervention. System validation is supported by bounded exploration of models, and test generation is achieved with the aid of the QuickChick tool. Our Coq-based testing strategy was integrated into the NAT2TEST tool, which is a multi-platform tool written in Java, using the Eclipse RCP framework. Considering examples from the literature, but also from the aerospace (Embraer) and the automotive (Mercedes) industries, our automatic testing strategy was evaluated in terms of performance and the ability to detect defects generated by mutation. Within seconds, test cases were generated automatically from the requirements, achieving an average mutation score of about 75%. Discarding equivalent mutants, in one of the industrial examples, the actual mutation score is 100%; the generated test cases were capable of detecting all systematically introduced errors.CAPESA estratégia NAT2TEST permite gerar casos de testes a partir de requisitos em linguagem natural controlada. Esta estratégia se destina ao teste de sistemas reativos baseados em fluxos de dados (DFRSs), uma classe de sistemas embarcados cujas entradas e saídas estão sempre disponíveis como sinais. Sinais de entrada podem ser vistos como dados providos pelos sensores, enquanto que dados de saída são encaminhados a atuadores do sistema. Em trabalhos anteriores, a verificação de propriedades de boa formação de modelos DFRS era realizada de forma programática, sem garantias formais, e casos de testes eram gerados traduzindo estes modelos em outras notações. Aqui, faz-se uso de Coq como um ambiente único para especificar, validar e verificar modelos DFRS. Adicionalmente, a especificação de DFRSs em Coq é gerada automaticamente a partir de requisitos em linguagem natural controlada, e propriedades de boa formação são formalmente verificadas sem intervenção do usuário. A validação do sistema é suportada através da exploração controlada de modelos, e testes são gerados com o apoio da ferramenta QuickChick. A estratégia baseada em Coq desenvolvida neste trabalho foi integrada à ferramenta NAT2TEST, que é uma ferramenta multiplataforma escrita em Java, usando o ambiente Eclipse RCP. Considerando exemplos tanto da literatura, como também da indústria aeroespacial (Embraer) e automotiva (Mercedes), a estratégia de testes proposta aqui foi avaliada em termos de desempenho e de habilidade em detectar defeitos gerados por mutação. Em poucos segundos, casos de testes foram gerados automaticamente a partir dos requisitos, alcançando uma taxa de detecção de mutantes de cerca de 75%. Descartando mutantes equivalentes, em um dos exemplos industriais, a taxa de detecção real é de 100%; os casos de testes gerados foram capazes de detectar todos os erros introduzidos sistematicamenteengUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessEngenharia de softwareLinguagem natural controladaValidating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirementsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPECC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/38121/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82310https://repositorio.ufpe.br/bitstream/123456789/38121/3/license.txtbd573a5ca8288eb7272482765f819534MD53ORIGINALDISSERTAÇÃO Igor de Araújo Meira.pdfDISSERTAÇÃO Igor de Araújo Meira.pdfapplication/pdf2414876https://repositorio.ufpe.br/bitstream/123456789/38121/1/DISSERTA%c3%87%c3%83O%20Igor%20de%20Ara%c3%bajo%20Meira.pdf6a13b350bc5ce43bd4ea449b5154c504MD51TEXTDISSERTAÇÃO Igor de Araújo Meira.pdf.txtDISSERTAÇÃO Igor de Araújo Meira.pdf.txtExtracted texttext/plain131179https://repositorio.ufpe.br/bitstream/123456789/38121/4/DISSERTA%c3%87%c3%83O%20Igor%20de%20Ara%c3%bajo%20Meira.pdf.txt02099bbf8936014f96599addc4d9199fMD54THUMBNAILDISSERTAÇÃO Igor de Araújo Meira.pdf.jpgDISSERTAÇÃO Igor de Araújo Meira.pdf.jpgGenerated Thumbnailimage/jpeg1251https://repositorio.ufpe.br/bitstream/123456789/38121/5/DISSERTA%c3%87%c3%83O%20Igor%20de%20Ara%c3%bajo%20Meira.pdf.jpga6cb18b47f0b45b787f59fd0c1493c52MD55123456789/381212020-09-29 02:14:42.289oai:repositorio.ufpe.br:123456789/38121TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLCBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWlzcXVlciBvYnJpZ2HDp8O1ZXMgZXhpZ2lkYXMgcGVsbyByZXNwZWN0aXZvIGNvbnRyYXRvIG91IGFjb3Jkby4KCkEgVUZQRSBpZGVudGlmaWNhcsOhIGNsYXJhbWVudGUgbyhzKSBub21lKHMpIGRvKHMpIGF1dG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50byBlbnRyZWd1ZSBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZG8gcHJldmlzdG8gbmEgYWzDrW5lYSBjKS4KRepositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212020-09-29T05:14:42Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
title Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
spellingShingle Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
MEIRA, Igor de Araújo
Engenharia de software
Linguagem natural controlada
title_short Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
title_full Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
title_fullStr Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
title_full_unstemmed Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
title_sort Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
author MEIRA, Igor de Araújo
author_facet MEIRA, Igor de Araújo
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/1032260674152153
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9603136866152813
dc.contributor.author.fl_str_mv MEIRA, Igor de Araújo
dc.contributor.advisor1.fl_str_mv CARVALHO, Gustavo Henrique Porto de
contributor_str_mv CARVALHO, Gustavo Henrique Porto de
dc.subject.por.fl_str_mv Engenharia de software
Linguagem natural controlada
topic Engenharia de software
Linguagem natural controlada
description The NAT2TEST strategy provides means for generating test cases from controlled natural-language requirements. It is tailored for testing timed data-flow reactive systems (DFRSs), which are a class of embedded systems whose inputs and outputs are always available as signals. Input signals can be seen as data provided by sensors, whereas the output data are provided to system actuators. In previous works, verifying well-formedness properties of DFRS models was accomplished in a programmatic way, with no formal guarantees, and test cases were generated by translating theses models into other notations. Here, we use Coq as a single framework to specify, validate and verify DFRS models. Moreover, the specification of DFRSs in Coq is automatically derived from controlled natural-language requirements, and well-formedness properties are formally verified with no user intervention. System validation is supported by bounded exploration of models, and test generation is achieved with the aid of the QuickChick tool. Our Coq-based testing strategy was integrated into the NAT2TEST tool, which is a multi-platform tool written in Java, using the Eclipse RCP framework. Considering examples from the literature, but also from the aerospace (Embraer) and the automotive (Mercedes) industries, our automatic testing strategy was evaluated in terms of performance and the ability to detect defects generated by mutation. Within seconds, test cases were generated automatically from the requirements, achieving an average mutation score of about 75%. Discarding equivalent mutants, in one of the industrial examples, the actual mutation score is 100%; the generated test cases were capable of detecting all systematically introduced errors.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-09-28T18:30:41Z
dc.date.available.fl_str_mv 2020-09-28T18:30:41Z
dc.date.issued.fl_str_mv 2020-03-05
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.citation.fl_str_mv MEIRA, Igor de Araújo. Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements. 2020. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2020.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/38121
identifier_str_mv MEIRA, Igor de Araújo. Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements. 2020. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2020.
url https://repositorio.ufpe.br/handle/123456789/38121
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/38121/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/38121/3/license.txt
https://repositorio.ufpe.br/bitstream/123456789/38121/1/DISSERTA%c3%87%c3%83O%20Igor%20de%20Ara%c3%bajo%20Meira.pdf
https://repositorio.ufpe.br/bitstream/123456789/38121/4/DISSERTA%c3%87%c3%83O%20Igor%20de%20Ara%c3%bajo%20Meira.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/38121/5/DISSERTA%c3%87%c3%83O%20Igor%20de%20Ara%c3%bajo%20Meira.pdf.jpg
bitstream.checksum.fl_str_mv e39d27027a6cc9cb039ad269a5db8e34
bd573a5ca8288eb7272482765f819534
6a13b350bc5ce43bd4ea449b5154c504
02099bbf8936014f96599addc4d9199f
a6cb18b47f0b45b787f59fd0c1493c52
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1862741789478223872