1. An apparatus for performing a defect analysis for a software component based upon one or more hardware state changes, the apparatus comprising: a processor; and a computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the apparatus to obtain hardware state data at different points in time, the hardware state data comprising data that describes the operational state of one or more hardware devices in an execution environment for the software component, store the obtained hardware state data in a version control graph maintained by a version control system, utilize the hardware state data stored in the version control graph to perform a defect analysis for an issue with the software component, and utilize the hardware state data stored in the version control graph to restore a configuration of at least one of the one or more hardware devices to a previous point in time based upon results of the defect analysis.