Defining, analyzing, and transforming program constructs | IEEE Journals & Magazine | IEEE Xplore