def _initCFG(self, row): self.currentCFG = CFG() self.currentCFG.addNode(BasicBlock(row)) self.currentLevel = int(getCSVRowLevel(row)) + 1 self.functionLevel = self.currentLevel - 1 self.functionName = row[5] self.functionPos = row[1] self.resetStacks()
def prune(self, cfg): prunedCfg = CFG() prunedCfg.edges = cfg.edges for basicBlock in cfg.nodes: prunedBasicBlock = self.pruneBasicBlock(basicBlock) prunedCfg.addNode(prunedBasicBlock) prunedCfg.registerSuccessors() return prunedCfg