def getStartNodes(fdefs, calls):
    """Return a list of nodes in fdefs that have no inbound edges"""
    s = []
    for source in fdefs:
        for fn in fdefs[source]:
            inboundEdges = False
            for call in calls:
                if call.target == fn:
                    inboundEdges = True
            if not inboundEdges:
                s.append(fn)
    return s
