In Computer programming, derived objects are files (intermediate or not) that are not directly maintained, but get created. The most typical context is that of compilation, linking, and packaging of source files. Depending on the revision control (SCM) system, they may be completely ignored, managed as second class citizens or potentially considered the archetype of configuration items. The second case assumes a reproducible process to produce them. The third case implies that this process is itself being managed, or in practice audited. Currently, only builds are typically audited, but nothing in principle prevents the extension of this to more general patterns of production. Derived objects may then have a real identity. Different instances of the same derived object may be discriminated generically from each other on the basis of their dependency tree. Version control