| 2008 |
| 70 | EE | Nathaniel Ayewah,
William Pugh:
A report on a survey and study of static analysis users.
DEFECTS 2008: 1-5 |
| 69 | EE | Joseph Gil,
William Pugh,
Grant E. Weddell,
Yoav Zibin:
Two-dimensional bidirectional object layout.
ACM Trans. Program. Lang. Syst. 30(5): (2008) |
| 68 | EE | Nathaniel Ayewah,
David Hovemeyer,
J. David Morgenthaler,
John Penix,
William Pugh:
Using Static Analysis to Find Bugs.
IEEE Software 25(5): 22-29 (2008) |
| 2007 |
| 67 | EE | William Pugh,
Nathaniel Ayewah:
Unit testing concurrent software.
ASE 2007: 513-516 |
| 66 | EE | David Hovemeyer,
William Pugh:
Status report on JSR-305: annotations for software defect detection.
OOPSLA Companion 2007: 799-800 |
| 65 | EE | Nathaniel Ayewah,
William Pugh,
J. David Morgenthaler,
John Penix,
YuQian Zhou:
Using FindBugs on production software.
OOPSLA Companion 2007: 805-806 |
| 64 | EE | Nathaniel Ayewah,
William Pugh,
J. David Morgenthaler,
John Penix,
YuQian Zhou:
Evaluating static analysis defect warnings on production software.
PASTE 2007: 1-8 |
| 63 | EE | Jeffrey S. Foster,
Michael W. Hicks,
William Pugh:
Improving software quality with static analysis.
PASTE 2007: 83-84 |
| 62 | EE | David Hovemeyer,
William Pugh:
Finding more null pointer bugs, but not too many.
PASTE 2007: 9-14 |
| 2006 |
| 61 | EE | Jaime Spacco,
David Hovemeyer,
William Pugh,
Fawzi Emad,
Jeffrey K. Hollingsworth,
Nelson Padua-Perez:
Experiences with marmoset: designing and using an advanced submission and testing system for programming courses.
ITiCSE 2006: 13-17 |
| 60 | EE | Jaime Spacco,
David Hovemeyer,
William Pugh:
Tracking defect warnings across versions.
MSR 2006: 133-136 |
| 59 | EE | Dan Grossman,
Jeremy Manson,
William Pugh:
What do high-level memory models mean for transactions?
Memory System Performance and Correctness 2006: 62-69 |
| 58 | EE | Jaime Spacco,
William Pugh,
Nathaniel Ayewah,
David Hovemeyer:
The Marmoset project: an automated snapshot, submission, and testing system.
OOPSLA Companion 2006: 669-670 |
| 57 | EE | Brian Cole,
Daniel Hakim,
David Hovemeyer,
Reuven Lazarus,
William Pugh,
Kristin Stephens:
Improving your software using static analysis to find bugs.
OOPSLA Companion 2006: 673-674 |
| 56 | EE | Jaime Spacco,
William Pugh:
Helping students appreciate test-driven development (TDD).
OOPSLA Companion 2006: 907-913 |
| 2005 |
| 55 | | William Pugh,
Chau-Wen Tseng:
Languages and Compilers for Parallel Computing, 15th Workshop, LCPC 2002, College Park, MD, USA, July 25-27, 2002, Revised Papers
Springer 2005 |
| 54 | EE | William Pugh:
Keynote talk: Advice to bug hunters.
AADEBUG 2005: 1-2 |
| 53 | EE | Jaime Spacco,
Jaymie Strecker,
David Hovemeyer,
William Pugh:
Software repository mining with Marmoset: an automated programming project snapshot and testing system.
MSR 2005 |
| 52 | EE | David Hovemeyer,
Jaime Spacco,
William Pugh:
Evaluating and tuning a static analysis to find null pointer bugs.
PASTE 2005: 13-19 |
| 51 | EE | Jeremy Manson,
William Pugh,
Sarita V. Adve:
The Java memory model.
POPL 2005: 378-391 |
| 50 | EE | Jaime Spacco,
Jaymie Strecker,
David Hovemeyer,
William Pugh:
Software repository mining with Marmoset: an automated programming project snapshot and testing system.
ACM SIGSOFT Software Engineering Notes 30(4): 1-5 (2005) |
| 2004 |
| 49 | | William Pugh,
Craig Chambers:
Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation 2004, Washington, DC, USA, June 9-11, 2004
ACM 2004 |
| 48 | EE | Jaime Spacco,
David Hovemeyer,
William Pugh:
An Eclipse-based course project snapshot and submission system.
ETX 2004: 52-56 |
| 47 | EE | David Hovemeyer,
William Pugh:
Finding bugs is easy.
OOPSLA Companion 2004: 132-136 |
| 46 | EE | William Pugh,
Jaime Spacco:
RUBiS revisited: why J2EE benchmarking is hard.
OOPSLA Companion 2004: 204-205 |
| 45 | EE | David Hovemeyer,
William Pugh:
Finding bugs is easy.
SIGPLAN Notices 39(12): 92-106 (2004) |
| 2003 |
| 44 | EE | Konstantin Berlin,
Jun Huan,
Mary Jacob,
Garima Kochhar,
Jan Prins,
William Pugh,
P. Sadayappan,
Jaime Spacco,
Chau-Wen Tseng:
Evaluating the Impact of Programming Language Features on the Performance of Parallel Applications on Cluster Architectures.
LCPC 2003: 194-208 |
| 43 | EE | William Pugh,
Jaime Spacco:
MPJava: High-Performance Message Passing in Java Using Java.nio.
LCPC 2003: 323-339 |
| 2002 |
| 42 | EE | David Hovemeyer,
William Pugh,
Jaime Spacco:
Atomic Instructions in Java.
ECOOP 2002: 133-154 |
| 2001 |
| 41 | | Samuel P. Midkiff,
José E. Moreira,
Manish Gupta,
Siddhartha Chatterjee,
Jeanne Ferrante,
Jan Prins,
William Pugh,
Chau-Wen Tseng:
Languages and Compilers for Parallel Computing, 13th International Workshop, LCPC 2000, Yorktown Heights, NY, USA, August 10-12, 2000, Revised Papers
Springer 2001 |
| 40 | EE | Jeremy Manson,
William Pugh:
Core semantics of multithreaded Java.
Java Grande 2001: 29-38 |
| 39 | EE | David Hovemeyer,
William Pugh:
More Efficient Network Class Loading Through Bundling.
Java Virtual Machine Research and Technology Symposium 2001: 127-140 |
| 2000 |
| 38 | | William Pugh:
The Java memory model is fatally flawed.
Concurrency - Practice and Experience 12(6): 445-455 (2000) |
| 1999 |
| 37 | EE | William Pugh:
Fixing the Java Memory Model.
Java Grande 1999: 89-98 |
| 36 | EE | William Pugh,
Evan Rosser:
Iteration Space Slicing for Locality.
LCPC 1999: 164-184 |
| 35 | EE | William Pugh:
Compressing Java Class Files.
PLDI 1999: 247-258 |
| 34 | EE | Tevfik Bultan,
Richard Gerber,
William Pugh:
Model-checking concurrent systems with unbounded integer variables: symbolic representations, approximations, and experimental results.
ACM Trans. Program. Lang. Syst. 21(4): 747-789 (1999) |
| 1998 |
| 33 | EE | William Pugh,
Tatiana Shpeisman:
SIPR: A New Framework for Generating Efficient Code for Sparse Matrix Computations.
LCPC 1998: 213-229 |
| 32 | EE | William Pugh,
David Wonnacott:
Constraint-Based Array Dependence Analysis.
ACM Trans. Program. Lang. Syst. 20(3): 635-678 (1998) |
| 1997 |
| 31 | | Tevfik Bultan,
Richard Gerber,
William Pugh:
Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic.
CAV 1997: 400-411 |
| 30 | EE | William Pugh,
Evan Rosser:
Iteration Space Slicing and Its Application to Communication Optimization.
International Conference on Supercomputing 1997: 221-228 |
| 1996 |
| 29 | EE | Wayne Kelly,
William Pugh:
Minimizing Communication While Preserving Parallelism.
International Conference on Supercomputing 1996: 52-60 |
| 28 | | William Pugh,
Evan Rosser,
Tatiana Shpeisman:
Exploiting Monotone Convergence Functions in Parallel Programs.
LCPC 1996: 75-85 |
| 1995 |
| 27 | | Wayne Kelly,
William Pugh,
Evan Rosser,
Tatiana Shpeisman:
Transitive Closure of Infinite Graphs and Its Applications.
LCPC 1995: 126-140 |
| 26 | | Thomas J. Sheffler,
Robert Schreiber,
William Pugh,
John R. Gilbert,
Siddhartha Chatterjee:
Efficient Distribution Analysis via Graph Contraction.
LCPC 1995: 377-391 |
| 25 | | Richard Gerber,
William Pugh,
Manas Saksena:
Parametric Dispatching of Hard Real-Time Tasks.
IEEE Trans. Computers 44(3): 471-479 (1995) |
| 24 | EE | William Pugh,
David Wonnacott:
Going Beyond Integer Programming with the Omega Test to Eliminate False Data Dependences.
IEEE Trans. Parallel Distrib. Syst. 6(2): 204-211 (1995) |
| 1994 |
| 23 | | Vadim Maslov,
William Pugh:
Simplifying Polynominal Constraints Over Integers to Make Dependence Analysis More Precise.
CONPAR 1994: 737-748 |
| 22 | | Wayne Kelly,
William Pugh:
Finding Legal Reordering Transformations Using Mappings.
LCPC 1994: 107-124 |
| 21 | | William Pugh:
Counting Solutions to Presburger Formulas: How and Why.
PLDI 1994: 121-134 |
| 20 | | William Pugh,
David Wonnacott:
Experiences with Constraint-based Array Dependence Analysis.
PPCP 1994: 312-325 |
| 19 | EE | William Pugh,
David Wonnacott:
Static Analysis of Upper and Lower Bounds on Dependences and Parallelism.
ACM Trans. Program. Lang. Syst. 16(4): 1248-1278 (1994) |
| 18 | EE | P. David Stotts,
William Pugh:
Parallel finite automata for modeling concurrent software systems.
Journal of Systems and Software 27(1): 27-43 (1994) |
| 17 | | Wayne Kelly,
William Pugh:
Selecting Affine Mappings Based on Performance Estimation.
Parallel Processing Letters 4: 205-219 (1994) |
| 1993 |
| 16 | | William Pugh,
David Wonnacott:
An Exact Method for Analysis of Value-based Array Data Dependences.
LCPC 1993: 546-566 |
| 15 | | Vivek Nirkhe,
William Pugh:
A Partial Evaluator for the Maruti Hard Real-Time System.
Real-Time Systems 5(1): 13-30 (1993) |
| 1992 |
| 14 | | William Pugh,
David Wonnacott:
Eliminating False Data Dependences using the Omega Test.
PLDI 1992: 140-151 |
| 13 | | Vivek Nirkhe,
William Pugh:
Partial Evaluation of High-Level Imperative Programming Languages, with Applications in Hard Real-Time Systems.
POPL 1992: 269-280 |
| 12 | | William Pugh:
A Practical Algorithm for Exact Array Dependence Analysis.
Commun. ACM 35(8): 102-114 (1992) |
| 11 | | William Pugh:
Definitions of Dependence Distance.
LOPLAS 1(3): 261-265 (1992) |
| 1991 |
| 10 | EE | William Pugh:
Uniform techniques for loop optimization.
ICS 1991: 341-352 |
| 9 | | William Pugh:
Advice to Authors of Extended Abstracts.
PLDI 1991: 353-356 |
| 8 | EE | William Pugh:
The Omega test: a fast and practical integer programming algorithm for dependence analysis.
SC 1991: 4-13 |
| 1990 |
| 7 | | William Pugh:
Probabilistic Analysis of Set Operations with Constant-Time Set Equality Test.
ICCI 1990: 62-71 |
| 6 | | William Pugh,
Grant E. Weddell:
Two-Directional Record Layout for Multiple Inheritance.
PLDI 1990: 85-91 |
| 5 | | William Pugh:
Skip Lists: A Probabilistic Alternative to Balanced Trees.
Commun. ACM 33(6): 668-676 (1990) |
| 4 | | William Pugh:
Slow Optimally Balanced Search Strategies VS. Cached Fast Uniformly Balanced Search Strategies.
Inf. Process. Lett. 34(5): 251-254 (1990) |
| 1989 |
| 3 | | William Pugh,
Tim Teitelbaum:
Incremental Computation via Function Caching.
POPL 1989: 315-328 |
| 2 | | William Pugh:
Skip Lists: A Probabilistic Alternative to Balanced Trees.
WADS 1989: 437-449 |
| 1988 |
| 1 | EE | William Pugh:
An Improved Replacement Strategy for Function Aaching.
LISP and Functional Programming 1988: 269-276 |