#!/usr/bin/env python import argparse import os import sys import string import rcs_utils import ng_utils if __name__ == '__main__': parser = argparse.ArgumentParser( description = 'Check the call graph generated based on the ' \ 'specified AA') parser.add_argument('bc', help = 'the bitcode of the program') parser.add_argument('log', help = 'the point-to log') parser.add_argument('aa', help = 'the underlying alias analysis: ' + \ str(ng_utils.get_aa_choices()), metavar = 'aa', choices = ng_utils.get_aa_choices()) args = parser.parse_args() cmd = ng_utils.load_all_plugins('opt') cmd = ng_utils.load_aa(cmd, args.aa) cmd = string.join((cmd, '-fpcg')) cmd = string.join((cmd, '-check-cg')) cmd = string.join((cmd, '-log-file', args.log)) cmd = string.join((cmd, '-disable-output', '<', args.bc)) rcs_utils.invoke(cmd)
import argparse import ng_utils import rcs_utils import sys import time import string if __name__ == '__main__': parser = argparse.ArgumentParser(description = 'Insert alias checker') parser.add_argument('prog', help = 'the program name (e.g. mysqld)') # online alias checker args parser.add_argument('aa', help = 'the checked alias analysis: ' + \ str(ng_utils.get_aa_choices()), metavar = 'aa', choices = ng_utils.get_aa_choices()) parser.add_argument('--baseline', help = 'baseline AA which is assumed to be ' + \ 'correct: ' + str(ng_utils.get_aa_choices()), metavar = 'baseline_aa', default = 'no-aa', choices = ['no-aa', 'basicaa', 'tbaa']) parser.add_argument('--disable-inline', help = 'do not inline the alias checks', action = 'store_true', default = False) parser.add_argument('--disable-opt', help = 'do not run standard compiler optimization', action = 'store_true',
#!/usr/bin/env python import argparse import ng_utils import rcs_utils import sys import time if __name__ == "__main__": parser = argparse.ArgumentParser(description="Insert alias checker") parser.add_argument("prog", help="the program name (e.g. mysqld)") parser.add_argument( "aa", help="the checked alias analysis: " + str(ng_utils.get_aa_choices()), metavar="aa", choices=ng_utils.get_aa_choices(), ) # Due to the behavior of LLVM's alias analysis chaining, the baseline AA # must be an ImmutablePass. parser.add_argument( "--baseline", help="baseline AA which is assumed to be " + "correct: " + str(ng_utils.get_aa_choices()), metavar="baseline_aa", default="no-aa", choices=["no-aa", "basicaa", "tbaa"], ) parser.add_argument("--disable-inline", help="do not inline the alias checks", action="store_true", default=False) parser.add_argument( "--disable-opt", help="do not run standard compiler optimization", action="store_true", default=False ) parser.add_argument(
#!/usr/bin/env python import argparse import os import sys import string import rcs_utils import ng_utils if __name__ == '__main__': parser = argparse.ArgumentParser( description = 'Check the call graph generated based on the ' \ 'specified AA') parser.add_argument('bc', help='the bitcode of the program') parser.add_argument('log', help='the point-to log') parser.add_argument('aa', help = 'the underlying alias analysis: ' + \ str(ng_utils.get_aa_choices()), metavar = 'aa', choices = ng_utils.get_aa_choices()) args = parser.parse_args() cmd = ng_utils.load_all_plugins('opt') cmd = ng_utils.load_aa(cmd, args.aa) cmd = string.join((cmd, '-fpcg')) cmd = string.join((cmd, '-check-cg')) cmd = string.join((cmd, '-log-file', args.log)) cmd = string.join((cmd, '-disable-output', '<', args.bc)) rcs_utils.invoke(cmd)
import argparse import ng_utils import rcs_utils import sys import time import string if __name__ == '__main__': parser = argparse.ArgumentParser(description='Insert alias checker') parser.add_argument('prog', help='the program name (e.g. mysqld)') # online alias checker args parser.add_argument('aa', help = 'the checked alias analysis: ' + \ str(ng_utils.get_aa_choices()), metavar = 'aa', choices = ng_utils.get_aa_choices()) parser.add_argument('--baseline', help = 'baseline AA which is assumed to be ' + \ 'correct: ' + str(ng_utils.get_aa_choices()), metavar = 'baseline_aa', default = 'no-aa', choices = ['no-aa', 'basicaa', 'tbaa']) parser.add_argument('--disable-inline', help='do not inline the alias checks', action='store_true', default=False) parser.add_argument('--disable-opt', help='do not run standard compiler optimization', action='store_true',