A straight line of code with no branches. It has: 1 entry point 1 exit point When the entry point is found, it just has one path of execution. Basic blocks form the nodes in a CFG