A method of verifying properties of a source program includes creating a
directed multigraph from the source program. The directed multigraph is
then minimized by identifying removable vertices in the multigraph. Based
on the minimization of the directed multigraph, the source program is
transformed by inlining variables in the source program to produce a
transformed program. The transformed program is then model checked using
a model checking tool in order to verify properties of the source
program.