Toward harnessing a Java high-level language virtual machine for supporting software testing
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 br...
Main Author: | |
---|---|
Other Authors: | |
Language: | English |
Published: |
Universidade de São Paulo
2013
|
Subjects: | |
Online Access: | http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06012014-150025/ |
id |
ndltd-IBICT-oai-teses.usp.br-tde-06012014-150025 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-IBICT-oai-teses.usp.br-tde-06012014-1500252019-01-21T22:07:10Z 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 Vinicius Humberto Serapilha Durelli Márcio Eduardo Delamaro Jefferson Offutt Marcos Lordello Chaim Arilo Claudio Dias Neto Jefferson Offutt Avelino Francisco Zorzo Máquina virtual Java Maxine VM Mecanismo de record-and-playback Mutação fraca Teste de mutação Teste de software Java virtual machine Maxine VM Mutation testing Record-and-playback mechanism Software testing Weak mutation 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 Má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 escalonamento 2013-10-01 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/doctoralThesis http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06012014-150025/ eng info:eu-repo/semantics/openAccess Universidade de São Paulo Ciências da Computação e Matemática Computacional USP BR reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo instacron:USP |
collection |
NDLTD |
language |
English |
sources |
NDLTD |
topic |
Máquina virtual Java
Maxine VM Mecanismo de record-and-playback Mutação fraca Teste de mutação Teste de software Java virtual machine Maxine VM Mutation testing Record-and-playback mechanism Software testing Weak mutation |
spellingShingle |
Máquina virtual Java
Maxine VM Mecanismo de record-and-playback Mutação fraca Teste de mutação Teste de software Java virtual machine Maxine VM Mutation testing Record-and-playback mechanism Software testing Weak mutation Vinicius Humberto Serapilha Durelli Toward harnessing a Java high-level language virtual machine for supporting software testing |
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
===
Má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 escalonamento
|
author2 |
Márcio Eduardo Delamaro |
author_facet |
Márcio Eduardo Delamaro Vinicius Humberto Serapilha Durelli |
author |
Vinicius Humberto Serapilha Durelli |
author_sort |
Vinicius Humberto Serapilha Durelli |
title |
Toward harnessing a Java high-level language virtual machine for supporting software testing
|
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 |
publisher |
Universidade de São Paulo |
publishDate |
2013 |
url |
http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06012014-150025/ |
work_keys_str_mv |
AT viniciushumbertoserapilhadurelli towardharnessingajavahighlevellanguagevirtualmachineforsupportingsoftwaretesting AT viniciushumbertoserapilhadurelli utilizandoumamaquinavirtualjavacomoapoioaatividadedetestedesoftware |
_version_ |
1718891052017909760 |