Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Wilson:1995:ECP,
author = "Robert P. Wilson and Monica S. Lam",
title = "Efficient context-sensitive pointer analysis for {C}
programs",
journal = j-SIGPLAN,
volume = "30",
number = "6",
pages = "1--12",
month = jun,
year = "1995",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu May 13 12:37:27 MDT 1999",
bibsource = "http://www.acm.org/pubs/contents/proceedings/pldi/207110/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/207110/p1-wilson/",
abstract = "This paper proposes an efficient technique for
context-sensitive pointer analysis that is applicable
to real C programs. For efficiency, we summarize the
effects of procedures using {\em partial transfer
functions\/}. A partial transfer function (PTF)
describes the behavior of a procedure assuming that
certain alias relationships hold when it is called. We
can reuse a PTF in many calling contexts as long as the
aliases among the inputs to the procedure are the same.
Our empirical results demonstrate that this technique
is successful---a single PTF per procedure is usually
sufficient to obtain completely context-sensitive
results. Because many C programs use features such as
type casts and pointer arithmetic to circumvent the
high-level type system, our algorithm is based on a
low-level representation of memory locations that
safely handles all the features of C. We have
implemented our algorithm in the SUIF compiler system
and we show that it runs efficiently for a set of C
benchmarks.",
acknowledgement = ack-nhfb,
affiliation = "Comput. Syst. Lab., Stanford Univ., CA, USA",
annote = "Published as part of the Proceedings of PLDI'95.",
classification = "C6140D (High level languages); C6150C (Compilers,
interpreters and other processors)",
keywords = "algorithms; Alias relationships; C benchmarks; C
programs; Compiler system; Context-sensitive pointer
analysis; High-level type system; languages; Memory
locations; Partial transfer functions; Pointer
arithmetic; Procedure call; SUIF; Type casts",
subject = "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
Classifications, C. {\bf D.3.3} Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Data types
and structures. {\bf D.3.4} Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf D.3.4} Software,
PROGRAMMING LANGUAGES, Processors, Optimization.",
thesaurus = "C language; Program compilers; Remote procedure
calls",
}
Related entries
- alias,
27(7)235,
27(7)249,
28(6)56,
29(6)230,
29(6)242,
29(6)242-1,
30(6)13,
30(6)13-1,
33(5)106,
33(7)27,
33(10)48
- applicable,
28(3)367,
29(6)147,
30(6)93,
30(6)205,
33(7)27
- arithmetic,
25(1)59,
25(6)92,
25(6)102,
25(6)112,
25(12)85,
27(1)95,
27(6)54,
27(7)128,
28(8)90,
29(4)49,
29(6)61,
29(6)326,
29(6)349,
29(6)349-1,
29(11)98,
30(6)186,
32(3)57,
33(5)118
- because,
25(6)66,
25(6)174,
25(6)234,
27(7)140,
27(7)152,
27(7)300,
28(3)69,
28(3)343,
28(3)347,
28(3)365,
28(6)1,
28(6)78-1,
28(6)156,
28(7)54-1,
29(6)13,
29(6)186,
29(6)290,
29(11)25,
29(11)145,
29(11)171,
29(11)252,
29(11)274,
30(6)103,
30(6)151,
30(6)218,
30(11)60
- behavior,
6(4)111,
6(4)159,
25(6)234,
26(6)59,
27(7)1,
27(7)12,
27(7)32,
27(7)55,
27(7)116,
28(3)69,
28(3)367,
28(3)369,
28(6)100,
28(7)44,
28(10)326,
28(10)326-1,
29(6)73,
29(11)61,
29(11)132-1,
29(11)145,
29(11)328,
30(3)35,
30(6)67,
30(6)79-1,
30(8)68,
30(11)20-1,
30(11)50,
30(11)70,
30(11)125,
32(10)1,
32(10)108,
33(7)27,
33(7)83,
33(11)12,
33(11)240,
34(7)35
- benchmark,
6(4)159,
25(12)54,
25(12)85,
26(4)28,
26(4)290,
27(7)44,
27(7)94,
27(7)106,
28(6)1,
28(6)258,
28(6)268,
28(7)102,
28(7)218,
28(7)249,
29(6)36,
29(6)49,
29(6)85,
29(6)171,
29(10)341,
29(11)86,
29(11)145,
29(11)196,
29(11)208,
29(11)232,
29(11)252,
29(11)286,
30(6)13,
30(6)139,
30(6)218,
30(6)270,
30(8)29,
30(8)144,
31(10)83,
32(5)109,
32(5)122,
32(5)183,
32(5)235,
32(5)346-1,
33(11)35,
33(11)58,
33(11)71,
33(11)159,
33(11)170,
33(11)218,
33(11)252,
33(11)262,
33(11)283,
34(3)68,
34(7)96
- called,
25(6)53,
25(12)85,
26(6)219,
27(7)116,
27(7)341,
27(9)262,
27(9)285,
28(2)21,
28(3)361,
28(3)367,
28(6)46,
28(6)90,
28(6)248,
28(7)23,
28(7)102,
28(7)112,
28(7)229,
29(6)85,
29(6)349,
29(6)349-1,
29(8)13,
29(11)158,
29(11)208,
29(11)274,
30(3)1,
30(6)32,
30(6)67,
30(8)39,
30(8)48,
30(11)70,
33(7)43
- calling,
28(3)359,
28(8)77,
28(8)77-1,
29(4)49,
29(6)49,
29(6)242,
29(6)242-1,
30(8)217,
31(5)249,
34(8)60,
34(9)114
- certain,
25(1)59,
25(6)1,
26(6)145,
27(7)283,
28(7)54-1,
29(8)46,
29(8)74,
29(11)38,
30(8)144,
34(9)82
- completely,
28(7)208
- context,
24(3)34,
26(4)28,
26(4)75,
27(4)77,
27(7)22,
27(7)311,
28(6)156,
28(7)23,
28(7)187,
29(6)24,
29(6)218,
29(6)242,
29(6)242-1,
29(8)46,
29(8)111,
29(8)119,
29(11)308,
29(11)319,
29(11)328,
30(3)50,
30(3)94,
30(8)48,
31(6)239,
32(5)85,
32(12)63,
32(12)63,
33(7)83
- context-sensitive,
29(6)242,
29(6)242-1,
30(6)1-1,
30(6)13
- demonstrate,
25(10)237,
25(12)85,
27(7)68,
27(7)152,
27(7)200,
27(7)249,
27(9)285,
28(6)217,
28(7)44,
28(7)64,
28(7)112,
28(7)208,
28(7)239,
29(6)85,
29(6)218,
29(11)2,
29(11)25,
29(11)76-1,
29(11)110,
29(11)145,
29(11)252,
30(3)50,
30(3)71,
30(6)13,
30(6)196,
30(8)29,
30(8)102,
30(8)134,
30(11)70,
33(7)19,
33(7)51
- effect,
26(4)28,
26(4)75,
26(4)290,
27(3)71,
27(7)1,
27(7)32,
27(7)224,
28(3)361,
28(6)13,
28(6)56,
28(6)237,
29(6)1,
29(6)49,
29(6)107,
29(6)147,
29(6)349,
29(6)349-1,
29(11)12,
29(11)328,
30(6)13,
30(6)93,
30(6)130,
30(6)233,
30(8)199,
33(7)19,
34(1)51,
34(1)63
- efficiency,
25(4)59,
25(6)85-1,
25(6)209,
27(7)55,
27(7)128,
27(7)200,
27(7)224,
28(1)48,
28(3)349,
28(3)363,
28(6)100,
28(6)177,
28(7)83,
29(9)105,
29(10)129,
29(11)286,
30(3)94,
30(6)13,
30(8)102,
30(8)207,
33(5)174
- efficiently,
25(3)31,
25(6)66,
25(6)272,
26(6)145,
27(1)95,
27(1)95-1,
27(7)44,
27(7)212,
27(7)283,
27(9)262,
27(10)127,
28(6)46,
28(6)78-1,
28(7)54-1,
29(6)13,
29(6)73,
29(6)278,
29(11)25,
29(11)208,
30(8)11,
31(5)108
- empirical,
25(3)1,
25(6)102,
26(4)28,
26(11)184,
27(3)54,
27(12)71,
28(6)258,
29(2)44,
29(6)242,
29(6)242-1,
30(6)13,
33(7)11,
33(7)83,
33(11)35,
33(11)272
- handle,
27(7)1,
27(7)32,
28(6)126,
28(6)147,
28(6)248,
28(7)149,
29(6)278,
29(11)38,
30(8)112,
33(7)35,
33(7)51
- high-level,
25(3)156,
27(7)55,
27(7)116,
27(11)59,
28(3)359,
28(6)139-1,
28(7)44,
28(7)112,
28(7)119,
28(7)119-1,
28(7)239,
29(8)59,
29(10)176,
30(3)119,
30(8)11,
30(8)19,
30(8)80,
30(8)80-1,
30(11)50,
32(5)109,
33(10)271
- hold,
28(3)359,
28(3)367,
29(6)230
- implemented,
25(1)59,
25(6)16,
25(6)78,
26(6)145,
26(6)219,
27(1)95,
27(7)44,
27(7)82,
27(7)106,
27(7)140,
27(7)152,
27(7)212,
27(7)235,
27(7)322,
27(9)274,
27(10)127,
28(3)1,
28(3)133,
28(3)357,
28(6)1,
28(6)26,
28(6)139-1,
28(6)217,
28(6)237,
28(6)258,
28(7)13,
28(7)54-1,
28(7)112,
28(7)179,
28(12)169,
29(6)36,
29(6)107,
29(6)135,
29(6)186,
29(6)196,
29(6)290,
29(6)349,
29(6)349-1,
29(8)74,
29(8)94,
29(10)373,
29(11)2,
29(11)132-1,
29(11)252,
30(6)67,
30(6)103,
30(6)116,
30(6)139,
30(6)270,
30(8)11,
30(8)29,
30(8)39,
30(8)48,
30(8)134,
30(8)144,
30(8)156,
30(11)41,
30(11)88,
30(11)134,
33(7)19
- input,
25(4)51,
25(6)16,
25(6)92,
25(6)112,
25(6)197,
25(6)246,
27(7)200,
28(7)13,
29(3)33,
29(6)85,
29(8)59,
29(9)91,
29(9)115,
29(12)58,
30(2)25,
30(3)35,
30(8)134,
33(7)27
- Lam, Monica S.,
26(4)63,
26(6)1,
26(6)30,
26(7)94,
27(9)62,
27(9)248,
28(6)112,
28(6)126,
29(12)31,
30(6)1-1,
30(8)166,
31(9)244,
31(9)244-1,
34(8)37,
34(11)94
- level, High-,
28(7)44,
28(7)239,
30(8)19,
30(8)80,
30(8)80-1,
30(11)50,
32(5)109,
33(10)271
- level, high-,
25(3)156,
27(7)55,
27(7)116,
27(11)59,
28(3)359,
28(6)139-1,
28(7)44,
28(7)112,
28(7)119,
28(7)119-1,
28(7)239,
29(8)59,
29(10)176,
30(3)119,
30(8)11,
30(8)19,
30(8)80-1,
30(11)50
- level, low-,
26(6)145,
27(9)223,
28(7)112,
29(11)76-1,
30(8)48,
30(11)41,
30(11)134
- location,
27(7)1,
27(7)235,
27(7)273,
28(6)13,
28(6)26,
28(6)56,
28(6)126,
28(6)197,
29(6)107,
29(6)121,
29(6)218,
29(6)230,
29(6)242,
29(6)242-1,
29(6)278,
29(8)94,
29(11)208,
30(3)62
- long,
27(1)95,
27(7)283,
28(6)147,
29(6)36,
29(6)159,
29(11)145,
29(11)219,
29(11)328,
30(8)48
- low-level,
26(6)145,
27(9)223,
28(7)112,
29(11)76-1,
30(8)48,
30(10)385,
30(11)41,
30(11)134
- many,
25(1)59,
25(6)112,
25(6)137,
25(6)189,
25(6)283,
27(1)95,
27(5)z,
27(7)68,
27(7)82,
27(7)116,
27(7)188-1,
27(9)285,
28(3)69,
28(3)343,
28(3)345,
28(3)347,
28(6)100,
28(6)187,
28(6)237,
28(6)258,
28(6)300,
28(7)13,
28(7)33,
28(7)54-1,
29(6)1,
29(6)36,
29(6)49,
29(6)73,
29(6)85,
29(6)171,
29(6)206,
29(6)302,
29(8)94,
29(8)101,
29(11)145,
29(11)171,
29(11)196,
29(11)219,
29(11)252,
29(11)328,
30(3)13,
30(3)94,
30(3)119,
30(6)67,
30(6)103,
30(6)291,
30(8)68,
30(8)134,
30(8)217,
30(11)20-1,
30(11)134,
33(7)19,
33(7)27
- obtain,
26(6)219,
28(7)64,
29(6)36,
29(6)121,
29(6)337,
29(6)337-1,
29(11)286,
30(6)270,
30(8)217,
30(11)31
- per,
27(9)248,
29(11)38,
29(11)86,
29(11)263,
30(6)139,
32(11)31,
33(3)36,
33(8)34,
33(11)252
- PLDI'95.,
30(6)13,
30(6)23,
30(6)32,
30(6)47,
30(6)56,
30(6)67,
30(6)79-1,
30(6)93,
30(6)103,
30(6)116,
30(6)130,
30(6)139,
30(6)151,
30(6)163-1,
30(6)174,
30(6)186,
30(6)196,
30(6)205,
30(6)218,
30(6)233,
30(6)246,
30(6)258,
30(6)270,
30(6)279,
30(6)291,
30(6)301,
30(6)315
- propose,
25(6)1,
25(6)85-1,
25(6)102,
25(6)296,
25(10)237,
27(7)1,
27(9)274,
28(6)90,
28(7)64,
29(6)257,
29(6)257-1,
29(6)302,
29(6)349,
29(6)349-1,
29(8)35,
29(8)46,
29(11)2,
29(11)51,
29(11)110,
29(11)171,
29(11)242,
29(11)308,
30(6)279,
30(8)19,
30(11)41,
30(11)79
- real,
25(6)102,
25(10)299,
26(6)59,
27(2)26,
27(6)10,
27(7)12,
27(7)128,
28(3)363,
28(7)179,
28(12)151,
29(6)218,
29(6)349,
29(6)349-1,
29(11)219,
30(6)116,
30(6)315,
30(8)112,
30(8)207,
30(10)140,
32(5)31,
34(1)185
- relationship,
25(4)59,
25(6)337,
27(7)200,
28(3)369,
28(6)100,
28(6)166,
29(2)39-1,
29(6)242,
29(6)242-1,
29(8)35,
29(8)119,
29(10)65,
33(7)27,
33(7)75,
33(7)83
- reuse,
25(6)53,
26(11)184,
26(11)264,
27(7)22,
27(10)41,
27(10)41-1,
28(10)137,
29(5)17-1,
29(11)252,
30(2)12,
30(6)196,
30(10)281,
30(11)7,
30(11)50,
30(11)146-1,
31(10)10,
31(10)51,
31(10)101,
31(10)268,
32(10)34,
33(10)417,
33(10)417-1
- run,
25(6)9,
25(6)85-1,
27(7)32,
27(9)85,
27(9)285,
28(3)353,
28(6)126,
28(7)83,
28(7)102,
28(7)239,
29(6)36,
29(6)186,
29(6)196,
29(10)191,
30(3)1,
30(6)218,
30(6)270,
30(8)123,
30(8)207,
30(8)217,
30(11)88,
34(5)229
- safely,
27(7)235
- same,
25(4)51,
25(6)85-1,
25(6)165,
27(7)1,
27(7)32,
27(7)44,
27(7)82,
27(7)235,
28(3)69,
28(3)367,
28(6)126,
28(6)237,
28(6)268,
28(7)208,
28(7)218,
28(7)239,
29(6)36,
29(6)196,
29(8)1,
29(11)25,
29(11)61,
29(11)171,
29(11)286,
29(11)297,
30(3)35,
30(6)13,
30(6)205,
30(8)68,
30(8)102,
30(8)179,
30(8)199,
31(5)108
- sensitive, Context-,
29(6)242-1,
30(6)13
- sensitive, context-,
29(6)242,
29(6)242-1,
30(6)1-1,
30(6)13
- single,
25(6)28,
25(6)272,
27(7)162,
27(7)188-1,
27(9)175,
27(9)213,
28(3)177,
28(3)299,
28(6)36,
28(6)78-1,
28(6)126,
28(7)13,
28(7)44,
28(7)239,
29(6)24,
29(6)97,
29(6)107,
29(6)171,
29(6)186,
29(6)196,
29(7)51,
29(8)1,
29(11)38,
29(11)98,
29(11)319,
30(3)13,
30(3)50,
30(3)62,
30(3)119,
30(6)13,
30(6)47,
30(6)67,
30(6)186,
30(8)48,
30(11)60,
33(5)97,
34(5)204
- successful,
27(10)77,
28(7)33,
30(6)301
- sufficient,
25(6)189,
28(3)299,
28(6)139-1,
30(7)52,
30(7)52,
30(8)39
- SUIF,
29(12)31,
30(8)144,
34(8)37
- summarize,
25(6)337,
28(6)100,
28(7)33,
30(3)103
- transfer,
25(6)78,
27(9)285,
28(6)147,
28(7)139,
28(10)437,
29(9)125,
29(11)2,
29(11)38,
29(11)86,
29(11)219,
30(8)39,
30(8)68,
30(8)217,
33(11)159,
34(10)276,
34(11)94
- usually,
25(1)59,
25(4)59,
25(6)78,
25(6)174,
27(7)162,
27(9)285,
28(3)361,
28(6)26,
30(3)111,
30(6)32,
30(6)186,
30(6)291,
30(6)315,
30(11)79,
30(11)134
- when,
24(3)34,
25(6)40,
25(6)66,
25(6)78,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)174,
25(6)223,
25(10)181,
27(7)1,
27(7)116,
27(7)188-1,
27(7)235,
27(7)311,
27(7)322,
27(9)285,
28(3)97,
28(3)361,
28(6)56,
28(6)100,
28(6)147,
28(6)187,
28(6)258,
28(6)278,
28(7)44,
28(7)83,
28(7)239,
28(8)90,
28(12)169,
29(6)1,
29(6)49,
29(6)85,
29(6)206,
29(11)2,
29(11)86,
29(11)145,
29(11)171,
29(11)242,
29(11)252,
30(3)23,
30(3)94,
30(6)56,
30(6)93,
30(6)103,
30(6)151,
30(6)279,
30(8)123,
30(8)179,
30(8)189,
30(8)199,
31(5)108,
32(3)27,
32(3)27-1,
33(2)59,
33(7)19,
33(7)27,
33(7)67,
34(9)1
- Wilson, Robert P.,
29(12)31,
30(6)1-1