Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements
| Ano de defesa: | 2020 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |