package cute.gui; import cute.concolic.logging.BranchCoverageLog; import java.util.HashMap; import java.util.Iterator; /** * . * User: Koushik Sen (ksen@cs.uiuc.edu) * Date: Nov 4, 2005 * Time: 11:09:55 PM */ public class CoverageGui extends CoverageView { /** * */ private static final long serialVersionUID = -3224933131178645582L; public CoverageGui() { super(); } public void fillGuiWithData(BranchCoverageLog bc,JCuteTextUI tui) { if(bc==null) return; int total=0; int sum = 0; lm.clear(); HashMap functionBranchCoverage = bc.getFunctionBranchCoverage(); for (Iterator iterator = functionBranchCoverage.keySet().iterator(); iterator.hasNext();) { String fname = (String) iterator.next(); int[] branches = (int []) functionBranchCoverage.get(fname); total += (2*branches.length); int localSum = 0; for (int i = 0; i < branches.length; i++) { int branch = branches[i]; if ((branch & 1)!=0) { sum++; localSum++;} if ((branch & 2)!=0) { sum++; localSum++;} } lm.addElement(localSum+" branches covered out of "+(branches.length*2)+" branches in the function "+fname); } double percentage = ((int)((10000.0*sum)/total))/100.0; l2.setText(String.valueOf(bc.functionBranchCoverage.size())); l3.setText(String.valueOf(sum)); l4.setText(String.valueOf(percentage)+"%"); l5.setText(String.valueOf(bc.getIterations())); l6.setText(String.valueOf(tui.getRunningTime())); countExceptions.setText(String.valueOf(tui.getCountExceptions())); countRaces.setText(String.valueOf(tui.getCountRaceFields())); races.setText(String.valueOf(tui.getErrorCountRace())); deadlocks.setText(String.valueOf(tui.getErrorCountDeadlock())); assertions.setText(String.valueOf(tui.getErrorCountAssertion())); exceptions.setText(String.valueOf(tui.getErrorCountException())); this.total.setText(String.valueOf(tui.getErrorCountTotal())); } }