code: def all_simple_bb_paths(self, start_address, end_address):
          
          bb_start = self._find_basic_block(start_address)
          bb_end = self._find_basic_block(end_address)
  
          paths = networkx.all_simple_paths(self._graph, source=bb_start.address, target=bb_end.address)
  
          return ([self._bb_by_addr[addr] for addr in path] for path in paths)
docs: Return a list of path between start and end address.