bentsherman / codeflow

Flow graphs for your code
0 stars 0 forks source link

Configure the granularity of a flow graph #4

Open bentsherman opened 2 years ago

bentsherman commented 2 years ago

A general problem with flow graphs is that they can be defined at any level of granularity. For example, with a CFG each node could be an individual statement, but statements can contain arbitrarily complex expressions, such as loops and large mathematical expressions.

How should function calls be handled? Should they be left alone or expanded inline into the flow graph?

My inclination is to reflect the user's decomposition of tasks as much as possible. For example, leave function calls as they are, because the user decides how to compose functions, so if they don't like the flow graph's decomposition, they need only change their code accordingly.

Another part of the solution may be to make the flow graphs interactive, so that the user can click on a composite task and "zoom in" to see the underlying details.