Пример #1
0
def appendAndExecuteSeq(seq, n, eseqs, nseqs):
	ok = False
	propok = False
	classTable = dict.fromkeys(sut.actionClasses(), 0)
	timeover = time.time() - start >= timeout

	while n > 0:
		n -= 1
		a = sut.randomEnabled(rgen)
		seq.append(a)

		if equal(seq, eseqs) or equal(seq, nseqs):
			continue

		ok = sut.safely(a)
		propok = sut.check()
		classTable[sut.actionClass(a)] += 1

		if running:
			argRunning(a)

		if contract(ok, propok, seq, eseqs):
			break

		timeover = time.time() - start >= timeout
		if timeover:
			return (ok, propok, classTable, timeover)

	return (ok, propok, classTable, timeover)
Пример #2
0
def abstraction(s):
    if len(s) <= 3:
        return (sut.actionClass(s), )
    else:
        return (sut.actionClass(s), s[3])
Пример #3
0
    sources[f] = sut.loadTest(f)

print("DETAILED PROVENANCE SUMMARY:")

lsrcs = sorted(list(lowLevel.keys()), key=lambda x: len(lowLevel[x]))

print()
print()
print("BY ACTION CLASS:")

classes = {}
for s in lsrcs:
    ss = s.split(":")
    srcAct = sources[ss[0]][int(ss[1])]
    print(s, len(lowLevel[s]), sut.prettyName(srcAct[0]))
    c = sut.actionClass(srcAct)
    if c in classes:
        classes[c].extend(lowLevel[s])
    else:
        classes[c] = lowLevel[s]

csrcs = sorted(list(classes.keys()), key=lambda x: len(classes[x]))

for c in csrcs:
    print(c, len(classes[c]))

print()
print()

print("FILE LEVEL PROVENANCE SUMMARY:")
Пример #4
0
def actionClassPools(sut):
	dic = defaultdict(list)
	for a in sut.actions():
		dic[sut.actionClass(a)].append(a)
	return dic
Пример #5
0
		acts = sut.randomEnableds(rgen, seed)
	else:
		acts = sut.randomEnableds(rgen, 1)

	if nonErrorSeqs:
		newSeq = random.choice(nonErrorSeqs)
		newSeq.extend(acts)
	else:
		newSeq = acts

	if isNewIn(newSeq, errorSeqs, nonErrorSeqs):
		continue

	numActionClasses = dict.fromkeys(sut.actionClasses(), 0)
	for a in acts:
		numActionClasses[sut.actionClass(a)] += 1
		if running:
			argRunning(a, sut, start)
	
		isOk = sut.safely(a)
		isPropOk = sut.check()

		if not isContracts(a, isOk, isPropOk, sut, faults, failureCount, errorSeqs):
			break

	if isFilters(newSeq, numActionClasses, isOk, isPropOk, depth):
		nonErrorSeqs.append(newSeq)

	#printSeq(newSeq)

if coverage:
Пример #6
0
import random
import os
import glob

# Appending current working directory to sys.path
# So that user can run randomtester from the directory where sut.py is located
current_working_dir = os.getcwd()
sys.path.append(current_working_dir)

import sut

sut = sut.sut()
classes = []
nacts = len(sut.actions())
for a in sut.actions():
    if sut.actionClass(a) not in classes:
        classes.append(sut.actionClass(a))

#print len(classes)        

n = int(sys.argv[1])
corpfile = sys.argv[2]
outfile = sys.argv[3]

tests = []
test = []

if "--prefix" in sys.argv:
    for f in glob.glob(corpfile+"*.*"):
        for l in open(f):
            if "--raw" not in sys.argv:
Пример #7
0
         failures[ft][fail] = []
 failInOrder.append(fail)
 t = sut.loadTest(base.replace("normalized", "full"))
 allFullTests[sut.captureReplay(t)] = True
 if t not in failures["full"][fail]:
     failures["full"][fail].append(t)
 r = sut.loadTest(base.replace("normalized", "reduced"))
 allReducedTests[sut.captureReplay(r)] = True
 if r not in failures["reduced"][fail]:
     failures["reduced"][fail].append(r)
 n = sut.loadTest(base)
 allNormalizedTests[sut.captureReplay(n)] = True
 if n not in failures["normalized"][fail]:
     failures["normalized"][fail].append(n)
 for s in t:
     if sut.actionClass(s) not in allFullActions:
         allFullActions.append(sut.actionClass(s))
 lengths["full"].append(len(t))
 actions["full"].append(len(set(map(sut.actionClass, t))))
 times["full"].append(0.0)
 for s in r:
     if sut.actionClass(s) not in allReducedActions:
         allReducedActions.append(sut.actionClass(s))
 lengths["reduced"].append(len(r))
 actions["reduced"].append(len(set(map(sut.actionClass, r))))
 for s in n:
     if sut.actionClass(s) not in allNormalizedActions:
         allNormalizedActions.append(sut.actionClass(s))
 lengths["normalized"].append(len(n))
 actions["normalized"].append(len(set(map(sut.actionClass, n))))
 for l in open(base.replace("normalized", "reducetime")):
Пример #8
0
import sut
import sys
import random

sut = sut.sut()
classes = []
nacts = len(sut.actions())
for a in sut.actions():
    if sut.actionClass(a) not in classes:
        classes.append(sut.actionClass(a))

#print len(classes)        

n = int(sys.argv[1])
corpfile = sys.argv[2]
outfile = sys.argv[3]

tests = []
test = []
for l in open(corpfile):
    if ("="*50) in l:
        tests.append(test)
        test = []
    test.append(l[:-1])
#print len(tests)
#print tests[0]

chains = {}

for t in tests:
    for pos in xrange(n+1,len(t)):
Пример #9
0
         failures[ft][fail] = []
 failInOrder.append(fail)
 t = sut.loadTest(base.replace("normalized","full"))
 allFullTests[sut.captureReplay(t)] = True
 if t not in failures["full"][fail]:
     failures["full"][fail].append(t)
 r = sut.loadTest(base.replace("normalized","reduced"))
 allReducedTests[sut.captureReplay(r)] = True    
 if r not in failures["reduced"][fail]:
     failures["reduced"][fail].append(r)    
 n = sut.loadTest(base)
 allNormalizedTests[sut.captureReplay(n)] = True    
 if n not in failures["normalized"][fail]:
     failures["normalized"][fail].append(n)
 for s in t:
     if sut.actionClass(s) not in allFullActions:
         allFullActions.append(sut.actionClass(s))
 lengths["full"].append(len(t))
 actions["full"].append(len(set(map(sut.actionClass,t))))
 times["full"].append(0.0)
 for s in r:
     if sut.actionClass(s) not in allReducedActions:
         allReducedActions.append(sut.actionClass(s))    
 lengths["reduced"].append(len(r))
 actions["reduced"].append(len(set(map(sut.actionClass,r))))
 for s in n:
     if sut.actionClass(s) not in allNormalizedActions:
         allNormalizedActions.append(sut.actionClass(s))    
 lengths["normalized"].append(len(n))
 actions["normalized"].append(len(set(map(sut.actionClass,n))))
 for l in open(base.replace("normalized","reducetime")):
Пример #10
0
import sut
import sys
import random
import glob

sut = sut.sut()
classes = []
nacts = len(sut.actions())
for a in sut.actions():
    if sut.actionClass(a) not in classes:
        classes.append(sut.actionClass(a))

#print len(classes)        

n = int(sys.argv[1])
corpfile = sys.argv[2]
outfile = sys.argv[3]

tests = []
test = []

if "--prefix" in sys.argv:
    for f in glob.glob(corpfile+".*"):
        for l in open(f):
            if "--raw" not in sys.argv:
                test.append(l[:-1])
            else:
                test.append(sut.actionClass(sut.playable(l[:-1])))
        if test != []:
            tests.append(test)
            test = []