human
Here's a good function header given the following:
I wrote the below code

    def get_function_name(addr):
        start = 0
        end = (len(function_list) - 1)
        while (start <= end):
            mid = ((start + end) / 2)
            f = function_list[mid]
            if (addr < f['start']):
                end = (mid - 1)
            elif (addr > f['end']):
                start = (mid + 1)
            else:
                return f['name']
        return None
    function_list = sorted(function_list, key=(lambda x: x['start']))
    s_graph = networkx.DiGraph()
    all_nodes = sorted(standard.nodes())
    addr_to_basicblock = {}
    last_basicblock = None
    for n in all_nodes:
        if (last_basicblock is None):
            last_basicblock = (n, n)
        block = last_basicblock
        successors = standard.successors(n)
        if ((len(successors) == 1) and (successors[0] >= block[0])):
            last_basicblock = (block[0], successors[0])
        else:
            addr_to_basicblock[block[0]] = block
            for s in successors:
                s_graph.add_edge(block[0], s)
            last_basicblock = None
    graph = networkx.DiGraph()
    for (src, dst) in g.edges():
        graph.add_edge(src.addr, dst.addr)
    for (src, dst) in s_graph.edges():
        if graph.has_edge(src, dst):
            continue
        else:
            l.error('Edge    (%s-0x%x,    %s-0x%x)    only    exists    in    IDA    CFG.', get_function_name(src), src, get_function_name(dst), dst)
    for (src, dst) in graph.edges():
        if s_graph.has_edge(src, dst):
            continue
        else:
            l.error("Edge    (%s-0x%x,    %s-0x%x)    only    exists    in    angr's    CFG.", get_function_name(src), src, get_function_name(dst), dst)

What's a good function header?
assistant
#Here's a good function header.

def compare_cfg(standard, g, function_list):