1. A methodology for controlling the size of a test suite, ACM TOSEM, 1993. [Citations: 248]
  2. An approach to regression testing using slicing, ICSM, 1992. [Citations: 179]
  3. Region scheduling: an approach for detecting and redistributing parallelism,
    IEEE TSE, 1990.
    [Citations: 169]
  4. ABCD: eliminating array bounds checks on demand, PLDI, 2000. [Citations: 158]
  5. Complete removal of redundant expressions (computations), PLDI, 1998. [Citations: 108 (+34)]
  6. The fuzzy barrier: a mechanism for high speed synchronization of processors,
    ASPLOS, 1989.
    [Citations: 114]
  7. Optimizing array bound checks using flow analysis, LOPLAS, 1993. [Citations: 112]
  8. Demand-driven computation of interprocedural data flow, POPL, 1995. [Citations: 109]
  9. A practical data flow framework for array reference analysis and its use in optimizations,
    PLDI, 1993.
    [Citations: 113]
  10. Frequent value locality and value-centric data cache design, ASPLOS, 2000. [Citations: 93]
  11. A fresh look at optimizing array bound checking, PLDI, 1990. [Citations: 84]
  12. Distributed Control Protocols for Wavelength Reservation and their Performance Evaluation,
    Photonic Network Communications, 1999.
    [Citations: 84]
  13. Interprocedural conditional branch elimination, PLDI, 1997. [Citations: 86]
  14. Frequent value compression in data caches, MICRO, 2000. [Citations: 76]
  15. Precise dynamic slicing algorithms, ICSE, 2003. [Citations: 77]
  16. Cost effective dynamic program slicing, PLDI, 2004. [Citations: 73]
  17. Profile guided selection of ARM and thumb instructions, LCTES, 2002. [Citations: 67]
  18. Path profile guided partial redundancy elimination using speculation, ICCL, 1998. [Citatons: 72]
  19. A practical framework for demand-driven interprocedural data flow analysis,
    TOPLAS, 1997.
    [Citations: 69]
  20. Rigorous data flow testing through output influences, Irvine Software Symposium, 1992. [Citations: 64]
  21. Path profile guided partial dead code elimination using predication, PACT, 1997. [Citations: 62]
  22. Refining data flow information using infeasible paths, FSE, 1997. [Citations: 56]
  23. Program slicing-based regression testing techniques, JSTVR, 1996. [Citations: 58]
  24. URSA: A Unified ReSource Allocation for Registers and Functional Units in VLIW Architectures,
    PACT, 1993.
    [Citations: 54]
  25. Energy efficient Frequent Value data Cache design, MICRO, 2002. [Citations: 54]
  26. Optimizing Static Power Dissipation by Functional Units in Superscalar Processors, CC, 2002. [Citations: 53]
  27. Automatic generation of microarchitecture simulators, ICCL, 1998. [Citations: 54]
  28. Distributed path reservation algorithms for multiplexed all-optical interconnection networks,
    IEEE TC, 1999.
    [Citations: 54]
  29. Locating faulty code using failure-inducing chops, ASE, 2005. [Citations: 53]
  30. Timestamped whole program path representation and its applications, PLDI, 2001. [Citations: 50]
  31. Global context-based value prediction, HPCA, 1999. [Citations: 50]
  32. Load-reuse analysis: design and evaluation, PLDI, 1999. [Citations: 57]
  33. Distributed Slicing and Partial Re-execution for Distributed Programs, LCPC, 1992. [Citations: 51]
  34. Locating faults through automated predicate switching, ICSE, 2006. [Citations: 50]
  35. Register allocation via clique separators, PLDI, 1989. [Citations: 47]
  36. Data Compression Transformations for Dynamically Allocated Data Structures, CC, 2002. [Citations: 45]
  37. Efficient forward computation of dynamic slices using reduced ordered binary decision diagrams,
    ICSE, 2004.
    [Citations: 47]
  38. Resource spackling: A framework for integrating register allocation in local and global schedulers,
    PACT, 1994.
    [Citations: 48]
  39. Frequent value locality and its applications, ACM TECS, 2002. [Citations: 47]
  40. Hiding program slices for software security, CGO, 2003. [Citations: 44]
  41. Experimental Evaluation of Using Dynamic Slices for Fault Location, AADEBUG, 2005. [Citations: 41]
  42. Hybrid slicing: Integrating dynamic information with static analysis, TOSEM, 1997. [Citations: 41]
  43. Partial dead code elimination using slicing transformations, PLDI, 1997. [Citations: 43]
  44. A scalable implementation of barrier synchronization using an adaptive combining tree, IJPP, 1989. [Citations: 40]
  45. Generalized dominators and post-dominators, POPL, 1992. [Citations: 38]
  46. Load and store reuse using register file contents, ICS, 2001. [Citations: 37]
  47. Hybrid slicing: an approach for refining static slices using dynamic information, FSE, 1995. [Citations: 39]
  48. Pruning dynamic slices with confidence, PLDI, 2006. [Citations: 37]
  49. Applying compiler techniques to scheduling in real-time systems, RTSS, 1990. [Citations: 38]
  50. Value prediction in VLIW machines, ISCA, 1999. [Citations: 36]
  51. Compilation techniques for optimizing communication on distributed-memory systems, ICPP, 1993. [Citations: 37]
  52. Efficient register allocation via coloring using clique separators, TOPLAS, 1994. [Citations: 36]