1. An apparatus for converting a first program code to a second program code, the first program code including a plurality of variables, the second program code being executed by a multi-core processor of the apparatus including a plurality of cores, comprising: a decision unit being executed by the processor of the apparatus, configured to decide an access pattern of each variable by the multi-core processor; and a conversion unit being executed by the processor, configured to convert the first program code to the second program code including a plurality of threads, each thread being executed by one of the plurality of cores, wherein the second program code includes (a) a first member structure including variables decided as a first access pattern, (b) a first route-pointer indicating the first member structure, the first route-pointer having a first access property representing accessibility by a core to execute a first thread, (c) a second member structure including variables decided as a second access pattern, (d) a second route-pointer indicating the second member structure, the second route-pointer having a second access property representing accessibility by the core to execute the first thread and a core to execute a second thread.