<div dir="ltr"><font size="2" face="arial, sans-serif">Hi everybody:</font><div><font size="2" face="arial, sans-serif"><br></font></div><div><font size="2" face="arial, sans-serif">I need to generate the inter-procedure control-flow graph for single .groovy file and I tried the command line as follow:</font></div><div><font size="2" face="arial, sans-serif"><br></font></div><div><p style="text-align: left; font-stretch: normal; line-height: normal;"><span style="font-variant-ligatures: no-common-ligatures;"><font size="2" face="arial, sans-serif"></font></span></p><div class="prettyprint" style="background-color: rgb(250, 250, 250); border: 1px solid rgb(187, 187, 187); word-wrap: break-word;"><font size="2" face="arial, sans-serif"><code class="prettyprint"><div class="subprettyprint"><span style="color: #000;" class="styled-by-prettify">java </span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #000;" class="styled-by-prettify">cp sootclasses</span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #000;" class="styled-by-prettify">trunk</span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #000;" class="styled-by-prettify">jar</span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #008;" class="styled-by-prettify">with</span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #000;" class="styled-by-prettify">dependencies</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">jar soot</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">tools</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #606;" class="styled-by-prettify">CFGViewer</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">--</span><span style="color: #000;" class="styled-by-prettify">soot</span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #000;" class="styled-by-prettify">classpath </span><span style="color: #660;" class="styled-by-prettify">./</span><span style="color: #000;" class="styled-by-prettify">smarthings</span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #000;" class="styled-by-prettify">apps</span><span style="color: #660;" class="styled-by-prettify">-</span><span style="color: #000;" class="styled-by-prettify">master</span><span style="color: #660;" class="styled-by-prettify">/</span><font color="#660066"><span style="color: #000;" class="styled-by-prettify">test</span></font><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">groovy</span></div></code></font></div><font size="2" face="arial, sans-serif"><br></font><p></p><p style="text-align: left; font-stretch: normal; line-height: normal;"><font size="2" face="arial, sans-serif">Then cmd indicates:</font></p><p style="text-align: left; font-stretch: normal; line-height: normal;"><font size="2" face="arial, sans-serif"><br></font></p><div class="prettyprint" style="background-color: rgb(250, 250, 250); border: 1px solid rgb(187, 187, 187); word-wrap: break-word;"><code class="prettyprint"><div class="subprettyprint"><span style="color: #000;" class="styled-by-prettify">soot</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #606;" class="styled-by-prettify">CompilationDeathException</span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #606;" class="styled-by-prettify">No</span><span style="color: #000;" class="styled-by-prettify"> input classes specified</span><span style="color: #660;" class="styled-by-prettify">!</span><span style="color: #000;" class="styled-by-prettify"><br> at soot</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">postCmdLineCheck</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">java</span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #066;" class="styled-by-prettify">130</span><span style="color: #660;" class="styled-by-prettify">)</span><span style="color: #000;" class="styled-by-prettify"><br> at soot</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">processCmdLine</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">java</span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #066;" class="styled-by-prettify">125</span><span style="color: #660;" class="styled-by-prettify">)</span><span style="color: #000;" class="styled-by-prettify"><br> at soot</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">run</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">java</span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #066;" class="styled-by-prettify">235</span><span style="color: #660;" class="styled-by-prettify">)</span><span style="color: #000;" class="styled-by-prettify"><br> at soot</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">main</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #606;" class="styled-by-prettify">Main</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">java</span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #066;" class="styled-by-prettify">141</span><span style="color: #660;" class="styled-by-prettify">)</span><span style="color: #000;" class="styled-by-prettify"><br> at soot</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">tools</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #606;" class="styled-by-prettify">CFGViewer</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">main</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #606;" class="styled-by-prettify">CFGViewer</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">java</span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #066;" class="styled-by-prettify">101</span><span style="color: #660;" class="styled-by-prettify">)</span></div></code></div><p style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);"><span style="font-variant-ligatures: no-common-ligatures"><br></span></p><p style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);"><span style="font-variant-ligatures: no-common-ligatures"><br></span></p><p style="font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);"><span style="font-variant-ligatures: no-common-ligatures"><br></span></p><p style="text-align: left; font-stretch: normal; line-height: normal;"><font size="2" face="arial, sans-serif">I wanna ask if it's possible to generate icfg for groovy code with soot. If possible, could you please provide me an example to follow.</font></p><p style="text-align: left; font-stretch: normal; line-height: normal;"><font size="2" face="arial, sans-serif"><br></font></p><p style="text-align: left; font-stretch: normal; line-height: normal;"><font size="2" face="arial, sans-serif"> Thanks😀</font></p></div></div>