2015
DOI: 10.1002/spe.2348
|View full text |Cite
|
Sign up to set email alerts
|

Mining hot calling contexts in small space

Abstract: Summary Calling context trees (CCTs) associate performance metrics with paths through a program's call graph, providing valuable information for program understanding and performance analysis. In real applications, however, CCTs might easily consist of tens of millions of nodes, making them difficult to analyze and also hurting execution times because of poor access locality. For performance analysis, accurately mining only hot calling contexts may be more useful than constructing an entire CCT with millions o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
5
3
1

Relationship

2
7

Authors

Journals

citations
Cited by 11 publications
(5 citation statements)
references
References 63 publications
0
5
0
Order By: Relevance
“…WEIZZ computes context-sensitivity information for branch coverage and comparison tables by maintaining a shadow call stack in QEMU. To deal with the often large number of contexts in programs [32], like in ANGORA we extend the number of buckets in the coverage map from 2 16 as in AFL to 2 18 , and compute the index using the source and destination basic block addresses and a one-word hash of the call stack. In the ANGORA experience, context-sensitive branch coverage may let a fuzzer explore programs more pervasively [9].…”
Section: Methodsmentioning
confidence: 99%
“…WEIZZ computes context-sensitivity information for branch coverage and comparison tables by maintaining a shadow call stack in QEMU. To deal with the often large number of contexts in programs [32], like in ANGORA we extend the number of buckets in the coverage map from 2 16 as in AFL to 2 18 , and compute the index using the source and destination basic block addresses and a one-word hash of the call stack. In the ANGORA experience, context-sensitive branch coverage may let a fuzzer explore programs more pervasively [9].…”
Section: Methodsmentioning
confidence: 99%
“…Due to their sheer number, a static enumeration of calling contexts is often unfeasible [65], and even space-efficient dynamic methods need wide identifiers to keep collisions low [66]. Furthermore, for complex programs, short executions often result in dozens of million distinct contexts [13], [67]. Unlike cloning, these techniques incur non-negligible temporal or spatial overheads, hindering an effective composition with local feedbacks used by fuzzers.…”
Section: Related Workmentioning
confidence: 99%
“…The second facility is a shadow stack to track the calling context (i.e., the sequence of functions currently active on the stack [34]) of heap allocations. This information is crucial to track the origin of heap blocks that later get involved in memory violations.…”
Section: Qasan Extension For Qemumentioning
confidence: 99%