<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"> How to detect a block inside which SVal is used</span></span><span style="font-size: 16px; background-color: rgb(255, 255, 255); font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"> in
 a </span></span></span><span style="font-size: 16px; background-color: rgb(255, 255, 255); font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;">path-sensitive
 way</span></span></span><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;">?</span></span></span><br style="font-family: Calibri, Arial, Helvetica, sans-serif;">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif;"></span></p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><br style="font-family: Calibri, Arial, Helvetica, sans-serif;">
</span></p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;">E.g.</span></span></span></p>
<p><span style="font-family: "Angsana New", serif;"></span></p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;">void foo(int x) // Here `x` has a Symbolic representation (e.g. reg_$0<int x>)</span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;">{</span></div>
</div>
<div>
<div><span style="font-size: 9pt;"><span style="font-family: Consolas, monospace;">  // block 1  </span><br style="font-family: Consolas, monospace;">
</span></div>
</div>
<div>
<div><span style="font-size: 9pt;"><span style="font-family: Consolas, monospace;">  {  </span><br style="font-family: Consolas, monospace;">
</span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">    int y = x; // Here I want to know that `x`
</span></span><span style="background-color: rgb(255, 255, 255); font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">is used</span></span></span><span style="background-color: rgb(255, 255, 255); font-family: Consolas, monospace;"> </span><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">inside
 a simple block</span></span></span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;">  }</span></span></div>
</div>
<div>
<div><br style="font-family: Consolas, monospace; font-size: 9pt;">
</div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;">  // block 2  </span></span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;">  if(){  </span></span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">    int y = x; ​ //
<span style="font-family: Consolas, monospace; font-size: 12px; background-color: rgb(255, 255, 255);">
Here </span>I want to know that `x` </span></span><span style="background-color: rgb(255, 255, 255); font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">is used</span></span></span><span style="background-color: rgb(255, 255, 255); font-family: Consolas, monospace;"> </span><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">inside
 if-true-block</span></span></span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;">  }</span></span></div>
</div>
<div>
<div><br style="font-family: Consolas, monospace; font-size: 9pt;">
</div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;">  // block 3  </span></span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;">  while(){  </span></span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;"><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">    int y = x; //
<span style="font-family: Consolas, monospace; font-size: 12px; background-color: rgb(255, 255, 255);">
Here </span>​I want to know that `x` </span></span><span style="background-color: rgb(255, 255, 255); font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">is used</span></span></span><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;"> inside
 while-loop-body</span></span></span></div>
</div>
<div>
<div><span style="font-size: 9pt;"><span style="font-family: Consolas, monospace;"><span style="font-family: Consolas, monospace;">  }</span></span><br style="font-family: Consolas, monospace;">
</span></div>
</div>
<div>
<div><span style="font-family: Consolas, monospace; font-size: 9pt;">}</span><br>
</div>
<div><br>
</div>
</div>
</blockquote>
<span style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;">​I'm fighting with this sereval days. Insensitive
 way (checkASTCodeBody) is quite poor and not the case.</span></span></span><br style="font-family: Calibri, Arial, Helvetica, sans-serif;">
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<div>
<div><br style="font-family: Calibri, Arial, Helvetica, sans-serif;">
</div>
</div>
</blockquote>
<span style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;">​</span><span style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif;">Thanks.</span></span></span><br>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<div>
<div><br>
</div>
</div>
</blockquote>
<div></div>
<p><br>
</p>
<div id="Signature">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<hr>
<div><b>Denys Petrov</b></div>
<div>Senior ó++ Developer | Kharkiv, Ukraine</div>
<div><br>
</div>
<div></div>
</div>
</div>
</body>
</html>