[klee] r128536 - /klee/trunk/lib/Core/StatsTracker.cpp

Cristian Cadar cristic at cs.stanford.edu
Wed Mar 30 04:25:16 PDT 2011


Author: cristic
Date: Wed Mar 30 06:25:16 2011
New Revision: 128536

URL: http://llvm.org/viewvc/llvm-project?rev=128536&view=rev
Log:
Fixed bug in WeightedRandomSearcher (CoveringNew).  Patch by David
Ramos: "I found a nasty little bug that I'm guess dates back to
removing all that foreach() syntactic sugar. It made
stats::minDistToUncovered = 0 at all program points, rendering
WeightedRandomSearcher (CoveringNew) pretty worthless."


Modified:
    klee/trunk/lib/Core/StatsTracker.cpp

Modified: klee/trunk/lib/Core/StatsTracker.cpp
URL: http://llvm.org/viewvc/llvm-project/klee/trunk/lib/Core/StatsTracker.cpp?rev=128536&r1=128535&r2=128536&view=diff
==============================================================================
--- klee/trunk/lib/Core/StatsTracker.cpp (original)
+++ klee/trunk/lib/Core/StatsTracker.cpp Wed Mar 30 06:25:16 2011
@@ -209,8 +209,10 @@
 
     executor.addTimer(new WriteStatsTimer(this), StatsWriteInterval);
 
-    if (updateMinDistToUncovered)
+    if (updateMinDistToUncovered) {
+      computeReachableUncovered();
       executor.addTimer(new UpdateReachableTimer(this), UncoveredUpdateInterval);
+    }
   }
 
   if (OutputIStats) {
@@ -607,7 +609,7 @@
       for (Function::iterator bbIt = fnIt->begin(), bb_ie = fnIt->end(); 
            bbIt != bb_ie; ++bbIt) {
         for (BasicBlock::iterator it = bbIt->begin(), ie = bbIt->end(); 
-             it != it; ++it) {
+             it != ie; ++it) {
           if (isa<CallInst>(it) || isa<InvokeInst>(it)) {
             CallSite cs(it);
             if (isa<InlineAsm>(cs.getCalledValue())) {
@@ -653,7 +655,7 @@
       for (Function::iterator bbIt = fnIt->begin(), bb_ie = fnIt->end(); 
            bbIt != bb_ie; ++bbIt) {
         for (BasicBlock::iterator it = bbIt->begin(), ie = bbIt->end(); 
-             it != it; ++it) {
+             it != ie; ++it) {
           instructions.push_back(it);
           unsigned id = infos.getInfo(it).id;
           sm.setIndexedValue(stats::minDistToReturn, 
@@ -725,7 +727,7 @@
     for (Function::iterator bbIt = fnIt->begin(), bb_ie = fnIt->end(); 
          bbIt != bb_ie; ++bbIt) {
       for (BasicBlock::iterator it = bbIt->begin(), ie = bbIt->end(); 
-           it != it; ++it) {
+           it != ie; ++it) {
         unsigned id = infos.getInfo(it).id;
         instructions.push_back(&*it);
         sm.setIndexedValue(stats::minDistToUncovered, 




More information about the klee-commits mailing list