ATOS: Adaptive Program Tracing With Online Control Flow Graph Support

Program tracing solutions (i.e., tracers) can faithfully record runtime information about a program's execution and enable flexible and powerful offline analysis. Therefore, they have become fundamental techniques extensively utilized in software analysis applications. However, few tracers have...

Full description

Bibliographic Details
Main Authors: He Sun, Chao Zhang, He Li, Zhenhua Wu, Lifa Wu, Yun Li
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8825867/
id doaj-40451694ea524fcc8524ddec7a533466
record_format Article
spelling doaj-40451694ea524fcc8524ddec7a5334662021-04-05T17:09:36ZengIEEEIEEE Access2169-35362019-01-01712749512751010.1109/ACCESS.2019.29395668825867ATOS: Adaptive Program Tracing With Online Control Flow Graph SupportHe Sun0https://orcid.org/0000-0001-9216-6443Chao Zhang1He Li2Zhenhua Wu3Lifa Wu4Yun Li5Institute of Command and Control Engineering, Army Engineering University of PLA, Nanjing, ChinaInstitute for Network Sciences and Cyberspace, Tsinghua University, Beijing, ChinaInstitute for Network Sciences and Cyberspace, Tsinghua University, Beijing, ChinaInstitute for Network Sciences and Cyberspace, Tsinghua University, Beijing, ChinaSchool of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing, ChinaInstitute for Network Sciences and Cyberspace, Tsinghua University, Beijing, ChinaProgram tracing solutions (i.e., tracers) can faithfully record runtime information about a program's execution and enable flexible and powerful offline analysis. Therefore, they have become fundamental techniques extensively utilized in software analysis applications. However, few tracers have paid attention to the size of traces and corresponding overheads introduced to offline analysis, as well as the Control Flow Graph (CFG) support. This paper presents ATOS, an efficient tracing solution, to address these issues. It adaptively adjusts the granularity of tracing while conservatively preserving the essential execution information. We implement a prototype of ATOS and evaluate it on several benchmarks. The results show that ATOS can greatly reduce the size of a trace and accelerate offline analysis, while preserving the execution states and supporting existing applications seamlessly. For example, using ATOS, the trace produced by the application CryptoHunt is reduced by 46 times, while the analysis time is reduced by 34 times.https://ieeexplore.ieee.org/document/8825867/Program tracingcontrol flow graphloop optimizationadaptive granularitycheck point
collection DOAJ
language English
format Article
sources DOAJ
author He Sun
Chao Zhang
He Li
Zhenhua Wu
Lifa Wu
Yun Li
spellingShingle He Sun
Chao Zhang
He Li
Zhenhua Wu
Lifa Wu
Yun Li
ATOS: Adaptive Program Tracing With Online Control Flow Graph Support
IEEE Access
Program tracing
control flow graph
loop optimization
adaptive granularity
check point
author_facet He Sun
Chao Zhang
He Li
Zhenhua Wu
Lifa Wu
Yun Li
author_sort He Sun
title ATOS: Adaptive Program Tracing With Online Control Flow Graph Support
title_short ATOS: Adaptive Program Tracing With Online Control Flow Graph Support
title_full ATOS: Adaptive Program Tracing With Online Control Flow Graph Support
title_fullStr ATOS: Adaptive Program Tracing With Online Control Flow Graph Support
title_full_unstemmed ATOS: Adaptive Program Tracing With Online Control Flow Graph Support
title_sort atos: adaptive program tracing with online control flow graph support
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2019-01-01
description Program tracing solutions (i.e., tracers) can faithfully record runtime information about a program's execution and enable flexible and powerful offline analysis. Therefore, they have become fundamental techniques extensively utilized in software analysis applications. However, few tracers have paid attention to the size of traces and corresponding overheads introduced to offline analysis, as well as the Control Flow Graph (CFG) support. This paper presents ATOS, an efficient tracing solution, to address these issues. It adaptively adjusts the granularity of tracing while conservatively preserving the essential execution information. We implement a prototype of ATOS and evaluate it on several benchmarks. The results show that ATOS can greatly reduce the size of a trace and accelerate offline analysis, while preserving the execution states and supporting existing applications seamlessly. For example, using ATOS, the trace produced by the application CryptoHunt is reduced by 46 times, while the analysis time is reduced by 34 times.
topic Program tracing
control flow graph
loop optimization
adaptive granularity
check point
url https://ieeexplore.ieee.org/document/8825867/
work_keys_str_mv AT hesun atosadaptiveprogramtracingwithonlinecontrolflowgraphsupport
AT chaozhang atosadaptiveprogramtracingwithonlinecontrolflowgraphsupport
AT heli atosadaptiveprogramtracingwithonlinecontrolflowgraphsupport
AT zhenhuawu atosadaptiveprogramtracingwithonlinecontrolflowgraphsupport
AT lifawu atosadaptiveprogramtracingwithonlinecontrolflowgraphsupport
AT yunli atosadaptiveprogramtracingwithonlinecontrolflowgraphsupport
_version_ 1721540123486584832