Toward harnessing a Java high-level language virtual machine for supporting software testing

Detalhes bibliográficos
Autor(a) principal: Durelli, Vinicius Humberto Serapilha
Data de Publicação: 2013
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06012014-150025/
Resumo: High-level language virtual machines (HLL VMs) have been playing a key role as a mechanism for implementing programming languages. Languages that run on these execution environments have many advantages over languages that are compiled to native code. These advantages have led HLL VMs to gain broad acceptance in both academy and industry. However, much of the research in this area has been devoted to boosting the performance of these execution environments. Few eorts have attempted to introduce features that automate or facilitate some software engineering activities, including software testing. This research argues that HLL VMs provide a reasonable basis for building an integrated software testing environment. To this end, two software testing features that build on the characteristics of a Java virtual machine (JVM) were devised. The purpose of the rst feature is to automate weak mutation. Augmented with mutation support, the chosen JVM achieved speedups of as much as 95% in comparison to a strong mutation tool. To support the testing of concurrent programs, the second feature is concerned with enabling the deterministic re-execution of Java programs and exploration of new scheduling sequences
id USP_e0edc6360258cc474d5807fb407a98a1
oai_identifier_str oai:teses.usp.br:tde-06012014-150025
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Toward harnessing a Java high-level language virtual machine for supporting software testingUtilizando uma máquina virtual Java como apoio à atividade de teste de softwareJava virtual machineMáquina virtual JavaMaxine VMMaxine VMMecanismo de record-and-playbackMutação fracaMutation testingRecord-and-playback mechanismSoftware testingTeste de mutaçãoTeste de softwareWeak mutationHigh-level language virtual machines (HLL VMs) have been playing a key role as a mechanism for implementing programming languages. Languages that run on these execution environments have many advantages over languages that are compiled to native code. These advantages have led HLL VMs to gain broad acceptance in both academy and industry. However, much of the research in this area has been devoted to boosting the performance of these execution environments. Few eorts have attempted to introduce features that automate or facilitate some software engineering activities, including software testing. This research argues that HLL VMs provide a reasonable basis for building an integrated software testing environment. To this end, two software testing features that build on the characteristics of a Java virtual machine (JVM) were devised. The purpose of the rst feature is to automate weak mutation. Augmented with mutation support, the chosen JVM achieved speedups of as much as 95% in comparison to a strong mutation tool. To support the testing of concurrent programs, the second feature is concerned with enabling the deterministic re-execution of Java programs and exploration of new scheduling sequencesMáquinas virtuais de linguagens de programação têm desempenhado um papel importante como mecanismo para a implementação de linguagens de programação. Linguagens voltadas para esses ambientes de execução possuem várias vantagens em relação às linguagens compiladas. Essas vantagens fizeram com que tais ambientes de execução se tornassem amplamente utilizados pela indústria e academia. Entretanto, a maioria dos estudos nessa area têm se dedicado a aprimorar o desempenho desses ambientes de execução e poucos têm enfocado o desenvolvimento de funcionalidades que automatizem ou facilitem a condução de atividades de engenharia de software, incluindo atividades de teste de software. Este trabalho apresenta indícios de que máquinas virtuais de linguagens de programação podem apoiar a criação de ambientes de teste de software integrado. Para tal, duas funcionalidades que tiram proveito das características de uma máquina virtual Java foram desenvolvidas. O propósito da primeira funcionalidade e automatizar a condução de atividades de mutação fraca. Após a implementação de tal funcionalidade na máquina virtual Java selecionada, observou-se um desempenho até 95% melhor em relação a uma ferramenta de mutação forte. Afim de apoiar o teste de programas concorrentes, a segunda funcionalidade permite reexecutá-los de forma determinística além de automatizar a exploração de que novas sequências de escalonamentoBiblioteca Digitais de Teses e Dissertações da USPDelamaro, Márcio EduardoOffutt, JeffersonDurelli, Vinicius Humberto Serapilha2013-10-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttp://www.teses.usp.br/teses/disponiveis/55/55134/tde-06012014-150025/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2016-07-28T16:11:02Zoai:teses.usp.br:tde-06012014-150025Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212016-07-28T16:11:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Toward harnessing a Java high-level language virtual machine for supporting software testing
Utilizando uma máquina virtual Java como apoio à atividade de teste de software
title Toward harnessing a Java high-level language virtual machine for supporting software testing
spellingShingle Toward harnessing a Java high-level language virtual machine for supporting software testing
Durelli, Vinicius Humberto Serapilha
Java virtual machine
Máquina virtual Java
Maxine VM
Maxine VM
Mecanismo de record-and-playback
Mutação fraca
Mutation testing
Record-and-playback mechanism
Software testing
Teste de mutação
Teste de software
Weak mutation
title_short Toward harnessing a Java high-level language virtual machine for supporting software testing
title_full Toward harnessing a Java high-level language virtual machine for supporting software testing
title_fullStr Toward harnessing a Java high-level language virtual machine for supporting software testing
title_full_unstemmed Toward harnessing a Java high-level language virtual machine for supporting software testing
title_sort Toward harnessing a Java high-level language virtual machine for supporting software testing
author Durelli, Vinicius Humberto Serapilha
author_facet Durelli, Vinicius Humberto Serapilha
author_role author
dc.contributor.none.fl_str_mv Delamaro, Márcio Eduardo
Offutt, Jefferson
dc.contributor.author.fl_str_mv Durelli, Vinicius Humberto Serapilha
dc.subject.por.fl_str_mv Java virtual machine
Máquina virtual Java
Maxine VM
Maxine VM
Mecanismo de record-and-playback
Mutação fraca
Mutation testing
Record-and-playback mechanism
Software testing
Teste de mutação
Teste de software
Weak mutation
topic Java virtual machine
Máquina virtual Java
Maxine VM
Maxine VM
Mecanismo de record-and-playback
Mutação fraca
Mutation testing
Record-and-playback mechanism
Software testing
Teste de mutação
Teste de software
Weak mutation
description High-level language virtual machines (HLL VMs) have been playing a key role as a mechanism for implementing programming languages. Languages that run on these execution environments have many advantages over languages that are compiled to native code. These advantages have led HLL VMs to gain broad acceptance in both academy and industry. However, much of the research in this area has been devoted to boosting the performance of these execution environments. Few eorts have attempted to introduce features that automate or facilitate some software engineering activities, including software testing. This research argues that HLL VMs provide a reasonable basis for building an integrated software testing environment. To this end, two software testing features that build on the characteristics of a Java virtual machine (JVM) were devised. The purpose of the rst feature is to automate weak mutation. Augmented with mutation support, the chosen JVM achieved speedups of as much as 95% in comparison to a strong mutation tool. To support the testing of concurrent programs, the second feature is concerned with enabling the deterministic re-execution of Java programs and exploration of new scheduling sequences
publishDate 2013
dc.date.none.fl_str_mv 2013-10-01
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06012014-150025/
url http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06012014-150025/
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1815256754713264128