Published June 25, 2023 | Version v1
Publication Open

In vivo test and rollback of Java applications as they are

  • 1. Institute of Information Science and Technologies
  • 2. Istituto di Analisi dei Sistemi ed Informatica Antonio Ruberti
  • 3. Universidade Federal de Pernambuco
  • 4. Università della Svizzera italiana

Description

Summary 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.

⚠️ This is an automatic machine translation with an accuracy of 90-95%

Translated Description (Arabic)

ملخص تستوعب أنظمة البرامج الحديثة التكوينات المعقدة وظروف التنفيذ التي تعتمد على البيئة التي يتم فيها تشغيل البرنامج. بينما يمكن للاختبار الداخلي ممارسة جزء صغير فقط من سياقات التنفيذ هذه، يمكن للاختبار في الجسم الحي الاستفادة من حالة التنفيذ الملحوظة في الميدان لإجراء المزيد من أنشطة الاختبار. في هذه الورقة، نقدم نهج غروشو للاختبار في الجسم الحي. يمكن لجروشو تعليق التنفيذ، وإجراء بعض الاختبارات في الجسم الحي، والتراجع عن الآثار الجانبية التي أحدثتها مثل هذه الاختبارات، واستئناف التنفيذ العادي في نهاية المطاف. يمكن تطبيق النهج بشفافية على التطبيق الأصلي، حتى لو كان متاحًا فقط كرمز مجمع، وهو مؤتمت بالكامل. أظهرت دراساتنا التجريبية للنفقات العامة للأداء التي قدمها غروشو تحت تكوينات مختلفة أن هذا قد يتم الاحتفاظ به إلى مستوى لا يكاد يذكر من خلال تفعيل الاختبار في الجسم الحي مع احتمال منخفض. تؤكد دراساتنا التجريبية حول فعالية النهج النتائج السابقة حول وجود أخطاء من غير المحتمل أن تكون مكشوفة في المنزل ويصبح من السهل كشفها في هذا المجال. علاوة على ذلك، نقوم بتضمين الدراسة الأولى لتحديد الزيادة في التغطية المكتسبة عند إضافة الاختبار في الجسم الحي لاستكماله في الاختبار المنزلي.

Translated Description (French)

Résumé Les systèmes logiciels modernes s'adaptent à des configurations complexes et à des conditions d'exécution qui dépendent de l'environnement dans lequel le logiciel est exécuté. Alors que les tests internes ne peuvent exercer qu'une fraction de ces contextes d'exécution, les tests in vivo peuvent tirer parti de l'état d'exécution observé sur le terrain pour mener d'autres activités de test. Dans cet article, nous présentons l'approche Groucho des tests in vivo. Groucho peut suspendre l'exécution, exécuter des tests in vivo, annuler les effets secondaires introduits par ces tests et éventuellement reprendre l'exécution normale. L'approche peut être appliquée de manière transparente à l'application d'origine, même si elle n'est disponible que sous forme de code compilé, et elle est entièrement automatisée. Nos études empiriques du surdébit de performance introduit par Groucho sous diverses configurations ont montré que cela peut être maintenu à un niveau négligeable en activant les tests in vivo avec une faible probabilité. Nos études empiriques sur l'efficacité de l'approche confirment les résultats antérieurs sur l'existence de défauts qui sont peu susceptibles d'être exposés en interne et deviennent faciles à exposer sur le terrain. De plus, nous incluons la première étude visant à quantifier l'augmentation de la couverture acquise lorsque des tests in vivo sont ajoutés pour compléter les tests internes.

Translated Description (Spanish)

Resumen Los sistemas de software modernos se adaptan a configuraciones complejas y condiciones de ejecución que dependen del entorno donde se ejecuta el software. Mientras que las pruebas internas pueden ejercer solo una fracción de dichos contextos de ejecución, las pruebas in vivo pueden aprovechar el estado de ejecución observado en el campo para realizar más actividades de prueba. En este artículo, presentamos el enfoque de Groucho para las pruebas in vivo. Groucho puede suspender la ejecución, realizar algunas pruebas in vivo, revertir los efectos secundarios introducidos por dichas pruebas y, finalmente, reanudar la ejecución normal. El enfoque se puede aplicar de forma transparente a la aplicación original, incluso si solo está disponible como código compilado, y está completamente automatizado. Nuestros estudios empíricos de la sobrecarga de rendimiento introducida por Groucho en varias configuraciones mostraron que esto puede mantenerse a un nivel insignificante activando las pruebas in vivo con baja probabilidad. Nuestros estudios empíricos sobre la efectividad del enfoque confirman hallazgos previos sobre la existencia de fallas que es poco probable que se expongan en casa y se vuelvan fáciles de exponer en el campo. Además, incluimos el primer estudio para cuantificar el aumento de cobertura obtenido cuando se añaden pruebas in vivo para complementar las pruebas internas.

Files

stvr.1857.pdf

Files (16.0 kB)

⚠️ Please wait a few minutes before your translated files are ready ⚠️ Note: Some files might be protected thus translations might not work.
Name Size Download all
md5:43a3a34a28a97b13358a10e434496a1f
16.0 kB
Preview Download

Additional details

Additional titles

Translated title (Arabic)
في اختبار الجسم الحي والتراجع عن تطبيقات جافا كما هي
Translated title (French)
Test in vivo et restauration des applications Java telles quelles
Translated title (Spanish)
Prueba in vivo y reversión de aplicaciones Java tal como están

Identifiers

Other
https://openalex.org/W4381987962
DOI
10.1002/stvr.1857

GreSIS Basics Section

Is Global South Knowledge
Yes
Country
Brazil

References

  • https://openalex.org/W1526710119
  • https://openalex.org/W1537283821
  • https://openalex.org/W1649645444
  • https://openalex.org/W1982774961
  • https://openalex.org/W1988396577
  • https://openalex.org/W1994843353
  • https://openalex.org/W2059854426
  • https://openalex.org/W2067195910
  • https://openalex.org/W2093587206
  • https://openalex.org/W2112836019
  • https://openalex.org/W2130169574
  • https://openalex.org/W2159471906
  • https://openalex.org/W2165927408
  • https://openalex.org/W2279536141
  • https://openalex.org/W2358431938
  • https://openalex.org/W2506692470
  • https://openalex.org/W2566059416
  • https://openalex.org/W2726916727
  • https://openalex.org/W2743726916
  • https://openalex.org/W2954012954
  • https://openalex.org/W2964112113
  • https://openalex.org/W2992278323
  • https://openalex.org/W3047682858
  • https://openalex.org/W3196393027
  • https://openalex.org/W4225589551
  • https://openalex.org/W4287161389
  • https://openalex.org/W4291722460
  • https://openalex.org/W4300879629