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 |