1. A method comprising: storing, by a device, one or more changes to source code that defines functions and global data elements of a software project; performing, by the device, a static analysis of the source code to determine functions in the source code and global data elements in the source code that correspond to one or more changed functions of the source code, performing the static analysis including: analyzing a set of the one or more changed functions to determine a respective impacted scope of the one or more changed functions in the set of the one or more changed functions; determining, based on analyzing the set of the one or more changed functions, at least one of the functions that is called by a respective changed function of the one or more changed functions; marking one or more global data elements that correspond to the respective impacted scope of the one or more changed functions in the set of the one or more changed functions; and determining whether one or more other functions read data from the marked one or more global data elements, the one or more other functions being different than the functions, and the one or more other functions not being directly called by the functions; and executing, by the device, a test of the software project using a set of test units determined based on performing the static analysis.