TOAST: Automated Testing of Object Transformers in Dynamic Software Updates

被引:0
|
作者
Ze-Lin Zhao
Di Huang
Xiao-Xing Ma
机构
[1] Nanjing University,State Key Laboratory for Novel Software Technology
关键词
object state transformer; inconsistency detection; dynamic software update (DSU); fuzzing testing;
D O I
暂无
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:50 / 66
页数:16
相关论文
共 50 条
  • [1] TOAST: Automated Testing of Object Transformers in Dynamic Software Updates
    Zhao, Ze-Lin
    Huang, Di
    Ma, Xiao-Xing
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2022, 37 (01) : 50 - 66
  • [2] Synthesizing Object State Transformers for Dynamic Software Updates
    Zhao, Zelin
    Jiang, Yanyan
    Xu, Chang
    Gu, Tianxiao
    Ma, Xiaoxing
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 1111 - 1122
  • [3] PASTA: Synthesizing Object State Transformers for Dynamic Software Updates
    Zhao, Zelin
    Jiang, Yanyan
    Xu, Chang
    Gu, Tianxiao
    Ma, Xiaoxing
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 211 - 212
  • [4] Tedsuto: A General Framework for Testing Dynamic Software Updates
    Pina, Luis
    Hicks, Michael
    2016 9TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2016, : 278 - U625
  • [5] Towards Automated Updates of Software Dependencies
    Jayasuriya, Dhanushka
    COMPANION PROCEEDINGS OF THE 2022 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES, AND APPLICATIONS: SOFTWARE FOR HUMANITY, SPLASH COMPANION 2022, 2022, : 29 - 33
  • [6] Automated Security Analysis of IoT Software Updates
    Dejon, Nicolas
    Caputo, Davide
    Verderame, Luca
    Armando, Alessandro
    Merlo, Alessio
    INFORMATION SECURITY THEORY AND PRACTICE, WISTP 2019, 2020, 12024 : 223 - 239
  • [7] Automated software testing
    Parker, Tim
    Unix Review, 1995, 13 (01):
  • [8] Automated object-flow testing of dynamic process interaction models
    Yilmaz, L
    WSC'01: PROCEEDINGS OF THE 2001 WINTER SIMULATION CONFERENCE, VOLS 1 AND 2, 2001, : 586 - 594
  • [9] Testing for Dynamic Software Update: An Object-State-Oriented Approach
    Huang, Di
    Zhao, Zelin
    Ma, Xiaoxing
    THE 12TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE, INTERNETWARE 2020, 2021, : 41 - 50
  • [10] Testing object oriented software
    Pezzè, M
    Young, M
    ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, : 739 - 740