Exemplo n.º 1
0
#!/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)
Exemplo n.º 2
0
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',
Exemplo n.º 3
0
#!/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(
Exemplo n.º 4
0
#!/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)
Exemplo n.º 5
0
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',