Software tools to facilitate research programming