help="directory that holds the semantics directory (or tar.gz file)") args = parser.parse_args() return args def savexrefs(f): capp.indexmanager.savexrefs(capp.path, f.name, f.index) if __name__ == "__main__": args = parse() try: cpath = UF.get_project_path(args.path) UF.check_semantics(cpath) except UF.CHError as e: print(str(e.wrap())) exit(1) sempath = os.path.join(cpath, "semantics") capp = CApplication(sempath) print("Global entities") if capp.declarations: print(str(capp.declarations.get_stats())) print("\nFile line and function counts\n") print(capp.get_line_counts()) request = { "mem": lambda v: v.is_mem(), "tmp": lambda v: v.is_tmpvar(),
t0 = time.time() yield print("\n" + ("=" * 80) + "\nCompleted " + activity + " in " + str(time.time() - t0) + " secs" + "\n" + ("=" * 80)) def save_xrefs(f): capp.indexmanager.save_xrefs(capp.path, f.name, f.index) if __name__ == "__main__": args = parse() try: cpath = UF.get_juliet_testpath(args.cwe, args.test) UF.check_semantics(cpath, deletesemantics=True) except UF.CHError as e: print(str(e.wrap())) exit(1) logfilename = os.path.join(cpath, "chc_logfile.txt") logging.basicConfig(filename=logfilename, level=logging.WARNING) sempath = os.path.join(cpath, "semantics") excludefiles = ["io.c", "main_linux.c", "std_thread.c"] capp = CApplication(sempath, excludefiles=excludefiles) linker = CLinker(capp) linker.link_compinfos() linker.link_varinfos()
help="don't show preconditions", action='store_true') parser.add_argument('--xpost', help="don't show postconditions", action='store_true') args = parser.parse_args() return args if __name__ == '__main__': args = parse() try: cpath = UF.get_project_path(args.path) UF.check_semantics(cpath, deletesemantics=False) except UF.CHError as e: print(str(e.wrap())) exit(1) sempath = os.path.join(cpath, 'semantics') if args.contractpath is None: contractpath = os.path.join(cpath, 'chc_contracts') else: contractpath = args.contractpath capp = CApplication(sempath, contractpath=contractpath) lines = [] result = {}
except UF.CHError as e: print(str(e.wrap())) exit(1) if args.logging is None: loglevel = logging.WARNING else: if args.logging == 'DEBUG': loglevel = logging.DEBUG elif args.logging == 'INFO': loglevel = logging.INFO elif args.logging == 'WARNING': loglevel = logging.WARNING elif args.logging == 'ERROR': loglevel = logging.ERROR elif args.logging == 'CRITICAL': loglevel = logging.CRITICAL try: cpath = UF.get_project_path(args.path) UF.check_semantics(cpath, deletesemantics=args.deletesemantics) sempath = os.path.join(cpath, 'semantics') except UF.CHError as e: print(str(e.wrap())) exit(1) logfilename = os.path.join(cpath, 'chclogfile.txt') logging.basicConfig(filename=logfilename, level=loglevel) if args.contractpath is None: contractpath = os.path.join(cpath, 'chc_contracts') else: contractpath = args.contractpath # check linkinfo