Using dynamically inferred invariants to analyze program runtime complexity

4Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Being able to detect program runtime complexity can help identify security vulnerabilities such as DoS attacks and side-channel information leakage. In prior work, we use dynamic invariant generation to infer nonlinear numerical relations to represent runtime complexity of imperative programs. In this work, we propose a new dynamic analysis approach for learning recurrence relations to capture complexity bounds for recursive programs. This approach allows us to efficiently infer simple linear recurrence relations that represent nontrivial, potentially nonlinear, complexity bounds. Preliminary results on several popular recursive programs show that we can learn precise recurrence relations capturing worst-case complexity bounds such as O(n log n) and O(cn).

Cite

CITATION STYLE

APA

Nguyen, T. V., Ishimwe, D., Malyshev, A., Antonopoulos, T., & Phan, Q. S. (2020). Using dynamically inferred invariants to analyze program runtime complexity. In SEAD 2020 - Proceedings of the 3rd ACM SIGSOFT International Workshop on Software Security from Design to Deployment, Co-located with ESEC/FSE 2020 (pp. 11–14). Association for Computing Machinery, Inc. https://doi.org/10.1145/3416507.3423189

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free