except UF.CHError as e: print(str(e.wrap())) exit(1) if args.history: summarieslist = UF.read_project_summary_results_history(cpath) else: summarieslist = [ UF.read_project_summary_results(cpath) ] for summaries in summarieslist: # summaries = UF.read_project_summary_results(cpath) try: if summaries == None: sempath = os.path.join(cpath,'semantics') capp = CApplication(sempath) timestamp = os.stat(capp.path).st_ctime result = RP.project_proofobligation_stats_to_dict(capp) result['timestamp'] = timestamp result['project'] = cpath UF.save_project_summary_results(cpath, result) UF.save_project_summary_results_as_xml(cpath, result) summaries = UF.read_project_summary_results(cpath) print(RP.project_proofobligation_stats_dict_to_string(summaries)) except IndexedTableError as e: print( '\n' + ('*' * 80) + '\nThe analysis results format has changed' + '\nYou may have to re-run the analysis first: ' + '\n' + e.msg + '\n' + ('*' * 80))
capp.reinitialize_tables() capp.update_spos() for i in range(5): capp.update_spos() am.generate_and_check_app("llrvisp", processes=args.maxprocesses) capp.reinitialize_tables() def filefilter(filename): return not (filename in ["io", "main_linux", "std_thread"]) with timing("summarize"): contractviolations = capp.get_contract_condition_violations() if len(contractviolations) > 0: print(" --> " + str(len(contractviolations)) + " contract violations in " + args.path) timestamp = os.stat(capp.path).st_ctime try: result = RP.project_proofobligation_stats_to_dict( capp, filefilter=filefilter) result["timestamp"] = timestamp result["project"] = cpath UF.save_project_summary_results(cpath, result) except IndexedTableError as e: print("\n" + ("*" * 80) + "\nThe analysis results format has changed" + "\nYou may have to re-run the analysis first: " + "\n" + e.msg + "\n" + ("*" * 80))