Patent ID: 8266613

Claim:
An image forming apparatus capable of communicating with a server storing a plurality of kinds of update programs together with update information including an updated state of each of a plurality of kinds of functions, comprising: a nontransitory program storage portion to store an execution program; a function execution portion to execute said stored execution program and execute at least one of the plurality of kinds of functions; a performance storage portion, when any of said plurality of kinds of functions is executed, to store performance information regarding execution of the function; a determination portion to determine, based on said performance information and said update information stored in said server, an update target portion to be updated within said execution program, and a target program for use in updating said execution program from among said plurality of kinds of update programs stored in said server; and an updating portion to acquire said determined target program and update said update target portion of said execution program with said acquired target program, wherein: said performance information includes defect information associating defect identification information specifying a defect that occurred when said function was executed, and said determination portion determines a portion in said execution program related to said function included in said defect information as said update target portion, and determines one of said plurality of kinds of update programs in which a portion related to said function included in said defect information is updated as said target program.