Mike Hicks
Michael W. Hicks is a professor emeritus in the Department of Computer Science. He also had joint appointments in UMIACS and the Maryland Cybersecurity Center.
His research focuses on using programming languages and analyses to improve the security, reliability, and availability of software. Noteworthy among his research accomplishments is the development of analysis and compilation tools for enabling software to be safely updated without shutting it down. He has explored the design of new programming languages and analysis tools for automatically discovering or remediating software flaws and security vulnerabilities. Hicks has also conducted studies on the utility of defect detection tools according on outcomes of human users, and explored distributed systems design and evaluation, particularly when adaptivity and security are system goals.
During his career, Hicks has published more than 80 refereed conference and journal papers, many in highly selective venues. He won the ACM SIGPLAN Doctoral Dissertation Award in 2001, a National Science Foundation (NSF) CAREER Award in 2003, and has won the Department of Computer Science's Faculty Teaching Award three times. Hicks served as program chair for the 2012 ACM Symposium on the Principles of Programming Languages, the premier venue for theoretical contributions to programming languages.
He received a doctorate in computer and information science from the University of Pennsylvania in 2001, and then spent one year as a postdoctoral associate affiliated with the Information Assurance Institute of the Computer Science Department at Cornell University. During the 2008 academic year, he spent his sabbatical in Cambridge, England visiting Microsoft Research and the University of Cambridge Computer Laboratory.
Go here to view Hicks's academic publications on Google Scholar.
Publications
2002
2002. Region-based memory management in cyclone. SIGPLAN Not.. 37(5):282-293.
2002. Cyclone: A safe dialect of C. USENIX Annual Technical Conference. :275-288.
2002. Evolution in Action: Using Active Networking to Evolve Network Support for Mobility. Active NetworksActive Networks. 2546:146-161.
2002. Experiences with capsule-based active networking. DARPA Active NEtworks Conference and Exposition, 2002. Proceedings. :16-24.
2001
2001. A Calculus for Dynamic Loading. Technical Reports (CIS).
2001. Compiling PLAN to SNAP. Active NetworksActive Networks. 2207:134-151.
2001. Dynamic software updating. Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation. :13-23.
2001. Practical programmable packets. IEEE INFOCOM 2001. Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. 1:41-50vol.1-41-50vol.1.
2001. Cyclone User's Manual, Version 0.1. 3. Computer Science Technical Reports.
2000
2000. A Review of Current Routing Protocols for Ad Hoc. IEEE Personal Communications. 29:156-71.
2000. A Review of Current Routing Protocols for Ad Hoc. IEEE Personal Communications. 29:156-71.
2000. Active Networking Means Evolution (or Enhanced Extensibility Required). Active NetworksActive Networks. 1942:16-32.
2000. Scalable Resource Control in Active Networks. Active NetworksActive Networks. 1942:343-357.
2000. Agents in Network Management. Technical Reports (CIS).
1999
1999. PLAN: A programming language for active networks. ACM SIGPLAN NOTICES. 34:86-93.
1999. PLANet: an active internetwork. IEEE INFOCOM '99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. 3:1124-1133vol.3-1124-1133vol.3.
1999. Transparent communication for distributed objects in Java. Proceedings of the ACM 1999 conference on Java Grande. :160-170.
1999. Network Programming Using PLAN. Internet Programming LanguagesInternet Programming Languages. 1686:127-143.
1999. Specifying the PLAN Network Programming Langauge. Electronic Notes in Theoretical Computer Science. 26:87-104.
1999. Chunks in PLAN: Language support for programs as packets. PROCEEDINGS OF THE ANNUAL ALLERTON CONFERENCE ON COMMUNICATION CONTROL AND COMPUTING. 37:PROCEEDINGSOFTHEANNUALALLERTONCONFERENCEONCOMMUNICATIONCONTROLANDCOMPUTING-PROCEEDINGSOFTHEANNUALALLERTONCONFER.
1999. PLAN Service Programmer's Guide for PLAN version 3.2. University of Pennsylvania.
1998
1998. PLAN: a packet language for active networks. SIGPLAN Not.. 34(1):86-93.
1998. The PLAN system for building Active Networks. University of Pennsylvania (February 27, 1998).
1998. The switchware active network implementation. The ML Workshop, International Conference on Functional Programming (ICFP).
1998. A study of large object spaces. Proceedings of the 1st international symposium on Memory management. :138-145.
1998. Types and intermediate representations. Technical Reports (CIS). :796-796.
1998. The SwitchWare active network architecture. IEEE Network. 12(3):29-36.
1998. PLAN Service Programmer's Guide. University of Pennsylvania.
1997
1997. The measured cost of copying garbage collection mechanisms. SIGPLAN Not.. 32(8):292-305.
1997. A Service Layer Routing Protocol for PLAN. PLAN documentation, September.