<div dir="ltr">Dear All,<div><br></div><div>I am able to create control-flow graphs (CFG) of ordinary Java Eclipse projects. I use the command below to create my CFGs and redirect the path where the bytecodes are located, which is the "bin" folder.</div><div><br></div><div>"--graph=ClassicCompleteUnitGraph -cp . -allow-phantom-refs -pp -process-dir MyJavaProject\bin"<br></div><div><br></div><div>However, when I tried it with a open source Maven project called "checkstyle", I received an exception "
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">IllegalArgumentException</span>". The exception and error message that I get is at the end of the mail.</div><div><br></div><div>I am aware that the bytecodes are located in the "target\classes" folder of the maven project, I change the path from "bin" to "target\classes" but still it didn't work. Also, I must say that the project contains some errors, with some incomplete classes, syntax errors etc. Still I don't think it would be an obstacle, because I previously tried it another project that had errors and gave me an output of CFG.</div><div><br></div><div>The new command that I use to create CFG for the maven project is:</div><div><br></div><div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">"--graph=ClassicCompleteUnitGraph -cp . -allow-phantom-refs -pp -process-dir checkstyle-checkstyle-8.7\target\classes"<br></div><br></div><div>I am really not sure if this is a bug or not, that's why I wanted to ask and make sure if I am doing something wrong or not. As I said before, the command that I use works completely fine on ordinary eclipse java project, but cannot get it working on maven projects.</div><div><br></div><div>Thanks in advance,</div><div><br></div><div>Best Regards,</div><div><br></div><div>Ekin</div><div><br></div><div><div>java.lang.IllegalArgumentException</div><div><span style="white-space:pre"> </span>at org.objectweb.asm.ClassReader.<init>(ClassReader.java:185)</div><div><span style="white-space:pre"> </span>at org.objectweb.asm.ClassReader.<init>(ClassReader.java:168)</div><div><span style="white-space:pre"> </span>at org.objectweb.asm.ClassReader.<init>(ClassReader.java:439)</div><div><span style="white-space:pre"> </span>at soot.asm.AsmClassSource.resolve(AsmClassSource.java:60)</div><div><span style="white-space:pre"> </span>at soot.SootResolver.bringToHierarchyUnchecked(SootResolver.java:236)</div><div><span style="white-space:pre"> </span>at soot.SootResolver.bringToHierarchy(SootResolver.java:208)</div><div><span style="white-space:pre"> </span>at soot.SootResolver.bringToSignatures(SootResolver.java:269)</div><div><span style="white-space:pre"> </span>at soot.SootResolver.processResolveWorklist(SootResolver.java:170)</div><div><span style="white-space:pre"> </span>at soot.SootResolver.resolveClass(SootResolver.java:133)</div><div><span style="white-space:pre"> </span>at soot.Scene.loadClass(Scene.java:860)</div><div><span style="white-space:pre"> </span>at soot.Scene.loadClassAndSupport(Scene.java:846)</div><div><span style="white-space:pre"> </span>at soot.Scene.loadNecessaryClasses(Scene.java:1601)</div><div><span style="white-space:pre"> </span>at soot.Main.run(Main.java:250)</div><div><span style="white-space:pre"> </span>at soot.Main.main(Main.java:147)</div><div><span style="white-space:pre"> </span>at soot.tools.CFGViewer.main(CFGViewer.java:101)</div><div><span style="white-space:pre"> </span>at tr.iyte.edu.tcp.slicer.CFGGenerator.createCFG(CFGGenerator.java:25)</div><div><span style="white-space:pre"> </span>at tr.iyte.edu.tcp.Main.main(Main.java:61)</div><div><br></div><div><br></div><div>Ouuups... something went wrong! Sorry about that.</div><div>Follow these steps to fix the problem:</div><div>1.) Are you sure you used the right command line?</div><div> Click here to double-check:</div><div> <a href="https://soot-build.cs.uni-paderborn.de/doc/sootoptions/">https://soot-build.cs.uni-paderborn.de/doc/sootoptions/</a></div><div><br></div><div>2.) Not sure whether it's a bug? Feel free to discuss</div><div> the issue on the Soot mailing list:</div><div> <a href="https://github.com/Sable/soot/wiki/Getting-help">https://github.com/Sable/soot/wiki/Getting-help</a></div><div><br></div><div>3.) Sure it's a bug? Click this link to report it.</div><div> Please be as precise as possible when giving us<br></div><div> information on how to reproduce the problem. Thanks!</div></div><div><br></div></div>