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{Emami:1994:CIP,
author = "Maryam Emami and Rakesh Ghiya and Laurie J. Hendren",
title = "Context-Sensitive Interprocedural Points-to Analysis
in the Presence of Function Pointers",
journal = j-SIGPLAN,
volume = "29",
number = "6",
pages = "242--256",
month = jun,
year = "1994",
CODEN = "SINODQ",
ISBN = "0-89791-598-4",
ISBN-13 = "978-0-89791-598-4",
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/178243/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/178243/p242-emami/",
abstract = "This paper reports on the design, implementation, and
empirical results of a new method for dealing with the
aliasing problem in C. The method is based on
approximating the points-to relationships between
accessible stack locations, and can be used to generate
alias pairs, or used directly for other analyses and
transformations. Our method provides context-sensitive
interprocedural information based on analysis over
invocation graphs that capture all calling contexts
including recursive and mutually-recursive calling
contexts. Furthermore, the method allows the smooth
integration for handling general function pointers in
C. We illustrate the effectiveness of the method with
empirical results from an implementation in the McCAT
optimizing/parallelizing C compiler.",
acknowledgement = ack-nhfb,
annote = "Published as part of the Proceedings of PLDI'94.",
classification = "C6120 (File organisation); C6150C (Compilers,
interpreters and other processors); C6150G (Diagnostic,
testing, debugging and evaluating systems)",
conflocation = "Orlando, FL, USA; 20-24 June 1994",
conftitle = "ACM SIGPLAN '94 Conference on Programming Language
Design and Implementation (PLDI)",
corpsource = "Sch. of Comput. Sci., McGill Univ., Montreal, Que.,
Canada",
keywords = "accessible stack locations; alias pairs; aliasing
problem; C language; context-sensitive interprocedural
points-to analysis; data structures; design; function
pointers; general function pointers; invocation graphs;
languages; McCAT optimizing/parallelizing C compiler;
McCAT optimizing/parallelizing C compiler function
pointers; mutually-recursive calling contexts;
performance; program compilers; program diagnostics;
smooth integration",
sponsororg = "ACM",
subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.3.4} Software,
PROGRAMMING LANGUAGES, Processors, Optimization. {\bf
D.3.3} Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Procedures, functions, and
subroutines. {\bf D.3.2} Software, PROGRAMMING
LANGUAGES, Language Classifications, C.",
treatment = "P Practical",
}
Related entries
- accessible,
28(6)217,
29(6)61,
29(6)230,
29(6)242-1
- alias,
27(7)235,
27(7)249,
28(6)56,
29(6)230,
29(6)242-1,
30(6)1,
30(6)13,
30(6)13-1,
33(5)106,
33(7)27,
33(10)48
- aliasing,
25(6)296,
26(11)271,
27(7)106,
27(7)235,
28(6)56,
28(9)67,
29(6)242-1,
29(7)21,
33(7)11
- allow,
25(4)20,
25(4)51,
25(6)66,
25(6)85-1,
25(6)272,
25(6)296,
26(6)145,
27(7)94,
27(7)116,
27(7)140,
27(7)162,
27(7)235,
27(9)238,
28(3)363,
28(6)139-1,
28(6)207-1,
28(6)290,
28(7)92,
28(7)102,
28(7)208,
28(7)239,
29(6)73,
29(6)135,
29(6)242-1,
29(8)35,
29(8)119,
29(11)25,
29(11)132-1,
29(11)263,
29(11)274,
29(11)319,
30(3)50,
30(3)94,
30(4)13,
30(6)196,
30(6)246,
30(8)1,
30(8)102,
30(8)217,
30(11)70,
30(11)79
- analyse,
26(6)80,
26(6)80-1,
27(7)106,
27(7)224,
28(6)68,
28(6)78-1,
28(6)268,
28(7)33,
29(6)1,
29(6)147,
29(6)242-1,
29(6)266,
29(11)286,
30(6)13,
30(6)196,
30(11)20-1,
30(11)70,
32(8)38,
33(7)43
- approximating,
29(6)242-1
- C6150G,
25(12)85,
28(6)1,
28(6)13,
28(6)26,
28(6)46,
28(6)177,
28(7)44,
28(12)169,
29(1)37,
29(4)15,
29(6)1,
29(6)171,
29(6)196,
29(6)278,
29(6)290,
29(6)302,
29(6)313,
29(9)140,
29(10)403,
29(11)122,
29(11)232,
29(12)38,
29(12)73,
30(3)1,
30(3)50,
30(3)62,
30(3)94,
30(6)67,
30(6)79-1,
30(6)93,
30(6)218,
30(6)233,
30(6)258,
30(6)270,
30(6)291,
30(8)11,
30(11)20-1,
30(11)79,
30(11)88,
30(11)99,
30(11)117
- calling,
28(3)359,
28(8)77,
28(8)77-1,
29(4)49,
29(6)49,
29(6)242-1,
30(6)1,
30(8)217,
31(5)249,
34(8)60,
34(9)114
- capture,
27(7)116,
28(7)44,
29(5)27,
29(6)242-1,
29(8)1,
29(8)35,
29(11)132-1,
29(11)219,
29(11)232,
30(6)233
- 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-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(6)1,
30(8)48,
31(6)239,
32(5)85,
32(12)63,
32(12)63,
33(7)83
- context-sensitive,
29(6)242-1,
30(6)1,
30(6)1-1,
30(6)13
- dealing,
28(2)21,
28(12)169,
29(6)242-1,
29(8)101
- Diagnostic,
25(12)85,
28(6)1,
28(6)13,
28(6)26,
28(6)46,
28(6)177,
28(7)44,
28(12)169,
29(1)37,
29(4)15,
29(6)1,
29(6)171,
29(6)196,
29(6)278,
29(6)290,
29(6)302,
29(6)313,
29(9)140,
29(10)65,
29(10)403,
29(11)122,
29(11)232,
29(12)38,
29(12)73,
30(3)1,
30(3)50,
30(3)62,
30(3)94,
30(6)67,
30(6)79-1,
30(6)93,
30(6)218,
30(6)233,
30(6)258,
30(6)270,
30(6)291,
30(8)11,
30(11)20-1,
30(11)79,
30(11)88,
30(11)99,
30(11)117,
31(5)249
- diagnostics,
29(1)37,
29(6)171,
29(6)196,
29(6)302,
29(6)313,
29(11)232
- directly,
25(6)223,
25(6)257,
25(6)337,
27(7)224,
27(7)311,
28(3)361,
28(6)1,
29(6)135,
29(6)196,
29(6)242-1,
29(11)2,
30(3)13,
30(3)62,
30(8)48,
33(7)19
- effectiveness,
25(3)156,
25(6)53,
27(7)1,
28(6)197,
28(7)44,
29(6)159,
29(6)186,
29(6)218,
29(6)242-1,
29(11)98,
29(11)219,
29(11)328,
32(8)99,
33(7)11
- Emami, Maryam,
29(6)242-1
- 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-1,
30(6)1,
30(6)13,
33(7)11,
33(7)83,
33(11)35,
33(11)272
- evaluating,
25(12)85,
28(6)1,
28(6)13,
28(6)26,
28(6)46,
28(6)177,
28(7)44,
28(12)169,
29(1)37,
29(4)15,
29(6)1,
29(6)171,
29(6)196,
29(6)278,
29(6)290,
29(6)302,
29(6)313,
29(9)140,
29(10)65,
29(10)403,
29(11)122,
29(11)232,
29(12)38,
29(12)73,
30(3)1,
30(3)50,
30(3)62,
30(3)94,
30(6)23,
30(6)67,
30(6)79-1,
30(6)93,
30(6)218,
30(6)233,
30(6)258,
30(6)270,
30(6)291,
30(8)11,
30(8)189,
30(11)20-1,
30(11)79,
30(11)88,
30(11)99,
30(11)117,
34(11)2
- Furthermore,
28(6)187,
29(6)242-1,
29(11)25
- generate,
25(6)9,
25(6)311,
25(12)85,
27(7)1,
27(7)140,
27(7)261,
28(6)139-1,
28(6)237,
28(7)112,
28(7)149,
29(6)49,
29(6)135,
29(6)242-1,
29(8)94,
30(8)39,
30(8)48,
30(11)41,
30(11)134,
31(5)108,
34(5)128
- Ghiya, Rakesh,
29(6)242-1
- handling,
17(9)18,
25(6)28,
25(10)116,
25(10)322,
27(4)77,
27(7)128,
27(12)61,
28(3)133,
28(6)13,
28(6)26,
28(6)147,
28(7)33,
28(10)271,
28(10)271-1,
28(10)288,
29(2)13,
29(3)23,
29(5)31,
29(6)242-1,
29(6)349-1,
29(9)64,
29(9)68,
29(9)159,
29(10)191,
29(10)259,
29(10)388,
29(11)51,
29(11)110,
29(11)208,
29(12)104,
30(8)80-1,
30(8)112,
30(8)217,
30(11)50,
30(11)79,
33(8)40,
33(11)151
- Hendren, Laurie J.,
27(7)249,
29(6)218,
29(6)242-1,
33(5)199
- illustrate,
25(6)223,
26(1)14,
27(7)1,
28(2)21,
29(6)242-1,
29(8)46,
29(11)145,
29(11)208,
29(11)252,
30(3)94,
30(11)50,
30(11)79
- including,
25(4)59,
25(5)95,
25(6)337,
27(5)z,
27(7)68,
27(7)200,
27(7)322,
28(3)133,
28(3)231,
28(3)357,
28(6)36,
28(6)100,
28(6)187,
28(7)229,
29(6)36,
29(6)85,
29(6)171,
29(6)242-1,
29(6)257,
29(6)257-1,
30(3)23,
30(6)67,
30(6)174,
30(8)134,
30(8)156
- integration,
6(4)111,
25(2)25,
26(4)200,
26(7)189,
28(7)229,
29(6)242-1,
29(6)266,
29(10)16,
29(10)212,
29(11)38,
29(11)219,
30(3)23,
30(4)7,
30(7)2,
30(8)19,
32(1)77,
33(10)117,
34(6)76,
34(12)57
- interprocedural,
25(6)28,
27(7)235,
28(5)3,
28(6)56,
28(6)90,
28(7)33,
29(4)41,
29(6)49,
29(6)230,
29(6)242-1,
30(6)13,
30(6)23,
30(6)23-1,
30(6)67,
30(6)258,
32(5)122,
32(5)146,
34(4)70,
34(8)37
- invocation,
28(1)80,
28(7)169,
29(5)27,
29(6)242-1,
29(7)61,
29(10)324,
29(10)427,
30(11)50,
34(8)173
- 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-1,
29(6)278,
29(8)94,
29(11)208,
30(3)62,
30(6)1
- McCAT,
29(6)242-1
- mutually-recursive,
29(6)242-1
- optimizing/parallelizing,
29(6)242-1
- pair,
28(7)129,
29(6)230,
29(6)242-1,
29(11)61
- PLDI'94.,
29(6)1,
29(6)13,
29(6)24,
29(6)36,
29(6)49,
29(6)61,
29(6)73,
29(6)85,
29(6)97,
29(6)107,
29(6)121,
29(6)135,
29(6)147,
29(6)159,
29(6)171,
29(6)186,
29(6)196,
29(6)206,
29(6)218,
29(6)230,
29(6)257-1,
29(6)266,
29(6)278,
29(6)290,
29(6)302,
29(6)313,
29(6)326,
29(6)337-1,
29(6)349-1
- points-to,
29(6)242-1,
30(3)62,
30(6)13
- presence,
25(6)66,
27(7)235,
27(7)273,
27(7)283,
28(7)64,
29(6)135,
29(6)218,
29(6)242-1,
29(11)183,
30(3)62,
30(6)13,
30(6)139,
30(8)58,
30(10)200,
30(11)88,
31(5)99
- recursive,
25(4)83,
27(6)54,
27(6)72,
27(7)249,
27(12)39,
28(3)363,
28(3)367,
28(7)112,
29(1)46,
29(6)230,
29(6)242-1,
29(6)337,
29(6)337-1,
29(8)101,
29(9)51,
30(3)13,
31(6)73,
31(9)222,
31(9)222-1,
32(8)323,
32(12)90,
32(12)90,
33(9)87,
33(12)33,
34(1)351,
34(5)50,
34(10)70
- recursive, mutually-,
29(6)242-1
- 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-1,
29(8)35,
29(8)119,
29(10)65,
30(6)1,
33(7)27,
33(7)75,
33(7)83
- report,
25(11)45,
26(1)57,
26(5)37,
27(5)z,
27(9)238,
27(10)178,
27(11)90,
27(12)8,
27(12)47,
28(1)1,
28(3)97,
28(6)13,
28(6)90,
28(7)54-1,
28(8)1,
28(9)6,
28(12)169,
29(6)242-1,
29(10)414,
29(11)76-1,
29(12)18,
30(2)5,
30(3)62,
30(7)9,
30(7)9,
30(8)29,
31(2)8,
31(2)8-1,
31(7)4,
31(8)2,
31(8)26,
31(8)28-1,
31(12)1,
31(12)33,
32(6)28-1,
32(9)2,
32(10)345-1,
32(10)345-4,
32(10)345-5,
32(11)15,
32(11)21,
33(2)15,
33(2)31,
33(3)21,
33(7)83,
33(9)26,
33(9)26-1,
33(10)329,
33(12)25,
34(2)36,
34(4)28,
34(5)z,
34(6)16,
34(6)32-1,
34(12)12-1
- sensitive, context-,
29(6)242-1,
30(6)1,
30(6)1-1,
30(6)13
- smooth,
29(6)242-1
- stack,
25(6)66,
27(7)116,
27(7)273,
28(7)208,
29(5)27,
29(6)242-1,
29(9)38,
29(9)68,
30(6)174,
30(6)315,
33(5)162
- subroutine,
25(1)59,
25(6)78,
25(6)85-1,
25(6)127-1,
25(6)165,
26(6)71,
26(6)80,
26(6)165-1,
26(6)278,
26(6)293,
27(12)39,
28(3)1,
28(3)97,
28(3)271,
28(3)345,
28(3)347,
28(3)351,
28(3)353,
28(3)355,
28(3)357,
28(3)361,
28(5)9,
28(6)36,
28(6)90,
28(6)100,
28(7)179,
29(5)7,
29(6)24,
29(6)230,
29(10)453,
30(3)13,
30(6)116,
30(6)174,
31(5)193,
33(5)174
- to, points-,
29(6)242-1,
30(3)62,
30(6)13