A strategy for local analysis of determinism

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: OTONI, Rodrigo Benedito
Orientador(a): SAMPAIO, Augusto Cezar Alves
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/31427
Resumo: Nondeterminism is an inevitable constituent of any theory that describes concurrency. For the validation and verification of concurrent systems, it is essential to investigate the presence or absence of nondeterminism, just as much as it is in the case of properties such as deadlock and livelock. CSP is a well established process algebra that offers rich semantic models, capable of capturing a wide range of sources of nondeterminism. The approach taken by the main tool for practical use of CSP, the model checker FDR, it to check for determinism through global analysis, which limits its scalability. In this dissertation we propose a local analysis strategy to check for determinism in specifications written in a practical subset of CSP. Our goal is to provide an efficient and scalable method of checking for determinism. We use a compositional approach in which we start from basic deterministic processes and check whether any of the composition operators used in the specification can introduce nondeterminism. The use of controlled subsets of selected notations is a common feature of local analysis, with the subset of CSP captured by our strategy containing most of the main operators of CSP, and thus being capable of modelling real world systems. Furthermore, our strategy is sound, according to our empirical evaluation, but not complete; giving up completeness is also a usual compromise of compositional approaches to analysis, as a way to improve efficiency. We present here our strategy, the prototype developed to allow its automation, and the results of a number of experiments. There are two main aspects of our strategy: its metadata, and its algorithms. After a process of the CSP specification is checked to be deterministic, we gather metadata about it. The metadata stores all the information of a process that is relevant to our strategy, and is the only element used when checking further compositions. For each composition operator available in our subset of CSP, we have developed a specific algorithm to check if the composition is deterministic. By the use of metadata, we remove the need to check the operands at each composition, relying only on the information previously gathered, and thus achieving an efficient compositional approach. A number of case studies, both toy problems and systems described in the literature, have been performed. We compared our prototype with FDR in all the experiments. For most examples our prototype is capable of analysing instances that FDR is not able to, due to lack of memory resulting from the state explosion. In some cases, our prototype is capable of analysing instances up to three orders of magnitude higher. For most instances in which both tools provide a result, besides the trivial ones, our prototype is more efficient than FDR, with some cases where FDR takes more than twenty minutes to reach a result, and our prototype requires only a few seconds.
id UFPE_8843904592f9eca81baa37f6f3a56caf
oai_identifier_str oai:repositorio.ufpe.br:123456789/31427
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling OTONI, Rodrigo Beneditohttp://lattes.cnpq.br/7773530375691582http://lattes.cnpq.br/3977760354511853SAMPAIO, Augusto Cezar AlvesCAVALCANTI, Ana Lúcia Caneca2019-07-11T18:53:59Z2019-07-11T18:53:59Z2018-07-17https://repositorio.ufpe.br/handle/123456789/31427Nondeterminism is an inevitable constituent of any theory that describes concurrency. For the validation and verification of concurrent systems, it is essential to investigate the presence or absence of nondeterminism, just as much as it is in the case of properties such as deadlock and livelock. CSP is a well established process algebra that offers rich semantic models, capable of capturing a wide range of sources of nondeterminism. The approach taken by the main tool for practical use of CSP, the model checker FDR, it to check for determinism through global analysis, which limits its scalability. In this dissertation we propose a local analysis strategy to check for determinism in specifications written in a practical subset of CSP. Our goal is to provide an efficient and scalable method of checking for determinism. We use a compositional approach in which we start from basic deterministic processes and check whether any of the composition operators used in the specification can introduce nondeterminism. The use of controlled subsets of selected notations is a common feature of local analysis, with the subset of CSP captured by our strategy containing most of the main operators of CSP, and thus being capable of modelling real world systems. Furthermore, our strategy is sound, according to our empirical evaluation, but not complete; giving up completeness is also a usual compromise of compositional approaches to analysis, as a way to improve efficiency. We present here our strategy, the prototype developed to allow its automation, and the results of a number of experiments. There are two main aspects of our strategy: its metadata, and its algorithms. After a process of the CSP specification is checked to be deterministic, we gather metadata about it. The metadata stores all the information of a process that is relevant to our strategy, and is the only element used when checking further compositions. For each composition operator available in our subset of CSP, we have developed a specific algorithm to check if the composition is deterministic. By the use of metadata, we remove the need to check the operands at each composition, relying only on the information previously gathered, and thus achieving an efficient compositional approach. A number of case studies, both toy problems and systems described in the literature, have been performed. We compared our prototype with FDR in all the experiments. For most examples our prototype is capable of analysing instances that FDR is not able to, due to lack of memory resulting from the state explosion. In some cases, our prototype is capable of analysing instances up to three orders of magnitude higher. For most instances in which both tools provide a result, besides the trivial ones, our prototype is more efficient than FDR, with some cases where FDR takes more than twenty minutes to reach a result, and our prototype requires only a few seconds.FACEPENão determinismo é um constituinte inevitável de qualquer teoria que descreva concorrência. Para a validação e verificação de sistemas concorrentes, é essencial que se investigue a presença ou a ausência de não determinismo, tanto quanto de outras propriedades, como deadlock e livelock. CSP é uma álgebra de processos bem estabelecida e que oferece ricos modelos semânticos, capazes de capturar uma grande variedade de fontes de não determinismo. A abordagem utilizada pela principal ferramenta de CSP, o verificador de modelos FDR, é verificar determinismo através de uma análise global, o que limita a sua escalabilidade. Nesta dissertação nós propomos uma estratégia de análise local de determinismo para especificações escritas em um subconjunto de CSP. Nosso objetivo é prover um método eficiente e escalável de verificação de determinismo. Nós usamos uma abordagem composicional, partindo de processos determinísticos básicos, e verificando se os operadores de composição usados na especificação podem introduzir não determinismo. O uso de subconjuntos controlados de notações é comum em estratégias de análise local, sendo que o subconjunto de CSP capturado por nossa estratégia contêm os principais operadores de CSP, possibilitando a modelagem de sistemas reais. A nossa estratégia é correta, segundo nossos experimentos, mas não completa; abrir mão de completude é uma decisão comum em estratégias de análise composicional, como uma forma de aumentar a eficiência. Nós apresentamos aqui a nossa estratégia, o protótipo desenvolvido para permitir a sua automação, e os resultados de vários experimentos. Nossa estratégia tem dois elementos principais: os seus metadados, e os seus algoritmos. Após um processo de uma especificação ser verificado como determinístico, nos coletamos metadados sobre ele. Os metadados armazenam todas as informações do processo que são relevantes para a estratégia, sendo o único elemento utilizado nas verificações seguintes. Para cada operador de composição disponível em nosso subconjunto de CSP, nós desenvolvemos um algoritmo específico para verificar se a composição é determinística. Pelo uso dos metadados, nós removemos a necessidade de verificar os operandos a cada composição, o que nos leva a uma abordagem composicional eficiente. Vários estudos de caso foram realizados, nos quais nós comparamos nosso protótipo com FDR. Para a maior parte dos experimentos nosso protótipo é capaz de analisar instâncias que FDR não consegue, devido a falta de memória causada pela explosão de estados. Em alguns casos, nosso protótipo é capaz de analisar instâncias até três ordens de m agnitude maiores. Para a maioria das instânciasnas quais ambas as ferramentas geram um resultado, além das triviais, nosso protótipo é mais eficiente que FDR, com alguns casos em que FDR demora mais que vinte minutos para chegar a um resultado, e o nosso protótipo requer apenas alguns segundos.engUniversidade 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 de programaçãoA strategy for local analysis of determinisminfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILDISSERTAÇÃO Rodrigo Benedito Otoni.pdf.jpgDISSERTAÇÃO Rodrigo Benedito Otoni.pdf.jpgGenerated Thumbnailimage/jpeg1184https://repositorio.ufpe.br/bitstream/123456789/31427/5/DISSERTA%c3%87%c3%83O%20Rodrigo%20Benedito%20Otoni.pdf.jpg038b7feefca35c205413c7b6a71a6a1bMD55ORIGINALDISSERTAÇÃO Rodrigo Benedito Otoni.pdfDISSERTAÇÃO Rodrigo Benedito Otoni.pdfapplication/pdf927861https://repositorio.ufpe.br/bitstream/123456789/31427/1/DISSERTA%c3%87%c3%83O%20Rodrigo%20Benedito%20Otoni.pdf7520428ceae8b0e0c8452436489f25aaMD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/31427/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82311https://repositorio.ufpe.br/bitstream/123456789/31427/3/license.txt4b8a02c7f2818eaf00dcf2260dd5eb08MD53TEXTDISSERTAÇÃO Rodrigo Benedito Otoni.pdf.txtDISSERTAÇÃO Rodrigo Benedito Otoni.pdf.txtExtracted texttext/plain170254https://repositorio.ufpe.br/bitstream/123456789/31427/4/DISSERTA%c3%87%c3%83O%20Rodrigo%20Benedito%20Otoni.pdf.txt24553985738b7c557e1fd00cf3ef9583MD54123456789/314272019-10-25 09:54:25.782oai:repositorio.ufpe.br:123456789/31427TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLMKgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIgb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUEUgaWRlbnRpZmljYXLDoSBjbGFyYW1lbnRlIG8ocykgbm9tZShzKSBkbyhzKSBhdXRvciAoZXMpIGRvcyBkaXJlaXRvcyBkbyBkb2N1bWVudG8gZW50cmVndWUgZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBwYXJhIGFsw6ltIGRvIHByZXZpc3RvIG5hIGFsw61uZWEgYykuCg==Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T12:54:25Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv A strategy for local analysis of determinism
title A strategy for local analysis of determinism
spellingShingle A strategy for local analysis of determinism
OTONI, Rodrigo Benedito
Engenharia de software
Linguagem de programação
title_short A strategy for local analysis of determinism
title_full A strategy for local analysis of determinism
title_fullStr A strategy for local analysis of determinism
title_full_unstemmed A strategy for local analysis of determinism
title_sort A strategy for local analysis of determinism
author OTONI, Rodrigo Benedito
author_facet OTONI, Rodrigo Benedito
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/7773530375691582
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/3977760354511853
dc.contributor.author.fl_str_mv OTONI, Rodrigo Benedito
dc.contributor.advisor1.fl_str_mv SAMPAIO, Augusto Cezar Alves
dc.contributor.advisor-co1.fl_str_mv CAVALCANTI, Ana Lúcia Caneca
contributor_str_mv SAMPAIO, Augusto Cezar Alves
CAVALCANTI, Ana Lúcia Caneca
dc.subject.por.fl_str_mv Engenharia de software
Linguagem de programação
topic Engenharia de software
Linguagem de programação
description Nondeterminism is an inevitable constituent of any theory that describes concurrency. For the validation and verification of concurrent systems, it is essential to investigate the presence or absence of nondeterminism, just as much as it is in the case of properties such as deadlock and livelock. CSP is a well established process algebra that offers rich semantic models, capable of capturing a wide range of sources of nondeterminism. The approach taken by the main tool for practical use of CSP, the model checker FDR, it to check for determinism through global analysis, which limits its scalability. In this dissertation we propose a local analysis strategy to check for determinism in specifications written in a practical subset of CSP. Our goal is to provide an efficient and scalable method of checking for determinism. We use a compositional approach in which we start from basic deterministic processes and check whether any of the composition operators used in the specification can introduce nondeterminism. The use of controlled subsets of selected notations is a common feature of local analysis, with the subset of CSP captured by our strategy containing most of the main operators of CSP, and thus being capable of modelling real world systems. Furthermore, our strategy is sound, according to our empirical evaluation, but not complete; giving up completeness is also a usual compromise of compositional approaches to analysis, as a way to improve efficiency. We present here our strategy, the prototype developed to allow its automation, and the results of a number of experiments. There are two main aspects of our strategy: its metadata, and its algorithms. After a process of the CSP specification is checked to be deterministic, we gather metadata about it. The metadata stores all the information of a process that is relevant to our strategy, and is the only element used when checking further compositions. For each composition operator available in our subset of CSP, we have developed a specific algorithm to check if the composition is deterministic. By the use of metadata, we remove the need to check the operands at each composition, relying only on the information previously gathered, and thus achieving an efficient compositional approach. A number of case studies, both toy problems and systems described in the literature, have been performed. We compared our prototype with FDR in all the experiments. For most examples our prototype is capable of analysing instances that FDR is not able to, due to lack of memory resulting from the state explosion. In some cases, our prototype is capable of analysing instances up to three orders of magnitude higher. For most instances in which both tools provide a result, besides the trivial ones, our prototype is more efficient than FDR, with some cases where FDR takes more than twenty minutes to reach a result, and our prototype requires only a few seconds.
publishDate 2018
dc.date.issued.fl_str_mv 2018-07-17
dc.date.accessioned.fl_str_mv 2019-07-11T18:53:59Z
dc.date.available.fl_str_mv 2019-07-11T18:53:59Z
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 https://repositorio.ufpe.br/handle/123456789/31427
url https://repositorio.ufpe.br/handle/123456789/31427
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/31427/5/DISSERTA%c3%87%c3%83O%20Rodrigo%20Benedito%20Otoni.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/31427/1/DISSERTA%c3%87%c3%83O%20Rodrigo%20Benedito%20Otoni.pdf
https://repositorio.ufpe.br/bitstream/123456789/31427/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/31427/3/license.txt
https://repositorio.ufpe.br/bitstream/123456789/31427/4/DISSERTA%c3%87%c3%83O%20Rodrigo%20Benedito%20Otoni.pdf.txt
bitstream.checksum.fl_str_mv 038b7feefca35c205413c7b6a71a6a1b
7520428ceae8b0e0c8452436489f25aa
e39d27027a6cc9cb039ad269a5db8e34
4b8a02c7f2818eaf00dcf2260dd5eb08
24553985738b7c557e1fd00cf3ef9583
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_ 1797782383731146752