2014
DOI: 10.1145/2714064.2660221
|View full text |Cite
|
Sign up to set email alerts
|

Call sequence prediction through probabilistic calling automata

Abstract: Predicting a sequence of upcoming function calls is important for optimizing programs written in modern managed languages (e.g., Java, Javascript, C#.) Existing function call predictions are mainly built on statistical patterns, suitable for predicting a single call but not a sequence of calls. This paper presents a new way to enable call sequence prediction, which exploits program structures through Probabilistic Calling Automata (PCA), a new program representation that captures both the inherent ensuing rela… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2019
2019
2020
2020

Publication Types

Select...
2
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(4 citation statements)
references
References 41 publications
0
4
0
Order By: Relevance
“…Collecting data from the field is extremely useful to discover how applications are actually used and support software engineering tasks. For instance, several monitoring techniques collect sequences of function calls to reproduce failures [12], detect malicious behaviors [14], debug applications [15], profile software [9], optimize applications [16], and mine models [17,18]. If retrieving this data is indeed useful, knowing the impact of the monitoring activity on the user experience is also extremely important.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Collecting data from the field is extremely useful to discover how applications are actually used and support software engineering tasks. For instance, several monitoring techniques collect sequences of function calls to reproduce failures [12], detect malicious behaviors [14], debug applications [15], profile software [9], optimize applications [16], and mine models [17,18]. If retrieving this data is indeed useful, knowing the impact of the monitoring activity on the user experience is also extremely important.…”
Section: Discussionmentioning
confidence: 99%
“…Studying the behavior of an application in terms of the function calls produced under different circumstances is in fact both common and useful. For example, sequences of function calls extracted from the field can be used to reproduce failures [12], detect malicious behaviors [14], debug applications [15], profile software [9], optimize applications [16], and mine models [17,18,19].…”
Section: Introductionmentioning
confidence: 99%
“…Although the concept behind Delayed Saving is valid for different kinds of events and data that can be monitored, let us specifically consider the case of a monitor that must collect the sequence of method calls that are executed by an application, to later reconstruct and analyze its internal behavior. Tracing method calls is common to many techniques and applications (e.g., reproducing failures [16], detecting malicious behaviors [21], debugging applications [22], profiling software [2], optimizing applications [23], and mining models [18], [24], [25] which is also the case we studied empirically in our evaluation). In such a case, Delayed Saving collects the sequence of methods that are executed and stores the references to the objects used as parameter during the working state.…”
Section: Delayed Savingmentioning
confidence: 99%
“…While some solutions, such as simple crash reporting features, require collecting relatively few data for a short amount of time (e.g., a snapshot of the system at the time of the crash [10], [11], [12]), many interesting and sophisticated approaches require monitoring applications more extensively. For example, many approaches collect sequences of method calls to reproduce failures [13], detect malicious behaviors [14], debug applications [15], profile software [2], optimize applications [16], and mine models [5], [17], [18]. Unfortunately, extensively recording sequences of function calls might introduce an annoying overhead and cause unacceptable slowdowns, as for example experienced by Jin et al [13].…”
Section: Introductionmentioning
confidence: 99%