期刊文献+

TOAST: Automated Testing of Object Transformers in Dynamic Software Updates

原文传递
导出
摘要 Dynamic software update(DSU)patches programs on the fly.It often involves the critical task of object transformation that converts live objects of the old-version program to their semantically consistent counterparts under the new-version program.This task is accomplished by invoking an object transformer on each stale object.However,a defective transformer failing to maintain consistency would cause errors or even crash the program.We propose TOAST(Test Object trAnSformaTion),an automated approach to detecting potential inconsistency caused by object transformers.TOAST first analyzes an update to identify multiple target methods and then adopts a fuzzer with specially designed inconsistency guidance to randomly generate object states to drive two versions of a target method.This creates two corresponding execution traces and a pair of old and new objects.TOAST finally performs object transformation to create a transformed object and detects inconsistency between it and the corresponding new object produced from scratch by the new program.Moreover,TOAST checks behavior inconsistency by comparing the return variables and exceptions of the two executions.Experimental evaluation on 130 updates with default transformers shows that TOAST is promising:it got 96.0%precision and 85.7%recall in state inconsistency detection,and 81.4%precision and 94.6%recall in behavior inconsistency detection.The inconsistency guidance improved the fuzzing efficiency by 14.1%for state inconsistency detection and 40.5%for behavior inconsistency detection.
作者 赵泽林 黄頔 马晓星 Ze-Lin Zhao;Di Huang;Xiao-Xing Ma(State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210023,China)
出处 《Journal of Computer Science & Technology》 SCIE EI CSCD 2022年第1期50-66,共17页 计算机科学技术学报(英文版)
基金 supported by the National Natural Science Foundation of China under Grant Nos.62025202 and 61690204。
  • 相关文献

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部