コード例 #1
0
    @wali.PySemElem.printexc
    def __str__(self):
        if self.getuserdata()["isreached"] == True:
            return "ONE"
        else:
            return "ZERO"


reachOne = PyReach(True)
reachOnePtr = wali.SemElemPtr(reachOne)

reachZero = PyReach(False)
reachZeroPtr = wali.PySemElemPtr(reachZero)

# Test domain
wali.test_semelem_impl(reachOnePtr)

print "One element: ", str(reachOne)
print "Zero element: ", str(reachZero)

myWpds = wali.FWPDS()
p = wali.get_key("p")
accept = wali.get_key("accept")

n = []
for i in range(0, 12):
    n += [wali.get_key("n" + str(i))]

# f intraprocedural
myWpds.add_rule(p, n[0], p, n[1], reachOnePtr)
reachOnePtr = wali.SemElemPtr(reachOne)
コード例 #2
0
ファイル: constdom_test.py プロジェクト: 13572293130/dissy
 def test_basicweightdomain(self):
     a = ConstDom("")
     wali.test_semelem_impl(wali.SemElemPtr(a))
コード例 #3
0
    import os.path
    root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    lib_dir = os.path.join(root_dir, 'lib')
    print "Could not load the 'wali' module, maybe you need to:"
    print "export LD_LIBRARY_PATH=" + lib_dir
    raise e

reachOne = wali.Reach(True)
reachOnePtr = wali.SemElemPtr(reachOne)
#reachOne = wali.SemElemPtr()

reachZero = wali.Reach(False)
reachZeroPtr = wali.SemElemPtr(reachZero)

#Test domain
wali.test_semelem_impl(reachOnePtr)

myWpds = wali.FWPDS()
p = wali.get_key("p")
accept = wali.get_key("accept")

n = []
for i in range(0, 12):
    n += [wali.get_key("n" + str(i))]

#f intraprocedural
myWpds.add_rule(p, n[0], p, n[1], reachOnePtr)
myWpds.add_rule(p, n[0], p, n[1], reachOnePtr)
myWpds.add_rule(p, n[1], p, n[2], reachOnePtr)
myWpds.add_rule(p, n[1], p, n[3], reachOnePtr)
myWpds.add_rule(p, n[2], p, n[4], reachOnePtr)
コード例 #4
0
 def test_basicweightdomain(self):
     a = ConstDom("")
     wali.test_semelem_impl(wali.SemElemPtr(a))