| 2009 | ||
|---|---|---|
| 71 | Nathaniel Ayewah, William Pugh: Learning from defect removals. MSR 2009: 179-182 | |
| 2008 | ||
| 70 | Nathaniel Ayewah, William Pugh: A report on a survey and study of static analysis users. DEFECTS 2008: 1-5 | |
| 69 | Joseph Gil, William Pugh, Grant E. Weddell, Yoav Zibin: Two-dimensional bidirectional object layout. ACM Trans. Program. Lang. Syst. 30(5): (2008) | |
| 68 | 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 | William Pugh, Nathaniel Ayewah: Unit testing concurrent software. ASE 2007: 513-516 | |
| 66 | David Hovemeyer, William Pugh: Status report on JSR-305: annotations for software defect detection. OOPSLA Companion 2007: 799-800 | |
| 65 | Nathaniel Ayewah, William Pugh, J. David Morgenthaler, John Penix, YuQian Zhou: Using FindBugs on production software. OOPSLA Companion 2007: 805-806 | |
| 64 | Nathaniel Ayewah, William Pugh, J. David Morgenthaler, John Penix, YuQian Zhou: Evaluating static analysis defect warnings on production software. PASTE 2007: 1-8 | |
| 63 | Jeffrey S. Foster, Michael W. Hicks, William Pugh: Improving software quality with static analysis. PASTE 2007: 83-84 | |
| 62 | David Hovemeyer, William Pugh: Finding more null pointer bugs, but not too many. PASTE 2007: 9-14 | |
| 2006 | ||
| 61 | 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 | Jaime Spacco, David Hovemeyer, William Pugh: Tracking defect warnings across versions. MSR 2006: 133-136 | |
| 59 | Dan Grossman, Jeremy Manson, William Pugh: What do high-level memory models mean for transactions? Memory System Performance and Correctness 2006: 62-69 | |
| 58 | Jaime Spacco, William Pugh, Nathaniel Ayewah, David Hovemeyer: The Marmoset project: an automated snapshot, submission, and testing system. OOPSLA Companion 2006: 669-670 | |
| 57 | 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 | 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 | William Pugh: Keynote talk: Advice to bug hunters. AADEBUG 2005: 1-2 | |
| 53 | Jaime Spacco, Jaymie Strecker, David Hovemeyer, William Pugh: Software repository mining with Marmoset: an automated programming project snapshot and testing system. MSR 2005 | |
| 52 | David Hovemeyer, Jaime Spacco, William Pugh: Evaluating and tuning a static analysis to find null pointer bugs. PASTE 2005: 13-19 | |
| 51 | Jeremy Manson, William Pugh, Sarita V. Adve: The Java memory model. POPL 2005: 378-391 | |
| 50 | 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 | Jaime Spacco, David Hovemeyer, William Pugh: An Eclipse-based course project snapshot and submission system. ETX 2004: 52-56 | |
| 47 | David Hovemeyer, William Pugh: Finding bugs is easy. OOPSLA Companion 2004: 132-136 | |
| 46 | William Pugh, Jaime Spacco: RUBiS revisited: why J2EE benchmarking is hard. OOPSLA Companion 2004: 204-205 | |
| 45 | David Hovemeyer, William Pugh: Finding bugs is easy. SIGPLAN Notices 39(12): 92-106 (2004) | |
| 2003 | ||
| 44 | 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 | William Pugh, Jaime Spacco: MPJava: High-Performance Message Passing in Java Using Java.nio. LCPC 2003: 323-339 | |
| 2002 | ||
| 42 | 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 | Jeremy Manson, William Pugh: Core semantics of multithreaded Java. Java Grande 2001: 29-38 | |
| 39 | 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 | William Pugh: Fixing the Java Memory Model. Java Grande 1999: 89-98 | |
| 36 | William Pugh, Evan Rosser: Iteration Space Slicing for Locality. LCPC 1999: 164-184 | |
| 35 | William Pugh: Compressing Java Class Files. PLDI 1999: 247-258 | |
| 34 | 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 | William Pugh, Tatiana Shpeisman: SIPR: A New Framework for Generating Efficient Code for Sparse Matrix Computations. LCPC 1998: 213-229 | |
| 32 | 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 | William Pugh, Evan Rosser: Iteration Space Slicing and Its Application to Communication Optimization. International Conference on Supercomputing 1997: 221-228 | |
| 1996 | ||
| 29 | 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 | 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 | 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 | 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 | 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 | 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 | William Pugh: An Improved Replacement Strategy for Function Aaching. LISP and Functional Programming 1988: 269-276 | |