Extração e verificação de modelos para sistemas em evolução

Detalhes bibliográficos
Autor(a) principal: Freire, Matheus de Mello
Data de Publicação: 2013
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/66100
Resumo: Softwares estão sempre em constante evolução e atualização. Durante o ciclo de vida de um sistema, muitas modificações ocorrem, em relação às funcionalidades definidas em sua primeira especificação. É desejável que durante todo o ciclo de vida do sistema, o mesmo execute corretamente as funções para as quais foi projetado, mesmo na ocorrência de modificações. Para isto, o uso de verificação de modelos e teste de software tem desempenhado uma importante função na busca por melhor qualidade de software. Este trabalho busca utilizar técnicas de teste de software, verificação e extração de modelos para obter modelos os quais representem os comportamentos corretos de sistemas mesmo após modificações. O objetivo do trabalho é estabelecer um processo de validação de sistemas em relação a propriedades estabelecidas o qual permita não apenas verificar se as propriedades são preservadas em um modelo do sistema, mas também se o comportamento da implementação gerada corresponde ao definido no modelo. Utilizando uma modelagem manual a partir de um modelo pré-existente, é definida uma única propriedade, onde os comportamentos esperados do sistema em questão são englobados por esta propriedade. Após a modificação do código, um novo modelo é gerado com base no código do sistema e verificado contra a propriedade estabelecida anteriormente, a fim de validar se os comportamentos encontrados no código estão de acordo com a especificação do sistema. Validou-se o processo utilizando dois sistemas previamente codificados, onde um conjunto de alterações foi definido para cada um deles. Através do teste de software e extração de modelos, construiu-se um modelo com comportamentos que são encontrados na implementação de cada sistema. Com a verificação de modelos, a validade destes comportamentos foi comprovada ao realizar tal verificação contra um modelo o qual contém todos os comportamentos de um modelo cuja correção é previamente conhecida, além dos comportamentos adicionados pelas modificações. O processo proposto facilita o suporte para detecção de erros tanto nos modelos extraídos do código quanto nos modelos modificados manualmente, além de apresentar um modelo sem erros quando os comportamentos são todos corretos.
id UFRGS-2_eee3c37951c7ea38d8ef5ffe2fe7ab42
oai_identifier_str oai:www.lume.ufrgs.br:10183/66100
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Freire, Matheus de MelloDuarte, Lucio Mauro2013-02-05T01:39:00Z2013http://hdl.handle.net/10183/66100000870951Softwares estão sempre em constante evolução e atualização. Durante o ciclo de vida de um sistema, muitas modificações ocorrem, em relação às funcionalidades definidas em sua primeira especificação. É desejável que durante todo o ciclo de vida do sistema, o mesmo execute corretamente as funções para as quais foi projetado, mesmo na ocorrência de modificações. Para isto, o uso de verificação de modelos e teste de software tem desempenhado uma importante função na busca por melhor qualidade de software. Este trabalho busca utilizar técnicas de teste de software, verificação e extração de modelos para obter modelos os quais representem os comportamentos corretos de sistemas mesmo após modificações. O objetivo do trabalho é estabelecer um processo de validação de sistemas em relação a propriedades estabelecidas o qual permita não apenas verificar se as propriedades são preservadas em um modelo do sistema, mas também se o comportamento da implementação gerada corresponde ao definido no modelo. Utilizando uma modelagem manual a partir de um modelo pré-existente, é definida uma única propriedade, onde os comportamentos esperados do sistema em questão são englobados por esta propriedade. Após a modificação do código, um novo modelo é gerado com base no código do sistema e verificado contra a propriedade estabelecida anteriormente, a fim de validar se os comportamentos encontrados no código estão de acordo com a especificação do sistema. Validou-se o processo utilizando dois sistemas previamente codificados, onde um conjunto de alterações foi definido para cada um deles. Através do teste de software e extração de modelos, construiu-se um modelo com comportamentos que são encontrados na implementação de cada sistema. Com a verificação de modelos, a validade destes comportamentos foi comprovada ao realizar tal verificação contra um modelo o qual contém todos os comportamentos de um modelo cuja correção é previamente conhecida, além dos comportamentos adicionados pelas modificações. O processo proposto facilita o suporte para detecção de erros tanto nos modelos extraídos do código quanto nos modelos modificados manualmente, além de apresentar um modelo sem erros quando os comportamentos são todos corretos.Software is always evolving and changing. During a software lifecycle, many updates are done regarding functions defined on early specification. It’s desirable that during all system lifecycle, all functions are correctly executed, even after software updates. In order to get that, using model checking and software testing has been useful to reach better software quality. This paper uses software testing, model checking and behavior model extraction techniques to obtain models to represent valid software behavior even after an update is done. The purpose of this paper is to get a system validation process against system properties where it’s possible to verify if a mode still represents system properties and to verify if the model behavior is the same as the behavior found on system implementation. Using manual modeling, only one property is defined, there expected system behavior are represented on this single property. After code update, a new model is generated based on the code and it is verified against the property, in order to verify if the code matches the system specification. Two system codes were used on this verification, where a set of updates were defined for each one of them. Using software testing and model extraction, a model was built with behavior found on each system. With model checking, behavior validation was done using this built model against a previous correct known model. This process makes bug detection easier on both extracted models as manually updated models. It also results on a model with no errors when all behaviors found are correct.application/pdfporTolerancia : FalhasTestes : SoftwareSoftware testingModel checkingBehavior model extractionSoftware evolutionExtração e verificação de modelos para sistemas em evoluçãoModel checking and model extraction during software info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2013Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000870951.pdf000870951.pdfTexto completoapplication/pdf1513481http://www.lume.ufrgs.br/bitstream/10183/66100/1/000870951.pdfa7bf054e2db86a8aa6eddf86482a6765MD51TEXT000870951.pdf.txt000870951.pdf.txtExtracted Texttext/plain84231http://www.lume.ufrgs.br/bitstream/10183/66100/2/000870951.pdf.txtdf6257a9f6182d691ee8b7b523e8c406MD52THUMBNAIL000870951.pdf.jpg000870951.pdf.jpgGenerated Thumbnailimage/jpeg977http://www.lume.ufrgs.br/bitstream/10183/66100/3/000870951.pdf.jpgce6d1ebea9745e719a64fdb6f448162eMD5310183/661002018-10-17 07:36:00.479oai:www.lume.ufrgs.br:10183/66100Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-17T10:36Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Extração e verificação de modelos para sistemas em evolução
dc.title.alternative.en.fl_str_mv Model checking and model extraction during software
title Extração e verificação de modelos para sistemas em evolução
spellingShingle Extração e verificação de modelos para sistemas em evolução
Freire, Matheus de Mello
Tolerancia : Falhas
Testes : Software
Software testing
Model checking
Behavior model extraction
Software evolution
title_short Extração e verificação de modelos para sistemas em evolução
title_full Extração e verificação de modelos para sistemas em evolução
title_fullStr Extração e verificação de modelos para sistemas em evolução
title_full_unstemmed Extração e verificação de modelos para sistemas em evolução
title_sort Extração e verificação de modelos para sistemas em evolução
author Freire, Matheus de Mello
author_facet Freire, Matheus de Mello
author_role author
dc.contributor.author.fl_str_mv Freire, Matheus de Mello
dc.contributor.advisor1.fl_str_mv Duarte, Lucio Mauro
contributor_str_mv Duarte, Lucio Mauro
dc.subject.por.fl_str_mv Tolerancia : Falhas
Testes : Software
topic Tolerancia : Falhas
Testes : Software
Software testing
Model checking
Behavior model extraction
Software evolution
dc.subject.eng.fl_str_mv Software testing
Model checking
Behavior model extraction
Software evolution
description Softwares estão sempre em constante evolução e atualização. Durante o ciclo de vida de um sistema, muitas modificações ocorrem, em relação às funcionalidades definidas em sua primeira especificação. É desejável que durante todo o ciclo de vida do sistema, o mesmo execute corretamente as funções para as quais foi projetado, mesmo na ocorrência de modificações. Para isto, o uso de verificação de modelos e teste de software tem desempenhado uma importante função na busca por melhor qualidade de software. Este trabalho busca utilizar técnicas de teste de software, verificação e extração de modelos para obter modelos os quais representem os comportamentos corretos de sistemas mesmo após modificações. O objetivo do trabalho é estabelecer um processo de validação de sistemas em relação a propriedades estabelecidas o qual permita não apenas verificar se as propriedades são preservadas em um modelo do sistema, mas também se o comportamento da implementação gerada corresponde ao definido no modelo. Utilizando uma modelagem manual a partir de um modelo pré-existente, é definida uma única propriedade, onde os comportamentos esperados do sistema em questão são englobados por esta propriedade. Após a modificação do código, um novo modelo é gerado com base no código do sistema e verificado contra a propriedade estabelecida anteriormente, a fim de validar se os comportamentos encontrados no código estão de acordo com a especificação do sistema. Validou-se o processo utilizando dois sistemas previamente codificados, onde um conjunto de alterações foi definido para cada um deles. Através do teste de software e extração de modelos, construiu-se um modelo com comportamentos que são encontrados na implementação de cada sistema. Com a verificação de modelos, a validade destes comportamentos foi comprovada ao realizar tal verificação contra um modelo o qual contém todos os comportamentos de um modelo cuja correção é previamente conhecida, além dos comportamentos adicionados pelas modificações. O processo proposto facilita o suporte para detecção de erros tanto nos modelos extraídos do código quanto nos modelos modificados manualmente, além de apresentar um modelo sem erros quando os comportamentos são todos corretos.
publishDate 2013
dc.date.accessioned.fl_str_mv 2013-02-05T01:39:00Z
dc.date.issued.fl_str_mv 2013
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/66100
dc.identifier.nrb.pt_BR.fl_str_mv 000870951
url http://hdl.handle.net/10183/66100
identifier_str_mv 000870951
dc.language.iso.fl_str_mv por
language por
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:Repositório Institucional 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 Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/66100/1/000870951.pdf
http://www.lume.ufrgs.br/bitstream/10183/66100/2/000870951.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/66100/3/000870951.pdf.jpg
bitstream.checksum.fl_str_mv a7bf054e2db86a8aa6eddf86482a6765
df6257a9f6182d691ee8b7b523e8c406
ce6d1ebea9745e719a64fdb6f448162e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224437428649984