Loading…

In vivo test and rollback of Java applications as they are

Modern software systems accommodate complex configurations and execution conditions that depend on the environment where the software is run. While in house testing can exercise only a fraction of such execution contexts, in vivo testing can take advantage of the execution state observed in the fiel...

Full description

Saved in:
Bibliographic Details
Published in:Software testing, verification & reliability verification & reliability, 2023-11, Vol.33 (7)
Main Authors: Bertolino, Antonia, De Angelis, Guglielmo, Miranda, Breno, Tonella, Paolo
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c292t-f21a20b2b3c6f44a23e3e7336b5f21f5e1f0e835864d10b425533117ca26910e3
cites cdi_FETCH-LOGICAL-c292t-f21a20b2b3c6f44a23e3e7336b5f21f5e1f0e835864d10b425533117ca26910e3
container_end_page
container_issue 7
container_start_page
container_title Software testing, verification & reliability
container_volume 33
creator Bertolino, Antonia
De Angelis, Guglielmo
Miranda, Breno
Tonella, Paolo
description Modern software systems accommodate complex configurations and execution conditions that depend on the environment where the software is run. While in house testing can exercise only a fraction of such execution contexts, in vivo testing can take advantage of the execution state observed in the field to conduct further testing activities. In this paper, we present the Groucho approach to in vivo testing. Groucho can suspend the execution, run some in vivo tests, rollback the side effects introduced by such tests, and eventually resume normal execution. The approach can be transparently applied to the original application, even if only available as compiled code, and it is fully automated. Our empirical studies of the performance overhead introduced by Groucho under various configurations showed that this may be kept to a negligible level by activating in vivo testing with low probability. Our empirical studies about the effectiveness of the approach confirm previous findings on the existence of faults that are unlikely exposed in house and become easy to expose in the field. Moreover, we include the first study to quantify the coverage increase gained when in vivo testing is added to complement in house testing.
doi_str_mv 10.1002/stvr.1857
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2880625093</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2880625093</sourcerecordid><originalsourceid>FETCH-LOGICAL-c292t-f21a20b2b3c6f44a23e3e7336b5f21f5e1f0e835864d10b425533117ca26910e3</originalsourceid><addsrcrecordid>eNotkD9PwzAUxC0EEqUw8A0sMTGkPPvFrs2GKv4UVWKB2XpJbZES4mCnkfj2pCrTDXe6O_0YuxawEADyLg9jWgijlidsJsDaQmhjT9kMrIYCDOI5u8h5BwDaajtj9-uOj80Y-eDzwKnb8hTbtqL6i8fAX2kkTn3fNjUNTewyp8yHT__LKflLdhaozf7qX-fs4-nxffVSbN6e16uHTVFLK4ciSEESKllhrUNZkkSPfomoKzVZQXkRwBtURpdbAVUplUIUYlmT1FaAxzm7Ofb2Kf7sp5tuF_epmyadNAa0VGBxSt0eU3WKOScfXJ-ab0q_ToA7oHEHNO6ABv8AAA1U2Q</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2880625093</pqid></control><display><type>article</type><title>In vivo test and rollback of Java applications as they are</title><source>Wiley</source><creator>Bertolino, Antonia ; De Angelis, Guglielmo ; Miranda, Breno ; Tonella, Paolo</creator><creatorcontrib>Bertolino, Antonia ; De Angelis, Guglielmo ; Miranda, Breno ; Tonella, Paolo</creatorcontrib><description>Modern software systems accommodate complex configurations and execution conditions that depend on the environment where the software is run. While in house testing can exercise only a fraction of such execution contexts, in vivo testing can take advantage of the execution state observed in the field to conduct further testing activities. In this paper, we present the Groucho approach to in vivo testing. Groucho can suspend the execution, run some in vivo tests, rollback the side effects introduced by such tests, and eventually resume normal execution. The approach can be transparently applied to the original application, even if only available as compiled code, and it is fully automated. Our empirical studies of the performance overhead introduced by Groucho under various configurations showed that this may be kept to a negligible level by activating in vivo testing with low probability. Our empirical studies about the effectiveness of the approach confirm previous findings on the existence of faults that are unlikely exposed in house and become easy to expose in the field. Moreover, we include the first study to quantify the coverage increase gained when in vivo testing is added to complement in house testing.</description><identifier>ISSN: 0960-0833</identifier><identifier>EISSN: 1099-1689</identifier><identifier>DOI: 10.1002/stvr.1857</identifier><language>eng</language><publisher>Chichester: Wiley Subscription Services, Inc</publisher><subject>Biomedical materials ; Configurations ; In vivo methods and tests ; Side effects ; Software</subject><ispartof>Software testing, verification &amp; reliability, 2023-11, Vol.33 (7)</ispartof><rights>2023. This article is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c292t-f21a20b2b3c6f44a23e3e7336b5f21f5e1f0e835864d10b425533117ca26910e3</citedby><cites>FETCH-LOGICAL-c292t-f21a20b2b3c6f44a23e3e7336b5f21f5e1f0e835864d10b425533117ca26910e3</cites><orcidid>0000-0002-1076-0076 ; 0000-0003-3088-0339 ; 0000-0001-9608-9393 ; 0000-0001-8749-1356</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Bertolino, Antonia</creatorcontrib><creatorcontrib>De Angelis, Guglielmo</creatorcontrib><creatorcontrib>Miranda, Breno</creatorcontrib><creatorcontrib>Tonella, Paolo</creatorcontrib><title>In vivo test and rollback of Java applications as they are</title><title>Software testing, verification &amp; reliability</title><description>Modern software systems accommodate complex configurations and execution conditions that depend on the environment where the software is run. While in house testing can exercise only a fraction of such execution contexts, in vivo testing can take advantage of the execution state observed in the field to conduct further testing activities. In this paper, we present the Groucho approach to in vivo testing. Groucho can suspend the execution, run some in vivo tests, rollback the side effects introduced by such tests, and eventually resume normal execution. The approach can be transparently applied to the original application, even if only available as compiled code, and it is fully automated. Our empirical studies of the performance overhead introduced by Groucho under various configurations showed that this may be kept to a negligible level by activating in vivo testing with low probability. Our empirical studies about the effectiveness of the approach confirm previous findings on the existence of faults that are unlikely exposed in house and become easy to expose in the field. Moreover, we include the first study to quantify the coverage increase gained when in vivo testing is added to complement in house testing.</description><subject>Biomedical materials</subject><subject>Configurations</subject><subject>In vivo methods and tests</subject><subject>Side effects</subject><subject>Software</subject><issn>0960-0833</issn><issn>1099-1689</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2023</creationdate><recordtype>article</recordtype><recordid>eNotkD9PwzAUxC0EEqUw8A0sMTGkPPvFrs2GKv4UVWKB2XpJbZES4mCnkfj2pCrTDXe6O_0YuxawEADyLg9jWgijlidsJsDaQmhjT9kMrIYCDOI5u8h5BwDaajtj9-uOj80Y-eDzwKnb8hTbtqL6i8fAX2kkTn3fNjUNTewyp8yHT__LKflLdhaozf7qX-fs4-nxffVSbN6e16uHTVFLK4ciSEESKllhrUNZkkSPfomoKzVZQXkRwBtURpdbAVUplUIUYlmT1FaAxzm7Ofb2Kf7sp5tuF_epmyadNAa0VGBxSt0eU3WKOScfXJ-ab0q_ToA7oHEHNO6ABv8AAA1U2Q</recordid><startdate>202311</startdate><enddate>202311</enddate><creator>Bertolino, Antonia</creator><creator>De Angelis, Guglielmo</creator><creator>Miranda, Breno</creator><creator>Tonella, Paolo</creator><general>Wiley Subscription Services, Inc</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><orcidid>https://orcid.org/0000-0002-1076-0076</orcidid><orcidid>https://orcid.org/0000-0003-3088-0339</orcidid><orcidid>https://orcid.org/0000-0001-9608-9393</orcidid><orcidid>https://orcid.org/0000-0001-8749-1356</orcidid></search><sort><creationdate>202311</creationdate><title>In vivo test and rollback of Java applications as they are</title><author>Bertolino, Antonia ; De Angelis, Guglielmo ; Miranda, Breno ; Tonella, Paolo</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c292t-f21a20b2b3c6f44a23e3e7336b5f21f5e1f0e835864d10b425533117ca26910e3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2023</creationdate><topic>Biomedical materials</topic><topic>Configurations</topic><topic>In vivo methods and tests</topic><topic>Side effects</topic><topic>Software</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Bertolino, Antonia</creatorcontrib><creatorcontrib>De Angelis, Guglielmo</creatorcontrib><creatorcontrib>Miranda, Breno</creatorcontrib><creatorcontrib>Tonella, Paolo</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Software testing, verification &amp; reliability</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Bertolino, Antonia</au><au>De Angelis, Guglielmo</au><au>Miranda, Breno</au><au>Tonella, Paolo</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>In vivo test and rollback of Java applications as they are</atitle><jtitle>Software testing, verification &amp; reliability</jtitle><date>2023-11</date><risdate>2023</risdate><volume>33</volume><issue>7</issue><issn>0960-0833</issn><eissn>1099-1689</eissn><abstract>Modern software systems accommodate complex configurations and execution conditions that depend on the environment where the software is run. While in house testing can exercise only a fraction of such execution contexts, in vivo testing can take advantage of the execution state observed in the field to conduct further testing activities. In this paper, we present the Groucho approach to in vivo testing. Groucho can suspend the execution, run some in vivo tests, rollback the side effects introduced by such tests, and eventually resume normal execution. The approach can be transparently applied to the original application, even if only available as compiled code, and it is fully automated. Our empirical studies of the performance overhead introduced by Groucho under various configurations showed that this may be kept to a negligible level by activating in vivo testing with low probability. Our empirical studies about the effectiveness of the approach confirm previous findings on the existence of faults that are unlikely exposed in house and become easy to expose in the field. Moreover, we include the first study to quantify the coverage increase gained when in vivo testing is added to complement in house testing.</abstract><cop>Chichester</cop><pub>Wiley Subscription Services, Inc</pub><doi>10.1002/stvr.1857</doi><orcidid>https://orcid.org/0000-0002-1076-0076</orcidid><orcidid>https://orcid.org/0000-0003-3088-0339</orcidid><orcidid>https://orcid.org/0000-0001-9608-9393</orcidid><orcidid>https://orcid.org/0000-0001-8749-1356</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0960-0833
ispartof Software testing, verification & reliability, 2023-11, Vol.33 (7)
issn 0960-0833
1099-1689
language eng
recordid cdi_proquest_journals_2880625093
source Wiley
subjects Biomedical materials
Configurations
In vivo methods and tests
Side effects
Software
title In vivo test and rollback of Java applications as they are
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-07T17%3A58%3A42IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=In%20vivo%20test%20and%20rollback%20of%20Java%20applications%20as%20they%20are&rft.jtitle=Software%20testing,%20verification%20&%20reliability&rft.au=Bertolino,%20Antonia&rft.date=2023-11&rft.volume=33&rft.issue=7&rft.issn=0960-0833&rft.eissn=1099-1689&rft_id=info:doi/10.1002/stvr.1857&rft_dat=%3Cproquest_cross%3E2880625093%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c292t-f21a20b2b3c6f44a23e3e7336b5f21f5e1f0e835864d10b425533117ca26910e3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=2880625093&rft_id=info:pmid/&rfr_iscdi=true