1. A methodology for controlling the size of a test suite, ACM TOSEM, 1993. [Citations: 367]
  2. An approach to regression testing using slicing, ICSM, 1992. [Citations: 201]
  3. ABCD: eliminating array bounds checks on demand, PLDI, 2000. [Citations: 192]
  4. Complete removal of redundant expressions (computations), PLDI, 1998/2004. [Citations: 112 (+35)]
  5. The fuzzy barrier: a mechanism for high speed synchronization of processors,
    ASPLOS, 1989.
    [Citations: 137]
  6. Region scheduling: an approach for detecting and redistributing parallelism,
    IEEE TSE, 1990.
    [Citations: 128]
  7. Optimizing array bound checks using flow analysis, LOPLAS, 1993. [Citations: 123]
  8. A practical data flow framework for array reference analysis and its use in optimizations,
    PLDI, 1993.
    [Citations: 112]
  9. Demand-driven computation of interprocedural data flow, POPL, 1995. [Citations: 111]
  10. Frequent value locality and value-centric data cache design, ASPLOS, 2000. [Citations: 105]
  11. Distributed Control Protocols for Wavelength Reservation and their Performance Evaluation,
    Photonic Network Communications, 1999.
    [Citations: 104]
  12. Precise dynamic slicing algorithms, ICSE, 2003. [Citations: 103]
  13. Frequent value compression in data caches, MICRO, 2000. [Citations: 87]
  14. A fresh look at optimizing array bound checking, PLDI, 1990. [Citations: 86]
  15. Cost effective dynamic program slicing, PLDI, 2004. [Citations: 86]
  16. Interprocedural conditional branch elimination, PLDI, 1997. [Citations: 85]
  17. Locating faults through automated predicate switching, ICSE, 2006. [Citations: 85]
  18. Profile guided selection of ARM and thumb instructions, LCTES, 2002. [Citations: 83]
  19. Locating faulty code using failure-inducing chops, ASE, 2005. [Citations: 81]
  20. Path profile guided partial redundancy elimination using speculation, ICCL, 1998. [Citatons: 80]
  21. Refining data flow information using infeasible paths, FSE, 1997. [Citations: 77]
  22. A practical framework for demand-driven interprocedural data flow analysis,
    TOPLAS, 1997.
    [Citations: 76]
  23. Optimizing static power dissipation by functional units in superscalar processors, CC, 2002. [Citations: 75]
  24. Program slicing-based regression testing techniques, JSTVR, 1996. [Citations: 73]
  25. Rigorous data flow testing through output influences, Irvine Software Symposium, 1992. [Citations: 72]
  26. Energy efficient Frequent Value data Cache design, MICRO, 2002. [Citations: 71]
  27. Path profile guided partial dead code elimination using predication, PACT, 1997. [Citations: 64]
  28. Load-reuse analysis: design and evaluation, PLDI, 1999. [Citations: 64]
  29. Automatic generation of microarchitecture simulators, ICCL, 1998. [Citations: 63]
  30. URSA: A Unified ReSource Allocation for Registers and Functional Units in VLIW Architectures,
    PACT, 1993.
    [Citations: 61]
  31. Experimental Evaluation of Using Dynamic Slices for Fault Location, AADEBUG, 2005. [Citations: 59]
  32. Pruning dynamic slices with confidence, PLDI, 2006. [Citations: 59]
  33. Frequent value locality and its applications, ACM TECS, 2002. [Citations: 58]
  34. Hiding program slices for software security, CGO, 2003. [Citations: 54]
  35. Efficient forward computation of dynamic slices using reduced ordered binary decision diagrams,
    ICSE, 2004.
    [Citations: 53]
  36. Data Compression Transformations for Dynamically Allocated Data Structures, CC, 2002. [Citations: 52]
  37. Distributed Slicing and Partial Re-execution for Distributed Programs, LCPC, 1992. [Citations: 52]
  38. Register allocation via clique separators, PLDI, 1989. [Citations: 52]
  39. A scalable implementation of barrier synchronization using an adaptive combining tree, IJPP, 1989. [Citations: 51]
  40. Global context-based value prediction, HPCA, 1999. [Citations: 50]
  41. Timestamped whole program path representation and its applications, PLDI, 2001. [Citations: 49]
  42. Applying compiler techniques to scheduling in real-time systems, RTSS, 1990. [Citations: 48]
  43. Generalized dominators and post-dominators, POPL, 1992. [Citations: 47]
  44. Partial dead code elimination using slicing transformations, PLDI, 1997. [Citations: 46]
  45. Hybrid slicing: Integrating dynamic information with static analysis, TOSEM, 1997. [Citations: 45]
  46. Fault Location Using Value Replacement, ISSTA, 2008. [Citations: 44]
  47. Copy or Discard Execution Model for Speculative Parallelization on Multicores, MICRO, 2008. [Citations: 42]
  48. Resource spackling: A framework for integrating register allocation in local and global schedulers,
    PACT, 1994.
    [Citations: 41]
  49. Compilation techniques for optimizing communication on distributed-memory systems, ICPP, 1993. [Citations: 41]
  50. Compilation techniques for parallel systems, Parallel Computing, 1999. [Citations: 41]
  51. Value prediction in VLIW machines, ISCA, 1999. [Citations: 41]
  52. Load and store reuse using register file contents, ICS, 2001. [Citations: 40]
  53. Hybrid slicing: an approach for refining static slices using dynamic information, FSE, 1995. [Citations: 40]
  54. SENSS: Security enhancement to symmetric shared memory multiprocessors, HPCA, 2005. [Citations: 39]
  55. Reducing the Cost of Data-Flow Analysis by Congruence Partitioning, CC, 1994. [Citations: 36]
  56. Distributed path reservation algorithms for multiplexed all-optical interconnection networks,
    IEEE TC, 1999.
    [Citations: 36]
  57. Efficient register allocation via coloring using clique separators, TOPLAS, 1994. [Citations: 35]
  58. Whole execution traces, MICRO, 2004. [Citations: 35]
  59. Load redundancy removal through instruction reuse, ICPP, 2000. [Citations: 35]
  60. Region Scheduling, 2nd International Conference on Supercomputing, 1987. [Citations: 35]
  61. Resource-sensitive profile-directed data flow analysis for code optimization, MICRO, 1997. [Citations: 33]
  62. Matching execution histories of program versions, ESEC/FSE, 2005. [Citations: 32]
  63. FV Encoding for low-power data I/O, ISLPED, 2001. [Citations: 32]
  64. Comparison Checking: An approach to avoid debugging of optimized code, ESEC/FSE, 1999. [Citations: 32]
  65. Distributed Path Reservation Algorithms for Multiplexed All-Optical Interconnection Networks, HPCA, 1997. [Citations: 31]
  66. Frequent Value Encoding for Low Power Data Buses, ACM TODAES, 2004. [Citations: 31]
  67. Integrated instruction scheduling and register allocation techniques, LCPC, 1998. [Citations: 31]
  68. Superscalar Execution with Dynamic Data Forwarding, PACT, 1998. [Citations: 30]
  69. Bitwidth Aware Global Register Allocation, POPL, 2003. [Citations: 29]
  70. High Speed Synchronization of Processors Using Fuzzy Barriers, IJPP, 1990. [Citations: 29]
  71. Dynamic Slicing Long Running Programs Through Execution Fast Forwarding, FSE, 2006. [Citations: 27]
  72. Register Pressure Sensitive Redundancy Elimination, CC, 2004. [Citations: 27]
  73. Dynamic Memory Disambiguation in the Presence of Out-of-order Store Issuing, MICRO, 1999. [Citations: 26]