The present invention is a machine implemented, design automation method
that assists a designer in the understanding of a software and/or
hardware source code specification by transforming the source code into a
simplified specification called a program slice. The present invention
extends graph-based program slicing to the hardware-software interface
that is commonly found in embedded systems. In addition to the known
benefits of program slicing applied to a pure software or pure hardware,
the present invention aids a designer in understanding the complex
interaction between software procedures and hardware processing elements
in the context of a codesign methodology.