The document is a student paper about control flow based design. It introduces control flow graphs, which graphically represent the flow of a program during execution. Control flow graphs are used in static analysis and by compilers. They show all possible paths through a program. The document discusses that control flow graphs are process oriented, directed graphs. Their nodes represent basic blocks and edges represent control flow paths. It also outlines that control flow graphs contain entry and exit blocks.