20.1K(top 1%)
papers
143.7K(top 1%)
citations
132(top 1%)
h-index
249(top 1%)
g-index
32.9K
all documents
6.2K
doc citations
Top Articles
# | Title | Journal | Year | Citations |
---|---|---|---|---|
1 | The Byzantine Generals Problem | ACM Transactions on Programming Languages and Systems | 1982 | 4,124 |
2 | Automatic verification of finite-state concurrent systems using temporal logic specifications | ACM Transactions on Programming Languages and Systems | 1986 | 2,574 |
3 | Linearizability: a correctness condition for concurrent objects | ACM Transactions on Programming Languages and Systems | 1990 | 2,140 |
4 | The program dependence graph and its use in optimization | ACM Transactions on Programming Languages and Systems | 1987 | 1,989 |
5 | Virtual time | ACM Transactions on Programming Languages and Systems | 1985 | 1,928 |
6 | Generative communication in Linda | ACM Transactions on Programming Languages and Systems | 1985 | 1,606 |
7 | Efficiently computing static single assignment form and the control dependence graph | ACM Transactions on Programming Languages and Systems | 1991 | 1,578 |
8 | Wait-free synchronization | ACM Transactions on Programming Languages and Systems | 1991 | 1,312 |
9 | The temporal logic of actions | ACM Transactions on Programming Languages and Systems | 1994 | 1,152 |
10 | Interprocedural slicing using dependence graphs | ACM Transactions on Programming Languages and Systems | 1990 | 1,134 |
11 | Usability Analysis of Visual Programming Environments: A ‘Cognitive Dimensions’ Framework | Journal of Visual Languages and Computing | 1996 | 900 |
12 | A Distributed Algorithm for Minimum-Weight Spanning Trees | ACM Transactions on Programming Languages and Systems | 1983 | 855 |
13 | Model checking and abstraction | ACM Transactions on Programming Languages and Systems | 1994 | 828 |
14 | MULTILISP: a language for concurrent symbolic computation | ACM Transactions on Programming Languages and Systems | 1985 | 821 |
15 | A behavioral notion of subtyping | ACM Transactions on Programming Languages and Systems | 1994 | 789 |
16 | Featherweight Java | ACM Transactions on Programming Languages and Systems | 2001 | 672 |
17 | Simplification by Cooperating Decision Procedures | ACM Transactions on Programming Languages and Systems | 1979 | 655 |
18 | An Efficient Unification Algorithm | ACM Transactions on Programming Languages and Systems | 1982 | 591 |
19 | Register allocation via coloring | Computer Languages, Systems and Structures | 1981 | 582 |
20 | Parametric shape analysis via 3-valued logic | ACM Transactions on Programming Languages and Systems | 2002 | 553 |
21 | Automatic translation of FORTRAN programs to vector form | ACM Transactions on Programming Languages and Systems | 1987 | 540 |
22 | A Meta-Study of Algorithm Visualization Effectiveness | Journal of Visual Languages and Computing | 2002 | 503 |
23 | The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory | ACM Transactions on Programming Languages and Systems | 1981 | 480 |
24 | A fast algorithm for finding dominators in a flowgraph | ACM Transactions on Programming Languages and Systems | 1979 | 462 |
25 | Proving Liveness Properties of Concurrent Programs | ACM Transactions on Programming Languages and Systems | 1982 | 437 |
26 | Tentative steps toward a development method for interfering programs | ACM Transactions on Programming Languages and Systems | 1983 | 427 |
27 | Specifying Concurrent Program Modules | ACM Transactions on Programming Languages and Systems | 1983 | 426 |
28 | Protocol specifications and component adaptors | ACM Transactions on Programming Languages and Systems | 1997 | 424 |
29 | Constant propagation with conditional branches | ACM Transactions on Programming Languages and Systems | 1991 | 416 |
30 | Layout Adjustment and the Mental Map | Journal of Visual Languages and Computing | 1995 | 413 |
31 | A calculus for access control in distributed systems | ACM Transactions on Programming Languages and Systems | 1993 | 407 |
32 | Improving data locality with loop transformations | ACM Transactions on Programming Languages and Systems | 1996 | 407 |
33 | The concurrency workbench | ACM Transactions on Programming Languages and Systems | 1993 | 406 |
34 | Guardians and Actions: Linguistic Support for Robust, Distributed Programs | ACM Transactions on Programming Languages and Systems | 1983 | 404 |
35 | Ten Years of Hoare's Logic: A Survey—Part I | ACM Transactions on Programming Languages and Systems | 1981 | 393 |
36 | Model checking and modular verification | ACM Transactions on Programming Languages and Systems | 1994 | 392 |
37 | A Deductive Approach to Program Synthesis | ACM Transactions on Programming Languages and Systems | 1980 | 387 |
38 | From system F to typed assembly language | ACM Transactions on Programming Languages and Systems | 1999 | 384 |
39 | The CLP( ℛ ) language and system | ACM Transactions on Programming Languages and Systems | 1992 | 367 |
40 | Kleene algebra with tests | ACM Transactions on Programming Languages and Systems | 1997 | 359 |
41 | Synthesis of Communicating Processes from Temporal Logic Specifications | ACM Transactions on Programming Languages and Systems | 1984 | 355 |
42 | Qualitative spatial reasoning about distances and directions in geographic space | Journal of Visual Languages and Computing | 1992 | 329 |
43 | Composing specifications | ACM Transactions on Programming Languages and Systems | 1993 | 326 |
44 | Exploratory spatio-temporal visualization: an analytical review | Journal of Visual Languages and Computing | 2003 | 326 |
45 | Conjoining specifications | ACM Transactions on Programming Languages and Systems | 1995 | 325 |
46 | What are race conditions? | ACM Transactions on Programming Languages and Systems | 1992 | 322 |
47 | Taxonomies of visual programming and program visualization | Journal of Visual Languages and Computing | 1990 | 321 |
48 | Efficient and correct execution of parallel programs that share memory | ACM Transactions on Programming Languages and Systems | 1988 | 320 |
49 | The drinking philosophers problem | ACM Transactions on Programming Languages and Systems | 1984 | 313 |
50 | A Principled Taxonomy of Software Visualization | Journal of Visual Languages and Computing | 1993 | 312 |
51 | Abstract types have existential type | ACM Transactions on Programming Languages and Systems | 1988 | 305 |
52 | Integrating noninterfering versions of programs | ACM Transactions on Programming Languages and Systems | 1989 | 294 |
53 | Improvements to graph coloring register allocation | ACM Transactions on Programming Languages and Systems | 1994 | 291 |
54 | A methodology for implementing highly concurrent data objects | ACM Transactions on Programming Languages and Systems | 1993 | 288 |
55 | Ultracomputers | ACM Transactions on Programming Languages and Systems | 1980 | 286 |
56 | A Proof System for Communicating Sequential Processes | ACM Transactions on Programming Languages and Systems | 1980 | 270 |
57 | Optimally profiling and tracing programs | ACM Transactions on Programming Languages and Systems | 1994 | 269 |
58 | Combinators for bidirectional tree transformations | ACM Transactions on Programming Languages and Systems | 2007 | 268 |
59 | Subtyping recursive types | ACM Transactions on Programming Languages and Systems | 1993 | 264 |
60 | I-structures: data structures for parallel computing | ACM Transactions on Programming Languages and Systems | 1989 | 263 |
61 | The concept of a supercompiler | ACM Transactions on Programming Languages and Systems | 1986 | 261 |
62 | The priority-based coloring approach to register allocation | ACM Transactions on Programming Languages and Systems | 1990 | 261 |
63 | Linear scan register allocation | ACM Transactions on Programming Languages and Systems | 1999 | 261 |
64 | Abstract interpretation of reactive systems | ACM Transactions on Programming Languages and Systems | 1997 | 260 |
65 | CCured: type-safe retrofitting of legacy software | ACM Transactions on Programming Languages and Systems | 2005 | 260 |
66 | Visual Query Systems for Databases: A Survey | Journal of Visual Languages and Computing | 1997 | 253 |
67 | Model-driven engineering: A survey supported by the unified conceptual model | Computer Languages, Systems and Structures | 2015 | 252 |
68 | PARLOG: parallel programming in logic | ACM Transactions on Programming Languages and Systems | 1986 | 251 |
69 | Query Processing in Spatial-Query-by-Sketch | Journal of Visual Languages and Computing | 1997 | 248 |
70 | Undecidability of static analysis | ACM Transactions on Programming Languages and Systems | 1992 | 247 |
71 | Finite Differencing of Computable Expressions | ACM Transactions on Programming Languages and Systems | 1982 | 241 |
72 | Reasoning about naming systems | ACM Transactions on Programming Languages and Systems | 1993 | 239 |
73 | Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential Processors | ACM Transactions on Programming Languages and Systems | 1983 | 238 |
74 | Herding Cats | ACM Transactions on Programming Languages and Systems | 2014 | 238 |
75 | Computational methods for modeling facial aging: A survey | Journal of Visual Languages and Computing | 2009 | 235 |
76 | Code generation using tree matching and dynamic programming | ACM Transactions on Programming Languages and Systems | 1989 | 233 |
77 | Pad++: A Zoomable Graphical Sketchpad For Exploring Alternate Interface Physics | Journal of Visual Languages and Computing | 1996 | 232 |
78 | The Hyperbolic Browser: A Focus+Context Technique for Visualizing Large Hierarchies | Journal of Visual Languages and Computing | 1996 | 232 |
79 | Solving shape-analysis problems in languages with destructive updating | ACM Transactions on Programming Languages and Systems | 1998 | 230 |
80 | Supporting dynamic data structures on distributed-memory machines | ACM Transactions on Programming Languages and Systems | 1995 | 227 |
81 | Postpass Code Optimization of Pipeline Constraints | ACM Transactions on Programming Languages and Systems | 1983 | 224 |
82 | An indexed model of recursive types for foundational proof-carrying code | ACM Transactions on Programming Languages and Systems | 2001 | 222 |
83 | Distributed cooperation with action systems | ACM Transactions on Programming Languages and Systems | 1988 | 218 |
84 | REPORTING THAT IN TRANSLATED ENGLISH. EVIDENCE FOR SUBCONSCIOUS PROCESSES OF EXPLICITATION? | Across Languages and Cultures | 2000 | 218 |
85 | Incremental Context-Dependent Analysis for Language-Based Editors | ACM Transactions on Programming Languages and Systems | 1983 | 216 |
86 | The specification statement | ACM Transactions on Programming Languages and Systems | 1988 | 214 |
87 | Using Time Instead of Timeout for Fault-Tolerant Distributed Systems. | ACM Transactions on Programming Languages and Systems | 1984 | 213 |
88 | Program Synthesis | Foundations and Trends in Programming Languages | 2017 | 213 |
89 | Probabilistic predicate transformers | ACM Transactions on Programming Languages and Systems | 1996 | 210 |
90 | A generalization of Dijkstra's calculus | ACM Transactions on Programming Languages and Systems | 1989 | 208 |
91 | Distributed Termination | ACM Transactions on Programming Languages and Systems | 1980 | 206 |
92 | Reasoning about Cardinal Directions | Journal of Visual Languages and Computing | 1998 | 206 |
93 | Cache miss equations | ACM Transactions on Programming Languages and Systems | 1999 | 206 |
94 | Context-sensitive synchronization-sensitive analysis is undecidable | ACM Transactions on Programming Languages and Systems | 2000 | 205 |
95 | The undecidability of aliasing | ACM Transactions on Programming Languages and Systems | 1994 | 204 |
96 | Dynamic typing in a statically typed language | ACM Transactions on Programming Languages and Systems | 1991 | 201 |
97 | Formalizing the Design, Evaluation, and Application of Interaction Techniques for Immersive Virtual Environments | Journal of Visual Languages and Computing | 1999 | 200 |
98 | Iterated register coalescing | ACM Transactions on Programming Languages and Systems | 1996 | 197 |
99 | Information flow inference for ML | ACM Transactions on Programming Languages and Systems | 2003 | 192 |
100 | Compiler techniques for code compaction | ACM Transactions on Programming Languages and Systems | 2000 | 191 |