• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Testcase generation tool for combinatorial interaction testing


Commit MetaInfo

Revisiondfb9b32a32c3e6805ab8d29ab84610377ed86aaf (tree)
Time2016-03-24 14:24:11
Authort-tutiya <tatsuhiro@ieee...>
Commitert-tutiya

Log Message

Version 1.10
- Support arithmetic comparators: ===, !==, <, >, <=, >=.
- Memory usage reduction in BDD construction

Change Summary

Incremental Difference

--- a/src/v1/ConstraintHandler.java
+++ b/src/v1/ConstraintHandler.java
@@ -169,6 +169,7 @@ class ConstraintHandler {
169169
170170 private int extendBddConstraint(int constraint) {
171171 int f = constraint;
172+
172173 for (VariableAndBDD p : parameters) {
173174 int cube = p.var[0];
174175 bdd.ref(cube);
@@ -179,12 +180,13 @@ class ConstraintHandler {
179180 }
180181 int tmp0 = bdd.ref(bdd.exists(f, cube));
181182 int tmp = bdd.ref(bdd.and(tmp0, cube));
182- int newf = bdd.ref(bdd.or(f, tmp));
183-
184- bdd.deref(cube);
183+ bdd.deref(cube);
185184 bdd.deref(tmp0);
185+
186+ int newf = bdd.ref(bdd.or(f, tmp));
186187 bdd.deref(tmp);
187188 bdd.deref(f);
189+
188190 f = newf;
189191 }
190192 return f;
@@ -289,7 +291,6 @@ class ConstraintHandler {
289291 i++;
290292 }
291293
292-
293294 /* for debug
294295 test.print(); for (int k = 0; k < res.length; k++)
295296 System.err.print(res[k] ? 1 : 0); System.err.println("<*");
--- a/src/v1/Generator.java
+++ b/src/v1/Generator.java
@@ -233,6 +233,8 @@ class Generator2 extends Generator {
233233
234234 boolean isSeedUsed = false;
235235
236+ // debug: System.err.print("seedrownum: " + seedrownum + "-> ");
237+
236238 // seedのコピー 制約を満たさなかったらエラー
237239 if (seed.size() > 0 && seedrownum < seed.size()) {
238240 isSeedUsed = true;
@@ -284,8 +286,12 @@ class Generator2 extends Generator {
284286 res.numOfCoveredTuples = newtuples;
285287 if (isSeedUsed) {
286288 res.nextSeedRow = seedrownum + 1;
287- } else
289+ } else {
288290 res.nextSeedRow = seedrownum;
291+ }
292+
293+ // debug: System.err.println("next seed row:" + res.nextSeedRow);
294+
289295 return res;
290296 }
291297
@@ -431,6 +437,9 @@ class Generator2 extends Generator {
431437 for (int j = i + 1; j < numOfParameters; j++) {
432438 if (tab.get(i, test.get(i), j, test.get(j)) == false) {
433439 tab.set(i, test.get(i), j, test.get(j));
440+
441+ // debug: System.err.println(i + ":" + test.get(i)+", " + j + ":" + test.get(j));
442+
434443 numOfNewlyCoveredTuples++;
435444 }
436445 }