33import java .util .Collection ;
44import java .util .Collections ;
55import java .util .Set ;
6- import java .util .concurrent .LinkedBlockingQueue ;
7- import java .util .concurrent .ThreadFactory ;
8- import java .util .concurrent .TimeUnit ;
96
107import org .slf4j .Logger ;
118import org .slf4j .LoggerFactory ;
3532import soot .jimple .infoflow .methodSummary .postProcessor .SummaryPathBuilder .SummarySourceInfo ;
3633import soot .jimple .infoflow .methodSummary .taintWrappers .AccessPathFragment ;
3734import soot .jimple .infoflow .methodSummary .util .AliasUtils ;
38- import soot .jimple .infoflow .solver .executors .InterruptableExecutor ;
3935import soot .jimple .infoflow .util .SootMethodRepresentationParser ;
4036import soot .util .MultiMap ;
4137
@@ -115,20 +111,7 @@ public MethodSummaries postProcess(MethodSummaries flows) {
115111 if (collectedAbstractions != null && !collectedAbstractions .isEmpty ()) {
116112 // Create a context-sensitive path builder. Without context-sensitivity,
117113 // we get quite some false positives here.
118- InterruptableExecutor executor = new InterruptableExecutor (Runtime .getRuntime ().availableProcessors (),
119- Runtime .getRuntime ().availableProcessors (), 30 , TimeUnit .SECONDS ,
120- new LinkedBlockingQueue <Runnable >());
121- executor .setThreadFactory (new ThreadFactory () {
122-
123- @ Override
124- public Thread newThread (Runnable r ) {
125- Thread thr = new Thread (r );
126- thr .setDaemon (true );
127- thr .setName ("Post processing" );
128- return thr ;
129- }
130- });
131- SummaryPathBuilder pathBuilder = new SummaryPathBuilder (manager , executor );
114+ SummaryPathBuilder pathBuilder = new SummaryPathBuilder (manager );
132115
133116 for (Abstraction a : collectedAbstractions .keySet ()) {
134117 // If this abstraction is directly the source abstraction, we do not
@@ -149,13 +132,6 @@ public Thread newThread(Runnable r) {
149132 pathBuilder .computeTaintPaths (
150133 Collections .singleton (new AbstractionAtSink (null , a , a .getCurrentStmt ())));
151134
152- // Wait for the executor to complete all of its tasks
153- try {
154- executor .awaitCompletion ();
155- } catch (InterruptedException e ) {
156- logger .error ("Could not wait for executor termination" , e );
157- }
158-
159135 logger .info ("Obtained {} source-to-sink connections." , pathBuilder .getResultInfos ().size ());
160136
161137 // Reconstruct the sources
0 commit comments