<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Eric and David,
<div class=""><br class="">
</div>
<div class="">Thanks for your replies.</div>
<div class=""><br class="">
</div>
<div class="">Since I’m using SPARK, it looks like “set_dynamic_class” has not effect on the result.</div>
<div class=""><br class="">
</div>
<div class="">But anyway, for my analysis, I don’t really care if it is a “Dog” class object.</div>
<div class="">The main purpose of my analysis it to construct the invocation chain based on these objects.</div>
<div class="">Take the example, what I want to know is that the method object “mbark” which is from class object “cdog” is invoked.</div>
<div class="">I’m using points-to analysis to confirm that  the method object “mbark” invoked in statement “<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">mbark.invoke(null);</span>” is the one obtained in statement "<font color="#000000" class="">Method
 mbark = cdog.getMethod("bark”);” which is belong to the Class object “cdog” which is further obtained in the statement </font>"<font color="#000000" class="">Class cdog = Class.forName("Dog”);”.</font></div>
<div class=""><font color="#000000" class="">For me, points-to analysis is needed, is because same object could be aliased both intra- and inter- procedure.</font></div>
<div class=""><font color="#000000" class=""><br class="">
</font></div>
<div class=""><font color="#000000" class="">I’m not sure if I misunderstood points-to analysis or this situation cannot be fit for points-to analysis.</font></div>
<div class="">
<div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<br class="">
Best Regard</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
——————————————————</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
Jun Gao</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<br class="">
</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
University of Luxembourg, SnT</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
6 Rue Richard Coudenhove-Kalergi<br class="">
L-1359 Luxembourg<br class="">
Office: Bloc E 107<br class="">
Tele: (+352) 46 66 44 6019<br class="">
Fax: (+352) 46 66 44 36019</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br class="">
</div>
<br class="Apple-interchange-newline">
</div>
</div>
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 13 Dec 2019, at 14:54, Eric Bodden <<a href="mailto:eric.bodden@uni-paderborn.de" class="">eric.bodden@uni-paderborn.de</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Hi again<br class="">
<br class="">
<blockquote type="cite" class="">Eric, I know you're far more expert on this, but isn't precise-newinstance for paddle, and not spark?<br class="">
</blockquote>
<br class="">
My apologies, you are right!<br class="">
<br class="">
<blockquote type="cite" class="">Jun, As Eric suggested, you need to provide the dynamically loaded class - "Dog"  to set_dynamic_class(), for example:<br class="">
   Options.v().set_dynamic_class( Arrays.asList( "Dog" ) );<br class="">
</blockquote>
<br class="">
Chers<br class="">
Eric</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>