generate heap path