A technique called “runtime tracing” allows the design team to keep under control the thousands of files necessary to execute a large hardware or software project. This technique builds a complete graph of all the dependencies and supports automatic documentation of the design flow, network computing, and intelligent propagation of changes. The benefits of this technique are illustrated with data from real-world projects.