Amer S. Diwan
Work Home
Engineering Center, ECOT 743 3704 Wonderland Hill Avenue
Department of Computer Science Boulder, CO 80304
University of Colorado 303-***-****
Boulder, CO 80309-0430
303-***-****, Fax: 303-***-****
Email: *****@**.********.***
URL: http://www.cs.colorado.edu/ diwan
University of Massachusetts
E DUCATION Amherst, MA
Ph.D. in Computer Science October 1996
Thesis Title: Understanding and improving the performance of modern programming lan-
guages.
Advisor: J. Eliot B. Moss
University of Massachusetts Amherst, MA
M.S. in Computer Science May 1992
Project Title: Compiler support for garbage collection in a statically-typed language.
Middlebury College Middlebury, VT
B.A. in Mathematics, Summa Cum Laude, Highest honors, Phi Beta Kappa May 1989
P UBLICATIONS Journal papers
Johannes Henkel, Christoph Reichenbach, and Amer Diwan. Developing and debugging al-
gebraic speci cations for Java classes. ACM Transactions on Software Engineering and
Methodology, Volume 17, Issue 3, June 2008. (An earlier version of this paper is available
as a University of Colorado Technical Report CU-CS-984-04).
Stephen M. Blackburn, Kathryn S. McKinley, Robin Garner, Chris Hoffmann, Asjad M. Khan,
Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin
Hirzel, Antony Hosking, Maria Jump, Han Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko
Stefanovik, Thomas VanDrunen, Daniel von Dincklage, Ben Wiedermann. Wake up and smell
the coffee: evaluation methodology for the 21st century. Communications of the ACM, August
2008, Volume 51 Issue 8.
Paul Leonardi, Michele Jackson, and Amer Diwan. The Enactment-Externalization Dialectic:
Rationalization and the Persistence of Counter-Productive Technology Design Practices in
Student Engineering. To appear in Academy of Management Journal.
Johannes Henkel, Christoph Reichenbach, and Amer Diwan. Discovering documentation for
Java container classes. IEEE Transactions on Software Engineering, Volume 33, Number 8,
Amer S. Diwan page 2
August 2007. (An older version of this paper is available as a University of Colorado Technical
Report CU-CS-985-04).
Johannes Henkel, Christoph Reichenbach, and Amer Diwan. Discovering documentation for
Java container classes. IEEE Transactions on Software Engineering, Volume 33, Number 8,
August 2007. (An older version of this paper is available as a University of Colorado Technical
Report CU-CS-985-04).
Martin Hirzel, Daniel vonDincklage, Amer Diwan, and Michael Hind, Fast pointer analysis in
the presence of dynamic class loading. Transactions on Programming Languages and Systems
(TOPLAS), Volume 29, Issue 2, April 2007.
Han B. Lee, Amer Diwan, and J. Eliot B. Moss, Design, Implementation, and Evaluation of a
Compilation Server. ACM Transactions on Programming Languages and Systems (TOPLAS)
Volume 29, Issue 4, August 2007. Also available as University of Colorado Technical Report
CU-CS-978-04.
Han Lee, Daniel von Dincklage, Amer Diwan, J. Eliot B. Moss, Understanding the behavior
of compiler optimizations. Software Practice and Experience, 36(8), July 2006, pp 835-844. A
longer version of this paper is available as University of Colorado Technical Report CU-CS-
972-04.
Amer Diwan, William Waite, Michele Jackson, and Jacob Dickerson, PL-Detective: A system
for teaching programming language concepts. ACM Journal on Educational Resources in
Computing, 4(4), December 2004.
Martin Hirzel, Amer Diwan, and Johannes Henkel, On the Usefulness of Type and Liveness
Accuracy for Garbage Collection and Leak Detection, ACM Transactions on Programming
Languages and Systems, 24(6), November 2002, pp. 593 624.
Amer Diwan, Kathryn McKinley, and J. Eliot B. Moss, Using types to analyze and opti-
mize object-oriented programs, ACM Transactions on Programming Languages and Systems,
23(1), January 2001, pp. 30 72.
Antony L. Hosking, Nathaniel Nystrom, David Whitlock, Quintin Cutts, and Amer Diwan,
Partial redundancy elimination for access path expressions. Software-Practice and Experience
31, 2001, pp. 577 600.
David Tarditi and Amer Diwan, Measuring the cost of memory management. Lisp and Sym-
bolic Computation, 9(4), December 1996, pp.323 342.
Amer Diwan, David Tarditi, and J. Eliot B. Moss, Memory system performance of programs
with intensive heap allocation. ACM Transactions on Computer Systems, 13(3), August 1995,
pp. 244 273.
Refereed conference papers
Dan Knights, Todd Mytkowicz, Michael Mozer, Peter Sweeney, and Amer Diwan. Blind
optimization for exploiting architectural features. To appear in International Conference on
Compiler Construction 2009.
Amer S. Diwan page 3
Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, and Peter Sweeney. Producing wrong
data without doing anything obviously wrong!. To appear in Fourteenth International Confer-
ence on Architectural Support for Programming Languages and Operating Systems (ASPLOS
09).
Daniel von Dincklage and Amer Diwan. Finding reasons for analysis failure. ACM Confer-
ence on Programming Language Design and Implementation, 2008.
Design and implementation of a modern compiler course. William M. Waite, Assad Jarrahian,
Michele H. Jackson, Amer Diwan. ITiCSE 2006: 18-22.
Todd Mytkowicz, Peter F. Sweeney, Matthias Hauswirth, Amer Diwan. Time Interpolation:
So Many Metrics, So Few Registers. 40th International Symposium on Microarchitecture (MI-
CRO 2007).
Christian Doerr, Daniel von Dincklage and Amer Diwan. Simplifying Web Traversals By Rec-
ognizing Behavior Patterns. Eighteenth ACM Conference on Hypertext and Hypermedia (HT
07) 2007.
Christian Doerr, Amer Diwan, and Michele Jackson. Generalizing the PL-Detective: The
Knowledge Discovery Framework. 11th Annual World Conference on E-Learning in Corpo-
rate, Government, Healthcare, and Higher Education (E-Learn) 2006
Stephen M Blackburn, Robin Garner, Chris Hoffmanng, Asjad M Khan, Kathryn S McKin-
ley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z Guyer, Mar-
tin Hirzel, Antony Hosking, Maria Jump, Han Lee, J Eliot B Moss, Aashish Phansalkar,
Darko Stefanovic, Thomas VanDrunen, Daniel von Dincklage, Ben Wiedermann. The Da-
Capo Benchmarks: Java Benchmarking Development and Analysis. ACM Conference on
Object Oriented Programming Systems, Languages, and Applications 2006.
Christian Doerr, Amer Diwan, and Michele Jackson. Generalizing the PL-Detective: The
Knowledge Discovery Framework. 11th Annual World Conference on E-Learning in Corpo-
rate, Government, Healthcare, and Higher Education (E-Learn) 2006
Matthias Hauswirth, Amer Diwan, Peter Sweeney, and Michael Mozer, Automating vertical
pro ling. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)
2005 (25 of 142 accepted)
Paul Leonardi, Michele Jackson, William Waite, and Amer Diwan. Occupational work styles
and organizational change: A constitutive perspective on engineering culture. Academy of
Management Conference, 2005 (approximately 30% of submissions were accepted).
Amer Diwan, William Waite, Michele Jackson, and Jacob Dickerson, PL-Detective: Experi-
ence and Results. 36th ACM Technical Symposium on Computer Science Education, 2005
(104 out of 330 accepted)
Johannes Henkel and Amer Diwan, CATCHUP! Capturing and Replaying Refactorings to
Support API Evolution. International Conference on Software Engineering (ICSE) 2005 (44
out of 313 accepted).
Daniel vonDincklage and Amer Diwan, Converting Java classes to use generics. Object-
Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2004 (27 of 173
Amer S. Diwan page 4
accepted)
Matthias Hauswirth, Peter Sweeney, Amer Diwan, Michael Hind, Vertical Pro ling: Under-
standing the Behavior of Object-Oriented Applications. Object-Oriented Programming, Sys-
tems, Languages, and Applications (OOPSLA) 2004 (27 out of 173 accepted).
Johannes Henkel and Amer Diwan, A tool for writing and debugging algebraic speci cations.
International Conference on Software Engineering (ICSE) 2004 (59 out of 436 accepted).
Winner of distinguished paper award.
Peter F. Sweeney, Matthias Hauswirth, Brendon Cahoon, Perry Cheng, Amer Diwan, David
Grove, and Michael Hind, Using hardware performance monitors to understand the behavior
of Java applications. USENIX 3rd Virtual Machine Research and Technology Symposium
(VM 04) (acceptance rate unknown).
Martin Hirzel, Amer Diwan, and Michael Hind, Pointer Analysis in the Presence of Dynamic
Class Loading. European Conference on Object-Oriented Programming (ECOOP), June 2004
(25 out of 132 accepted).
William Waite, Michele Jackson, Amer Diwan, Paul Leonardi, Student culture versus group
work in computer science. 35th ACM Technical Symposium on Computer Science Education,
2004 (90 out of 320 accepted).
Amer Diwan, William Waite, and Michele Jackson, PL-Detective: A system for teaching pro-
gramming language concepts. 35th ACM Technical Symposium on Computer Science Edu-
cation, 2004 (90 papers out of 320 accepted).
Johannes Henkel and Amer Diwan, Discovering Algebraic Speci cations from Java Classes.
ECOOP 2003 - Object-Oriented Programming, 17th European Conference, pages 431 456,
2003 (18 out of 108 accepted).
Martin Hirzel, Amer Diwan, and Matthew Hertz, Connectivity-Based Garbage Collection.
Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pages 359-
373, October 2003 (26 out of 147 accepted).
William Waite, Michele Jackson, and Amer Diwan, The Conversational Classroom. 34th
ACM Technical Symposium on Computer Science Education, 2003 (approx. 30% of submis-
sions were accepted).
Martin Hirzel, Johannes Henkel, Amer Diwan, and Michael Hind, Understanding the connec-
tivity of heap objects, International Symposium on Memory Management, 2002, pp. 36 49
(17 out of 41 accepted).
Jeffrey Palm, Han Lee, Amer Diwan, and J. Eliot B. Moss, When to use a compilation service,
LCTES/SCOPES 2002, pp. 194 203 (25 out of 73 accepted).
Martin Burtscher, Amer Diwan, and Matthias Hauswirth, Compiler support for load-value
prediction, ACM Conference on Programming Language Design and Implementation, 2002,
pp. 222 233 (28 out of 169 accepted).
Amer Diwan, William M. Waite, and Michele H. Jackson, An infrastructure for teaching skills
for group decision making and problem solving in programming projects, In 33rd ACM Tech-
Amer S. Diwan page 5
nical Symposium on Computer Science Education, 2002, pp. 276 280 (74 out of 234 ac-
cepted).
Michele Jackson, William M. Waite, and Amer Diwan, Group support tools as a scaffold for
developing group skills: desiring to be dispensable, Group decision and negotiation, 2001
(acceptance rate unknown).
Martin Hirzel and Amer Diwan, On the liveness accuracy of garbage collection, European
Conference on Object-Oriented Programming, 2001, pp. 181 206 (18 out of 108 accepted).
Martin Hirzel and Amer Diwan, On the type accuracy of garbage collection, International
Symposium on memory management, October 2000, Minneapolis, pp. 1 10 (18 out of 39
accepted).
Shih-Wei Liao, Amer Diwan, Robert P. Bosch Jr, Anwar Ghuloum, and Monica Lam, SUIF
Explorer: An interactive and interprocedural parallelizer, Principles and practices of parallel
programming, June 1999, pp. 37 48 (17 out of 79 accepted).
Amer Diwan, Kathryn McKinley, J. Eliot B. Moss, Type-Based Alias Analysis, 1998 ACM
Conference on Programming Language Design and Implementation, June 1998, Montreal,
pp. 106 117 (31 out of 136 accepted).
Amer Diwan, J. Eliot B. Moss, and Kathryn McKinley, Simple and effective analysis of
statically-typed object-oriented programs, 1996 ACM Conference on Object-Oriented Pro-
gramming Systems, Languages and Applications (26 papers out of 164 accepted Had the
highest ratings of the 164 papers submitted to the conference), pp. 292 305.
Amer Diwan, David Tarditi, and J. Eliot B. Moss, Memory subsystem performance of pro-
grams using copying garbage collection, Proceedings of the Symposium on Principles of Pro-
gramming Languages, January 1994, Portland, pp. 1 14 (39 out of 173 accepted).
Amer Diwan, J. Eliot B. Moss, and Richard L. Hudson, Compiler Support for Garbage Col-
lection in a Statically Typed Language, Proceedings of the ACM SIGPLAN Conference on
Programming Language Design and Implementation, June 1992, San Francisco, pp. 273 282
(30 out of 150 accepted).
Invited papers
Amer Diwan, The Whole Program Optimizer, Threads (Modula-3 Newsletter), October 1995.
Workshop papers and technical reports
Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, Peter F. Sweeney. We have it easy, but
do we have it right? NGS workshop at IPDPS 2008.
Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, Peter F. Sweeney. Understanding Mea-
surement Perturbation in Trace-based Data. NGS workshop at IPDPS 2007: 1-6
Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, and Peter F. Sweeney. Aligning traces
for performance evaluation. Next generation systems workshop (NGS) 2006.
Amer S. Diwan page 6
Peter F. Sweeney, Matthias Hauswirth, Amer Diwan, Marina Biberstein, and Yuval Harel.
Understanding performance of multi-core systems using trace-based visualizations. STMCS:
First Workshop on Software Tools for Multi-Core Systems 2006.
Peter F. Sweeney, Matthias Hauswirth, and Amer Diwan. Vertical Pro ling: Evaluating Com-
puter Architectures using Commercial Applications. Ninth Workshop on Computer Architec-
ture Evaluation using Commercial Workloads 2006.
Matthias Hauswirth and Amer Diwan. Phases in branch targets of Java programs. University
of Colorado Technical Report CU-CS-983-04
Matthias Hauswirth, Peter Sweeney, Amer Diwan, and Michael Hind, A case for vertical
pro ling. 2nd Workshop on Managed Runtime Environments, 2004.
Johannes Henkel and Amer Diwan, Case Study: Debugging a Discovered Speci cation for
java.util.ArrayList by Using Algebraic Interpretation. University of Colorado at Boulder, De-
partment of Computer Science Technical Report CU-CS-970-04, 2004.
Martin Hirzel, Harold Gabow, and Amer Diwan, Choosing a set of partitions to collect in a
connectivity-based garbage collector. University of Colorado Technical report CU-CS-958-03
Amer Diwan, Han Lee, Dirk Grunwald, and Keith Farkas, Energy consumption and garbage
collection in low-powered computing, University of Colorado Technical report CU-CS-930-
02.
Nathaniel Nystrom, Antony L. Hosking, David Whitlock, Quintin Cutts and Amer Diwan, Par-
tial redundancy elimination for access path expressions, International Workshop on Aliasing
in Object-Oriented Systems (Lisbon, Portugal, June 1999).
David Heine and Amer Diwan, A SUIF interface to alias analysis results, Second SUIF com-
piler workshop, August 1997.
Amer Diwan, Goals and design of the whole program optimizer, Mid-Atlantic student work-
shop on programming languages and systems, April 1996.
David Tarditi and Amer Diwan, The full cost of a copying garbage collection implementation,
ACM OOPSLA 93 Workshop on Garbage Collection, Washington, DC, September 1993.
Richard L. Hudson, J. Eliot B. Moss, Amer Diwan, and Christopher Weight, A language-
independent garbage collector toolkit, University of Massachusetts, Department of Computer
and Information Science, Technical Report COINS TR 91 47, September 1991.
Amer Diwan, Stack tracing in a statically typed language, ACM OOPSLA 91 Workshop on
Garbage Collection, Phoenix, AZ, October 1991.
Richard L. Hudson, Amer Diwan, Adaptive garbage collection for Modula-3 and Smalltalk,
OOPSLA 90 Workshop on Garbage Collection, Ottawa, Ontario, Canada, October 1990.
Papers Under Review
Christoph Reichenbach, Devin Coughlin, and Amer Diwan. Program Metamorphosis. Sub-
mitted for conference publication.
Amer S. Diwan page 7
Todd Mytkowicz, Elizabeth Bradley, and Amer Diwan. Chaos in computer systems. Submitted
for journal publication.
R ESEARCH A RTIFACTS
PL-Detective, a system for teaching programming language concepts. Developed in collab-
oration with William Waite and Michele Jackson. Currently being considered by Addison-
Wesley for bundling with their Programming Languages text. Available as open-source
software under GPL.
Performance Explorer, a system for visualizing and understanding the performance of appli-
cations. Developed in collaboration with Matthias Hauswirth, Peter Sweeney, and Michael
Hind. Already in use by many groups inside IBM. Available as open-source software (bun-
dled with Jikes RVM, a research virtual machine from IBM.
gcSim, a system for simulating garbage collectors. Developed in collaboration with Martin
Hirzel. Available as open-source software under GPL.
R ESEARCH E XPERIENCE
University of Colorado at Boulder August 1999 present
A SSISTANT P ROFESSOR - Served on several M.S. and PhD thesis committees. Supervised
six PhD students. Three of them have received PhDs, fourth one is due to defend in Summer
2005, and remaining two are about to propose.
Stanford University November 1996 August 1999
SUIF Compiler Group
E NGINEERING R ESEARCH A SSOCIATE - Conducted research on pointer analysis, program
slicing techniques, and interactive parallelization. Wrote research reports for funding agencies
and presented talks at site visits.
University of Massachusetts Fall 1993 Fall 1996
Object Systems Laboratory
R ESEARCH A SSISTANT - Conducted research on improving the performance of object-oriented
programs on modern processors. Designed and built the whole program optimizer, a testbed
for experimenting with whole program optimizations. Helped to write grant proposals and
gave talks to funding sponsors.
Carnegie Mellon University Fall 1992 Spring 1993
Fox Project
V ISITING SCHOLAR - Conducted performance evaluation of programs compiled with the
Standard ML of NJ compiler. Measured the memory system impact of garbage collection
on current processors and demonstrated that garbage collection performs well given the right
memory system features. Designed and implemented a system for tracing arbitrary events in
programs and used it to measure the full cost of a memory management implementation.
University of Massachusetts Fall 1989 Spring 1992
Object Systems Laboratory
R ESEARCH A SSISTANT - Designed and implemented compiler techniques to allow accurate
Amer S. Diwan page 8
garbage collection without restricting compiler optimizations. Participated in design and im-
plementation of the GC Toolkit, a language-independent toolkit for building garbage collec-
tors. Also implemented garbage collection, exception handling, and many other language
features for the GNU Modula-3 compiler.
Middlebury College Fall 1989 Summer 1989
Department of Mathematics and Computer Science
P ROGRAMMER - Designed and developed an in nite-precision arithmetic package for use in
number theory research. Designed and implemented a translator for converting between two
word-processor formats.
T EACHING E XPERIENCE
University of Colorado at Boulder Fall 1999 present
A SSISTANT P ROFESSOR - Taught graduate level programming languages course four times.
Led a graduate-level seminar on program analysis and one on programmer productivity tools.
Taught an undergraduate level programming languages course ve times.
Stanford University Winter 1998
Department of Computer Science
I NSTRUCTOR - Taught advanced compiler course to undergraduate and graduate students. The
course was broadcast via the web and local television network to many high-tech companies.
University of Massachusetts Spring 1992
Department of Computer Science
I NSTRUCTOR - Taught senior-level undergraduate programming languages course. Responsi-
bilities included designing a syllabus, selecting teaching materials, preparing assignments and
exams, and grading.
S ERVICE T O D EPARTMENT
Maintain (and developed) resources (software and data) for graduate admissions
Member of Graduate Committee from Spring 2000 to Spring 2004 and then again from Fall
2008 onwards
Undergraduate advisor (for sophomores and juniors at different times)
Executive committee from Fall 2008 onwards
In charge (along with Leysia Palen) of recruiting PhD students for Fall 2001
S ERVICE T O C OMMUNITY
Program chair for PLDI 2009, ISMM 2004, VPW 2004 (co-chair), and VPW 2003 (co-
chair)
Program committee for STMCS 2009, PACT 2005, SPACE 2004, PLDI 2003, PLDI 2000,
and OOPSLA 1997
General chair for Second SUIF Compiler Workshop, 1997
Reviewer for the numerous conferences and journals including: OOPSLA, PLDI, ASPLOS,
POPL, ISMM, Supercomputing, JACM, IJPP, TOPLAS.
Reviewer for two major texts in the programming languages area (Sebesta from Addison
Wesley and Tucker from Prentice Hall).
Amer S. Diwan page 9
C URRENT ADVISEES
Christoph Reichenbach, PhD student
Dan Knights, PhD student (co-advised with Mike Mozer)
Devin Coughlin, PhD student
Todd Mytkowicz, PhD student
Travis Rupp-Greene, MS student
G RADUATED STUDENTS
Daniel von Dincklage, PhD. Thesis: Algorithmic Optimizations. November 2007. Em-
ployed at Google.
Matthias Hauswirth, PhD. Thesis: Understanding program performance using temporal
vertical pro les. April 2005. Employed at Universit della Svizzera Italiana.
Han Lee, PhD. Thesis: Improving performance of mobile programs via a compilation ser-
vice. August 2004. Employed at Intel.
Martin Hirzel, PhD. Thesis: Connectivity-based garbage collection. July 2004. Nominated
for distinguished dissertation award. Employed at IBM TJ Watson Research Center.
Johannes Henkel, PhD. Thesis: Discovering and debugging algebraic speci cations for
java classes. May 2004. Employed at Google.
C OLLABORATORS
I m only listing collaborators with whom I ve authored a paper or a grant proposal in the last
5 years.
IBM Research: Michael Hind and Peter Sweeney.
Purdue University: Antony Hosking.
University of Colorado: Michele Jackson, Mike Mozer, Elizabeth Bradley, and William M.
Waite.
University of Massachusetts: Eliot Moss, Chip Weems.
University of Texas at Austin: Kathryn McKinley.
University of New Mexico: Darko Stefanovic.
G RANTS AND G IFTS
NSF CSR SMA: Validating Architectural Simulators Using Non-Linear Dynamics Tech-
niques. 3 year grant awarded in 2007 for a total of $280,000 shared with Elizabeth Bradley.
NSF ST-CRTS: Collaborative Research: Algorithmic Optimizations in Dynamic Program-
ming Environments. 3-year grant awarded in 2006 for a total of $400,000. Amer s share is
half. PIs: Amer Diwan and Darko Stefanovic (UNM).
NSF Computer Systems/SMA: Understanding the performance of modern systems. 4-year
grant awarded in 2005 for a total of $400,000. Amer s share is slightly more than half. PIs:
Amer Diwan, Michael Mozer, and Peter Sweeney.
Amer S. Diwan page 10
NSF CAREER: Compiler and run-time system support for modern hardware. 5-year grant
awarded in 2001 for a total of $375,000. PI: Amer Diwan
NSF CISE Educational Innovation: A tool-supported programming languages curriculum.
PIs: William M. Waite, Amer Diwan, and Michele Jackson. 3-year grant awarded in 2000
for a total of $328,989 (shared with my collaborators).
NSF ITR/SW: Dynamic cooperative performance optimizations. PIs: Eliot Moss, Amer
Diwan, Tony Hosking, Kathryn McKinley, Darko Stefanovic, and Chip Weems. 5-year
grant awarded in 2001 for a total of approximately 3M (University of Colorado share is
$402,670 for which I am sole PI).
IBM: Awarded faculty partnership award thrice (2001, 2002, 2004) totalling approximately
$40000 for each award. PI: Amer Diwan
Microsoft: Two gifts totalling approximately $37000. PIs: Amer Diwan and Dirk Grun-
wald.
Intel: Equipment grant (2 Pentium-IV workstations), part of a larger award with collabora-
tor, Dan Connors.
Intel: $60,000 gifts (over two years) to be shared with my collaborator, Martin Burtscher.
Intel: $36,000 gift. PI: Amer Diwan.
Keynote at 2008 IEEE International Symposium on Workload Characterization.
H ONORS
IBM Faculty partnership award, 2001, 2002, 2004
Distinguished paper award, ICSE 2004
Nominated for the Sullivan-Carlson Teaching Award, 2004.
Bachelor s degree Summa Cum Laude, Phi Beta Kappa, Highest honors