A support device supporting development of a user program to be executed by a control device that controls a control target, wherein the control device comprises a library that stores a callable unit program called by the user program, the support device comprising: a call detector configured to scan the user program and detect a call expression calling the callable unit program and a code generator configured to generate a code having a format executable by the control device from the user program, wherein the code generator includes: a structure code generator configured to generate a creation instruction code creating a structure storing association information associating a name of an argument with a value set to the argument with respect to each argument of the unit program included in the detected call expression; a call code generator configured to convert the call expression into a call instruction code (522, 526) calling the unit program from the library using an identifier of the structure; and a setting code generator configured to generate a setting instruction code to, for each argument of the callable unit program, in response to association information corresponding to a name of the argument of the callable unit program being stored in the structure, set a value of the argument of the callable unit program to be the value associated with the name of the argument stored in the structure, and in response to no association information corresponding to the name of the argument of the callable unit program being stored in the structure, set the value of the argument of the callable unit program to be a predetermined default value. a call detector configured to scan the user program and detect a call expression calling the callable unit program and a code generator configured to generate a code having a format executable by the control device from the user program, wherein the code generator includes: a structure code generator configured to generate a creation instruction code creating a structure storing association information associating a name of an argument with a value set to the argument with respect to each argument of the unit program included in the detected call expression; a call code generator configured to convert the call expression into a call instruction code (522, 526) calling the unit program from the library using an identifier of the structure; and a setting code generator configured to generate a setting instruction code to, for each argument of the callable unit program, in response to association information corresponding to a name of the argument of the callable unit program being stored in the structure, set a value of the argument of the callable unit program to be the value associated with the name of the argument stored in the structure, and in response to no association information corresponding to the name of the argument of the callable unit program being stored in the structure, set the value of the argument of the callable unit program to be a predetermined default value. a structure code generator configured to generate a creation instruction code creating a structure storing association information associating a name of an argument with a value set to the argument with respect to each argument of the unit program included in the detected call expression; a call code generator configured to convert the call expression into a call instruction code (522, 526) calling the unit program from the library using an identifier of the structure; and a setting code generator configured to generate a setting instruction code to, for each argument of the callable unit program, in response to association information corresponding to a name of the argument of the callable unit program being stored in the structure, set a value of the argument of the callable unit program to be the value associated with the name of the argument stored in the structure, and in response to no association information corresponding to the name of the argument of the callable unit program being stored in the structure, set the value of the argument of the callable unit program to be a predetermined default value. in response to association information corresponding to a name of the argument of the callable unit program being stored in the structure, set a value of the argument of the callable unit program to be the value associated with the name of the argument stored in the structure, and in response to no association information corresponding to the name of the argument of the callable unit program being stored in the structure, set the value of the argument of the callable unit program to be a predetermined default value.