David Van Horn

Research Assistant Professor
College of Computer and Information Science
Northeastern University

350 West Village H
dvanhorn at ccs dot neu dot edu
617 373 5119

[NEU seal]



Research interests | Projects | Activities | Teaching | Papers | Talks | Collaborators
Vita | Research statement | Teaching statement

Calendar: HTML, iCAL

Research interests

I am interested in all aspects of program analysis and its applications to programming languages, software engineering, verification, and security. Specifically, I work toward enabling the production of software that can be mechanically reasoned about, with the ultimate goal of making the construction of reusable, trusted software components possible and effective. My research has spanned program analysis, semantics, and transformation, both in functional and object-oriented contexts; verification and model-checking; security; logic; complexity; and algorithms.

Current projects

Activities

Teaching

I believe understanding computation to be a basic component of literacy. Many of my students have not only mastered this aspect of literacy, they teach it! Dozens of my students have gone on to teach middle school students in the Boston area as part of the Bootstrap program, which empowers students to program their own video games using purely algebraic and geometric concepts.

Papers

In submission

Sound and Precise Malware Analysis for Android via Pushdown Reachability and Entry-Point Saturation. With Shuying Liang, Andrew W. Keep, and Matthew Might.
In submission to ACM Conference on Computer and Communications Security, 2013.
PDF ]

Correctly Optimizing Abstract Abstract Machines. With J. Ian Johnson, Nicholas Labich, and Matthew Might.
In submission to ACM International Conference on Functional Programming, 2013.
arXiv ]

Introspective pushdown analysis. With Christopher Earl, Ilya Sergey, J. Ian Johnson, and Matthew Might.
Invited to submission to Best of ICFP 2012 issue of Journal of Functional Programming, 2013.
PDF ]

AnaDroid: Malware Analysis of Android with User-supplied Predicates. With Shuying Liang and Matthew Might.
In submission to Workshop on Tools for Automatic Program Analysis, 2013.
PDF ]

Concrete Semantics for Pushdown Analysis: The Essence of Summarization. With Ian Johnson.
In submission to Workshop on Higher-Order Program Analysis.
PDF ]

Preprints

Pushdown Exception-Flow Analysis of Object-Oriented Programs. With Shuying Liang, Matthew Might, and Thomas Gilray.
arXiv ]

Pushdown Abstractions of JavaScript. With Matthew Might.
PDF | Abstract | arXiv ]

Publications

From Principles to Practice with Class in the First Year. With Sam Tobin-Hochstadt.
International Workshop on Trends in Functional Programming in Education, Provo, Utah, May 2013.
PDF ]

Higher-Order Symbolic Execution via Contracts. With Sam Tobin-Hochstadt.
The ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'12), Tuscon, Arizona, October 2012.
PDF | Abstract | ACM | arXiv ]

Introspective Pushdown Analysis of Higher-Order Programs. With Christopher Earl, Ilya Sergey, and Matthew Might.
The 17th ACM SIGPLAN International Conference on Functional Programming (ICFP'12), Copenhagen, Denmark, September 2012.
Invited to Best of ICFP 2012 special issue of JFP.
PDF | Abstract | ACM | arXiv ]

Systematic Abstraction of Abstract Machines. With Matthew Might.
Journal of Functional Programming, 22(4-5). September, 2012.
Best of ICFP 2010.
PDF | Abstract | CUP | arXiv ]

Abstracting Abstract Machines. With Matthew Might.
Communications of the ACM, Research Highlights, 54(9), September 2011.
PDF | Abstract | ACM | arXiv ]

A Family of Abstract Interpretations for Static Analysis of Concurrent Higher-Order Programs. With Matthew Might.
The 18th International Static Analysis Symposium (SAS 2011), Venice, Italy, September 2011.
PDF | Abstract | Springer | arXiv ]

Semantic Solutions to Program Analysis Problems. With Sam Tobin-Hochstadt.
FIT Session, The ACM SIGPLAN 2011 Conference on Programming Language Design and Implementation (PLDI'11), San Jose, California, June 2011.
PDF | Abstract | arXiv ]

Abstracting Abstract Machines. With Matthew Might.
The 15th ACM SIGPLAN International Conference on Functional Programming (ICFP'10), Baltimore, Maryland, September, 2010.
PDF | Abstract | ACM | arXiv ]

Pushdown Control-Flow Analysis of Higher-Order Programs. With Christopher Earl and Matthew Might.
The 2010 Workshop on Scheme and Functional Programming (SFP'10), Montréal, Québec, Canada, August, 2010.
PDF | Abstract | arXiv ]

Evaluating Call-By-Need on the Control Stack. With Stephen Chang and Matthias Felleisen.
Symposium on Trends in Functional Programming (TFP 2010), Norman, Oklahoma, May, 2010.
Best student paper award.
PDF | Abstract | Springer | arXiv ]

Resolving and Exploiting the k-CFA Paradox. With Matthew Might and Yannis Smaragdakis.
The ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation (PLDI'10), Toronto, Canada, June 2010.
PDF | Abstract | ACM ]

The Complexity of Flow Analysis in Higher-Order Languages.
PhD dissertation, Brandeis University, August 2009.
PDF | Abstract | UMI ]

Subcubic Control Flow Analysis Algorithms. With Jan Midtgaard.
Roskilde Unversitet, Computer science research report #125, May 2009. Presented at the Symposium in Honor of Mitchell Wand. Accepted to appear in revised form in the journal Higher-Order and Symbolic Computation.
PDF | Abstract | RUC ]

Deciding kCFA is complete for EXPTIME. With Harry G. Mairson.
The 13th ACM SIGPLAN International Conference on Functional Programming (ICFP'08), Victoria, British Columbia, Canada, September 2008.
PDF | Abstract | ACM ]

A Few Principles of Macro Design. With David Herman.
The ACM Workshop on Scheme and Functional Programming, Victoria, British Columbia, Canada, September 2008.
PDF | Abstract | WSFP ]

Flow Analysis, Linearity, and PTIME. With Harry G. Mairson.
The 15th International Static Analysis Symposium (SAS 2008), Valencia, Spain, July 2008.
PDF | Abstract | Springer ]

Types and Trace Effects of Higher Order Programs. With Christian Skalka and Scott Smith.
Journal of Functional Programming, 18(2), March 2008.
PDF | Abstract CUP ]

Relating Complexity and Precision in Control Flow Analysis. With Harry G. Mairson.
The Twelth ACM SIGPLAN International Conference on Functional Programming (ICFP'07), Freiburg, Germany, October 2007.
PDF | Abstract | ACM ]

Algorithmic Trace Effect Analysis.
MS thesis, University of Vermont, 2006.
PDF | Abstract | UVM ]

A Type and Effect System for Flexible Abstract Interpretation of Java. With Christian Skalka and Scott Smith.
The ACM Workshop on Abstract Interpretations of Object-Oriented Programs, Electronic Notes in Theoretical Computer Science, Volume 131. January 2005.
PDF | Abstract | Elsevier ]

Talks

Collaborators

Stephen Chang, Christopher Earl, Matthias Felleisen, David Herman, J. Ian Johnson, Andrew W. Keep, Nicholas Labich, Shuying Liang, Harry Mairson, Jan Midtgaard, Matthew Might, Ilya Sergey, Olin Shivers, Christian Skalka, Yannis Smaragdakis, Scott Smith, Sam Tobin-Hochstadt, and Mitchell Wand.


[blue ribbon campaign icon]
Valid XHTML & CSS
Last updated by dvanhorn: Tue Apr 2 11:54:20 EDT 2013