David Van Horn
David Van Horn is an assistant professor of computer science and a member of the Lab for Programming Languages and the University of Maryland.
Van Horn’s research centers on program analysis and how it is applied to programming languages, software engineering, verification and security. He specifically works on the design and implementation of programming languages that go towards building secure, reliable, efficient and reusable high-quality software.
His book, “Realm of Racket: Learn to Program, One Game at a Time," was selected as a 2013 Notable Book in Computing by ACM Computing Reviews. The book teaches readers to program by leading them through the creation of a series of increasingly complex games.
Van Horn received his doctorate in computer science from Brandeis University in 2009. Before joining the University of Maryland, research assistant professor of computer and information science at Northeastern University.
2013. Optimizing Abstract Abstract Machines. arXiv:1211.3722 [cs].
2013. From Principles to Practice with Class in the First Year. arXiv:1306.4713 [cs].
2012. Introspective Pushdown Analysis of Higher-Order Programs. arXiv:1207.1813 [cs].
2011. Semantic Solutions to Program Analysis Problems. arXiv:1105.0106 [cs].
2011. Systematic Abstraction of Abstract Machines. arXiv:1107.3539 [cs].
2011. A family of abstract interpretations for static analysis of concurrent higher-order programs. arXiv:1103.5167 [cs].
2011. Abstracting Abstract Machines: A Systematic Approach to Higher-Order Program Analysis. arXiv:1105.1743 [cs].
2011. Higher-Order Symbolic Execution via Contracts. arXiv:1103.1362 [cs].
2010. Pushdown Control-Flow Analysis of Higher-Order Programs. arXiv:1007.4268 [cs].
2010. Resolving and Exploiting the k-CFA Paradox: Illuminating Functional vs. Object-oriented Program Analysis. PLDI '10 Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation. :305-315.
2010. Abstracting Abstract Machines. arXiv:1007.4446 [cs].
2010. Evaluating Call-By-Need on the Control Stack. arXiv:1009.3174 [cs].
2008. Deciding kCFA is Complete for EXPTIME. ICFP '08 Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming. :275-282.
2008. Flow Analysis, Linearity, and PTIME. Static Analysis. :255-269.
2007. Relating Complexity and Precision in Control Flow Analysis. ICFP '07 Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming. :85-96.
2005. A Type and Effect System for Flexible Abstract Interpretation of Java: (Extended Abstract). Electronic Notes in Theoretical Computer Science. 131:111-124.