docs: def get_abstract_locations(self, addr, size):
          """
          Get a list of abstract locations that is within the range of [addr, addr + size]
  
          This implementation is pretty slow. But since this method won't be called frequently, we can live with the bad
          implementation for now.
  
          :param addr:    Starting address of the memory region.
          :param size:    Size of the memory region, in bytes.
          :return:        A list of covered AbstractLocation objects, or an empty list if there is none.
          """
  
          ret = [ ]
          for aloc in self._alocs.values():
              for seg in aloc.segments:
                  if seg.offset >= addr and seg.offset < addr + size:
                      ret.append(aloc)
                      break
  
          return ret