def __init__(self, func, cache_dir='.proof', _trace=[]):
        self._name = func.__name__
        self._func = func
        self._cache_dir = cache_dir
        self._trace = _trace + [self]
        self._child_analyses = []

        self._cache_path = os.path.join(self._cache_dir, '%s.cache' % self._fingerprint())
        self._cache = Cache(self._cache_path)

        self._registered_cache_paths = []
        self._trace[0]._registered_cache_paths.append(self._cache_path)
dataset/ETHPy150Open wireservice/proof/proof/analysis.py/Analysis.__init__/original