Dynaplex: analyzing program complexity using dynamically inferred recurrence relations
Didier Ishimwe, KimHao Nguyen, ThanhVu Nguyen
摘要
Being able to detect program runtime complexity is useful in many tasks (e.g., checking expected performance and identifying potential security vulnerabilities). In this work, we introduce a new dynamic approach for inferring the asymptotic complexity bounds of recursive programs. From program execution traces, we learn recurrence relations and solve them using pattern matching to obtain closed-form solutions representing the complexity bounds of the program. This approach allows us to efficiently infer simple recurrence relations that represent nontrivial, potentially nonlinear polynomial and non-polynomial, complexity bounds. We present Dynaplex, a tool that implements these ideas to automatically generate recurrence relations from execution traces. Our preliminary results on popular and challenging recursive programs show that Dynaplex can learn precise relations capturing worst-case complexity bounds (e.g., O ( n log n ) for mergesort, O (2 n ) for Tower of Hanoi and O ( n 1.58 ) for Karatsuba’s multiplication algorithm).
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper2
- Robust Resource Bounds with Static Analysis and Bayesian InferenceLong Pham, Feras A. Saad, Jan HoffmannPLDI 2024 · 被引用 6 次
- Integrating Resource Analyses via Resource DecompositionLong Pham, Yue Niu, Nathaniel Glover, Feras Saad 等OOPSLA 2025
它引用的顶会 Paper4
- SlowFuzz: Automated Domain-Independent Detection of Algorithmic Complexity VulnerabilitiesTheofilos Petsios, Jason Zhao, Angelos D. Keromytis, Suman JanaCCS 2017 · 被引用 214 次
- Templates and recurrences: better togetherJason Breck, John Cyphert, Zachary Kincaid, Thomas W. RepsPLDI 2020 · 被引用 30 次
- DynamiTe: dynamic termination and non-termination proofsTon Chanh Le, Timos Antonopoulos, Parisa Fathololumi, Eric Koskinen 等OOPSLA 2020 · 被引用 26 次
- Learning nonlinear loop invariants with gated continuous logic networksJianan Yao, Gabriel Ryan, Justin Wong, Suman Jana 等PLDI 2020 · 被引用 1 次
相关 Paper
- Synthesis with Asymptotic Resource BoundsQinheping Hu, John Cyphert, Loris D'Antoni, Thomas W. RepsCAV 2021 · 被引用 5 次
- Recurrence extraction for functional programs through call-by-push-valueG. A. Kavvos, Edward Morehouse, Daniel R. Licata, Norman DannerPOPL 2020 · 被引用 20 次
- Adaptive Recursive Query OptimizationAnna Herlihy, Guillaume Martres, Anastasia Ailamaki, Martin OderskyICDE 2024 · 被引用 5 次
- Automated Tail Bound Analysis for Probabilistic Recurrence RelationsYican Sun, Hongfei Fu, Krishnendu Chatterjee, Amir Kafshdar GoharshadyCAV 2023 · 被引用 9 次
- Mobius: Synthesizing Relational Queries with Recursive and Invented PredicatesAalok Thakkar, Nathaniel Sands, George Petrou, Rajeev Alur 等OOPSLA 2023 · 被引用 5 次
