A program producing device that produces a Human Machine Interface program for Factory Automation, the program including a plurality of constituents, the program producing device comprising a storage that is configured to store correlation information in which for each constituent at least one change content of the constituent and another constituent having a dependence relationship on which the change has an influence is correlated with each other; a program editor that is configured to receive a user's content for editing and store the editing content in the storage, wherein the editing content includes source code change information in which changed program constituents are listed; edit a source code of the storage according to the editing content, and store the edited source code in the storage; and a compiling unit that is configured to compile the program based on the source code change information and a dependence relationship graph, and includes: a compiling object detector that, when at least one constituent is changed, is configured to detect at least one other constituent, that is correlated with the change content and the changed constituent, as an object to be compiled from the plurality of constituents, extract the other constituent from the edited source code and compile the extracted constituent, and output a compiling deliverable including an executable HMI program; and a dependence relationship processor configured to generate from the compiling deliverable based on the correlation information, every time a compiling is performed, the dependence relationship graph that is information indicating a dependence relationship between the plural constituents of the HMI program, and store and update the dependence relationship graph in the storage for a next compiling. receive a user's content for editing and store the editing content in the storage, wherein the editing content includes source code change information in which changed program constituents are listed; edit a source code of the storage according to the editing content, and store the edited source code in the storage; and a compiling object detector that, when at least one constituent is changed, is configured to detect at least one other constituent, that is correlated with the change content and the changed constituent, as an object to be compiled from the plurality of constituents, extract the other constituent from the edited source code and compile the extracted constituent, and output a compiling deliverable including an executable HMI program; and detect at least one other constituent, that is correlated with the change content and the changed constituent, as an object to be compiled from the plurality of constituents, extract the other constituent from the edited source code and compile the extracted constituent, and output a compiling deliverable including an executable HMI program; and a dependence relationship processor configured to generate from the compiling deliverable based on the correlation information, every time a compiling is performed, the dependence relationship graph that is information indicating a dependence relationship between the plural constituents of the HMI program, and store and update the dependence relationship graph in the storage for a next compiling.