46 citations · 222 across the 24 of their papers we have counts for
9 papers · 1 filter
Flow analysis, linearity, and PTIME
David Van Horn, Harry G. Mairson
Flow analysis is a ubiquitous and much-studied component of compiler technology---and its variations abound. Amongst the most well known is Shivers' 0CFA; however, the best known a…
Deciding CFA is complete for EXPTIME
David Van Horn, Harry G. Mairson
We give an exact characterization of the computational complexity of the CFA hierarchy. For any , we prove that the control flow decision problem is complete for determin…
The Complexity of Flow Analysis in Higher-Order Languages
David Van Horn
This dissertation proves lower bounds on the inherent difficulty of deciding flow analysis problems in higher-order programming languages. We give exact characterizations of the co…
Resolving and Exploiting the -CFA Paradox
Matthew Might, Yannis Smaragdakis, David Van Horn
Low-level program analysis is a fundamental problem, taking the shape of "flow analysis" in functional languages and "points-to" analysis in imperative and object-oriented language…
Sound and Precise Malware Analysis for Android via Pushdown Reachability and Entry-Point Saturation
Shuying Liang, Andrew W. Keep, Matthew Might +4
We present Anadroid, a static malware analysis framework for Android apps. Anadroid exploits two techniques to soundly raise precision: (1) it uses a pushdown system to precisely m…
AnaDroid: Malware Analysis of Android with User-supplied Predicates
Shuying Liang, Matthew Might, David Van Horn
Today's mobile platforms provide only coarse-grained permissions to users with regard to how third- party applications use sensitive private data. Unfortunately, it is easy to disg…
Soft Contract Verification
Phuc C. Nguyen, Sam Tobin-Hochstadt, David Van Horn
Behavioral software contracts are a widely used mechanism for governing the flow of values between components. However, run-time monitoring and enforcement of contracts imposes sig…
From Principles to Practice with Class in the First Year
Sam Tobin-Hochstadt, David Van Horn
We propose a bridge between functional and object-oriented programming in the first-year curriculum. Traditionally, curricula that begin with functional programming transition to a…
Abstracting Abstract Control (Extended)
J. Ian Johnson, David Van Horn
The strength of a dynamic language is also its weakness: run-time flexibility comes at the cost of compile-time predictability. Many of the hallmarks of dynamic languages such as c…