Building program understanding tools using visitor combinators | IEEE Conference Publication | IEEE Xplore