/** * @param b * @return */ private boolean atMutationPoint(BugInstance b) { return b.getFirstVersion() == maybeMutated || b.getLastVersion() == maybeMutated - 1; }
@Override public boolean match(BugInstance bugInstance) { return relOp.check(bugInstance.getLastVersion(), version); }
void update(BugInstance bug) { if (bug.isDead()) { fixed++; } else { persist++; } final long lastVersion = bug.getLastVersion(); if (lastVersion != -1) { Integer v = lastCount.get(lastVersion); if (v == null) { lastCount.put(lastVersion, 0); } else { lastCount.put(lastVersion, v + 1); } } } }
private boolean bugLiveAt(BugInstance bug, long now) { if (now < bug.getFirstVersion()) { return false; } if (bug.isDead() && bug.getLastVersion() < now) { return false; } return true; }
@Override public int compare(BugInstance lhs, BugInstance rhs) { int result = super.compare(lhs, rhs); if (result != 0) { return result; } long diff = lhs.getFirstVersion() - rhs.getFirstVersion(); if (diff == 0) { diff = lhs.getLastVersion() - rhs.getLastVersion(); } if (diff < 0) { return -1; } if (diff > 0) { return 1; } return 0; }
/** * Add a BugInstance to this BugCollection. This just calls add(bugInstance, * true). * * @param bugInstance * the BugInstance * @return true if the BugInstance was added, or false if a matching * BugInstance was already in the BugCollection */ @Override public boolean add(BugInstance bugInstance) { return add(bugInstance, bugInstance.getFirstVersion() == 0L && bugInstance.getLastVersion() == 0L); }
if (b.getFirstVersion() != 0 || b.getLastVersion() != -1) { List<BugInstance> lst = map.get(b.getInstanceHash()); if (lst == null) { additionTimes.add(b.getFirstVersion()); if (b.getLastVersion() != -1) { removalTimes.add(b.getLastVersion());
/** * Do any prep work needed to perform bug filtering * * @param origCollection */ public void getReady(SortedBugCollection origCollection) { if (maybeMutatedAsString != null) { HashSet<String> addedIssues = new HashSet<>(); HashSet<String> removedIssues = new HashSet<>(); for (BugInstance b : origCollection) { if (b.getFirstVersion() == maybeMutated) { addedIssues.add(getBugLocation(b)); } else if (b.getLastVersion() == maybeMutated - 1) { removedIssues.add(getBugLocation(b)); } } addedIssues.remove(null); addedIssues.retainAll(removedIssues); mutationPoints = addedIssues; } }
&& newVersion - matchedBug.getLastVersion() > maxResurrection) { continue;
public void setHistory(BugInstance from) { long first = from.getFirstVersion(); long last = from.getLastVersion(); if (first > 0 && last >= 0 && first > last) { throw new IllegalArgumentException("from has version range " + first + "..." + last + " in " + from.getBugPattern() + "\n" + from.getMessage()); } setFirstVersion(first); setLastVersion(last); this.removedByChangeOfPersistingClass = from.removedByChangeOfPersistingClass; this.introducedByChangeOfExistingClass = from.introducedByChangeOfExistingClass; }
long last = bugInstance.getLastVersion();
long last = bugInstance.getLastVersion(); outputStream.print(first); outputStream.print(" ");
&& (!bugInstance.isDead() || bugInstance.getLastVersion() >= i - 1); boolean activeCurrent = !bugInstance.isDead() || bugInstance.getLastVersion() >= i;
int buried = (int) b.getLastVersion() + 1; int finish = buried; if (finish == 0) { int buried = (int) b.getLastVersion() + 1; String bugPattern = b.getBugPattern().getType();
if (bug.getLastVersion() >= 0 && bug.getFirstVersion() > bug.getLastVersion()) { throw new IllegalStateException("Illegal Version range: " + bug.getFirstVersion() + ".." + bug.getLastVersion());
if (bugInstance.isDead() && bugInstance.getFirstVersion() > bugInstance.getLastVersion()) { throw new IllegalStateException("huh");
return false; long lastSeen = bug.getLastVersion(); if (lastSeen < 0) { lastSeen = collection.getSequenceNumber(); return false; if ((lastAsString != null || fixedAsString != null) && (last < 0 || bug.getLastVersion() != last)) { return false;
dropped++; continue; } else if (bug.getLastVersion() >= trimToVersion) { bug.setLastVersion(-1); bug.setRemovedByChangeOfPersistingClass(false);
if (newBug.isDead() && newBug.getFirstVersion() > newBug.getLastVersion()) { throw new IllegalStateException("Illegal Version range: " + newBug.getFirstVersion() + ".." + newBug.getLastVersion()); + newBug.getLastVersion());
private boolean bugLiveAt(BugInstance bug, long now) { if (now < bug.getFirstVersion()) { return false; } if (bug.isDead() && bug.getLastVersion() < now) { return false; } return true; }