Ejemplo n.º 1
0
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description="List the symbols used to build a goto binary.")

    optionst.viewer_symbol(parser)
    optionst.viewer_source(parser)

    optionst.goto(parser)
    optionst.wkdir(parser)
    optionst.srcdir(parser)

    parser.add_argument('--files',
                        nargs='+',
                        metavar='FILE',
                        help="""
        A list of FILES to scan for symbols.
        The files may be specified as either absolute paths or paths
        relative to root.
        """)

    optionst.tags_method(parser)
    optionst.log(parser)

    return parser
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description='List the source files used to build a goto binary.')

    optionst.viewer_source(parser)
    optionst.goto(parser)
    optionst.srcdir(parser)
    optionst.wkdir(parser)
    optionst.source_method(parser)
    optionst.extensions(parser)
    optionst.exclude(parser)
    optionst.log(parser)

    return parser
Ejemplo n.º 3
0
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description="List CBMC coverage checking results.")

    optionst.viewer_coverage(parser)
    optionst.srcdir(parser)

    parser.add_argument('cbmc_coverage',
                        nargs='*',
                        help="""
        An xml or json file containing the output of 'cbmc --location cover'.
        Merge the coverage data if more than one file is given.
        Do not mix xml and json files.
        """)

    optionst.log(parser)

    return parser
Ejemplo n.º 4
0
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description='List CBMC property checking results.')

    optionst.viewer_result(parser)
    parser.add_argument('cbmc_result',
                        nargs='*',
                        help="""
        One or more files containing the output of cbmc property checking
        as text, xml, or json.
        Multiple files will be merged into a single list of
        property checking results.
        Do not mix text, xml, and json files.
        """)

    optionst.log(parser)

    return parser
Ejemplo n.º 5
0
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description='Properties checked by CBMC during property checking.'
    )

    optionst.viewer_property(parser)
    optionst.srcdir(parser)

    parser.add_argument(
        'cbmc_property',
        nargs='*',
        help="""
        One or more files containing the xml or json output of
        'cbmc --show-properties'.  Do not mix xml and json files.
        """
    )

    optionst.log(parser)

    return parser
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description='List reachable functions in a goto binary.'
    )

    optionst.viewer_reachable(parser)
    optionst.goto(parser)
    optionst.srcdir(parser)

    parser.add_argument(
        'cbmc_reachable',
        nargs='*',
        help="""
        A list of xml or json files containing the output of
        'goto-analyzer --show-reachable'.  Do not mix xml and json files.
        """
    )

    optionst.log(parser)

    return parser
Ejemplo n.º 7
0
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description='List loops in a goto binary.'
    )

    optionst.viewer_loop(parser)
    optionst.goto(parser)
    optionst.srcdir(parser)

    parser.add_argument(
        'cbmc_loop',
        nargs='*',
        help="""
        A list of xml or json files containing the output of
        'cbmc --show-loops'.  Do not mix xml and json files.
        """
    )

    optionst.log(parser)

    return parser
Ejemplo n.º 8
0
def create_parser():
    """Command line parser."""

    parser = argparse.ArgumentParser(
        description="List CBMC error traces."
    )

    optionst.viewer_trace(parser)
    optionst.wkdir(parser)
    optionst.srcdir(parser)

    parser.add_argument(
        'cbmc_trace',
        nargs='*',
        help="""
        An xml or json file containing the output of cbmc property checking.
        Merge the traces if more than one file is given.
        Do not mix xml and json files.
        """
    )

    optionst.log(parser)

    return parser
Ejemplo n.º 9
0
def create_parser():
    """Create the command line parser."""

    parser = argparse.ArgumentParser(
        description='Report CBMC results.'
    )

    cbmc_data = parser.add_argument_group(
        """CBMC data""",
        """Output of 'cbmc' for property checking, coverage checking, etc."""
    )
    optionst.result(cbmc_data)
    optionst.coverage(cbmc_data)
    optionst.property(cbmc_data)

    proof_sources = parser.add_argument_group('Sources')
    optionst.srcdir(proof_sources)
    optionst.exclude(proof_sources)
    optionst.extensions(proof_sources)
    optionst.source_method(proof_sources)
    optionst.tags_method(proof_sources)

    proof_binaries = parser.add_argument_group('Binaries')
    optionst.wkdir(proof_binaries)
    optionst.goto(proof_binaries)

    viewer_output = parser.add_argument_group('Output')
    optionst.reportdir(viewer_output)
    viewer_output.add_argument(
        '--json-summary',
        metavar='JSON',
        help='Write summary of key metrics to this json file.'
    )

    viewer_data = parser.add_argument_group(
        """Viewer data""",
        """JSON files produced by the various make-* scripts."""
    )
    optionst.viewer_coverage(viewer_data)
    optionst.viewer_loop(viewer_data)
    optionst.viewer_property(viewer_data)
    optionst.viewer_reachable(viewer_data)
    optionst.viewer_result(viewer_data)
    optionst.viewer_source(viewer_data)
    optionst.viewer_symbol(viewer_data)
    optionst.viewer_trace(viewer_data)

    other = parser.add_argument_group('Other')
    optionst.log(other)
    optionst.config(other)
    optionst.version(other)

    depricated = parser.add_argument_group(
        'Depricated',
        'Options from prior versions now depricated.'
    )
    depricated = optionst.block(depricated)
    depricated = optionst.htmldir(depricated)
    depricated = optionst.srcexclude(depricated)
    depricated = optionst.blddir(depricated)
    depricated = optionst.storm(depricated)

    return parser