Method for separately executing software, apparatus, and computer-readable recording medium
First Claim
1. A system for shared execution of software stored in a user terminal comprising:
- an analyzer which identifies one of a control flow, data flow, and modular structure of the software for defining the software in terms of function modules;
a profiler for running the software to create a tag of log information at each respective procedure of the software corresponding to the executive state and attribute information for each of the function modules of the software;
an assessor that calculates and assigns a score value to each of the function modules profiled in the profiler based on at least one of input/output dynamicity attribute info, attribute info whether the requisite elements to attain specific progressive status are present, stack usage, attribute info, attribute info whether architecture specific instruction is used, usage point of time attribute info, executive load attribute info, control flow attribute info, attribute info of the number of independent variables in the modules, and attribute info of executive delayed time in the shared execution;
an extractor that separates the function modules based on assigned score values and extracting the modules assigned the highest score values from the remaining software function modules in the user terminal;
a storage unit that stores the extracted function modules in a secure environment separated from the remaining software function modules;
an interface that inserts an input/output interfacing code to reconnect the extracted function modules into the software using a user terminal binary code;
a transformer that transforms an instruction set of the function modules with interfacing code inserted according to the architecture of a smart card;
an emulator that virtually operates a heterogeneous architecture; and
a verifier to verify the code transformed in the transformer through executing it simultaneously with a source code to verify the normal operation of said interfacing code;
wherein the extractor does not separate the architecture specific instruction usage info and the component for a system call in the process of separating the highest scored function modules from the software.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides method, system, and computer readable medium for shared execution of software. The present disclosure relates to method, system, and computer readable recording medium for shared execution of software involving identifying the main modules of a specific software by analyzing its control flow, data flow, and modular structure through a static binary analysis and a runtime profiling, i.e. dynamic analysis, separating the modules from the main software body to store them in a secure environment of a smart card, and storing the main body in a user terminal with the identified modules removed and replaced by an interface code, whereby a co-processing the software at the user'"'"'s end by the smart card in engagement with the user terminal exclusively enables an execution of the software.
-
Citations
4 Claims
-
1. A system for shared execution of software stored in a user terminal comprising:
-
an analyzer which identifies one of a control flow, data flow, and modular structure of the software for defining the software in terms of function modules; a profiler for running the software to create a tag of log information at each respective procedure of the software corresponding to the executive state and attribute information for each of the function modules of the software; an assessor that calculates and assigns a score value to each of the function modules profiled in the profiler based on at least one of input/output dynamicity attribute info, attribute info whether the requisite elements to attain specific progressive status are present, stack usage, attribute info, attribute info whether architecture specific instruction is used, usage point of time attribute info, executive load attribute info, control flow attribute info, attribute info of the number of independent variables in the modules, and attribute info of executive delayed time in the shared execution; an extractor that separates the function modules based on assigned score values and extracting the modules assigned the highest score values from the remaining software function modules in the user terminal; a storage unit that stores the extracted function modules in a secure environment separated from the remaining software function modules; an interface that inserts an input/output interfacing code to reconnect the extracted function modules into the software using a user terminal binary code; a transformer that transforms an instruction set of the function modules with interfacing code inserted according to the architecture of a smart card; an emulator that virtually operates a heterogeneous architecture; and a verifier to verify the code transformed in the transformer through executing it simultaneously with a source code to verify the normal operation of said interfacing code; wherein the extractor does not separate the architecture specific instruction usage info and the component for a system call in the process of separating the highest scored function modules from the software. - View Dependent Claims (2)
-
-
3. A method for shared execution of software stored in a user terminal comprising:
-
identifying one of a control flow, data flow, and modular structure of the software for defining the software in terms of function modules; running the software to create a tag of log information at each respective procedure of the software corresponding to the executive state and attribute information for each of the function modules of the software; assigning a score value to each of the function modules based on at least one of input/output dynamicity attribute info, attribute info whether the requisite elements to attain specific progressive status are present, stack usage, attribute info, attribute info whether architecture specific instruction is used, usage point of time attribute info, executive load attribute info, control flow attribute info, attribute info of the number of independent variables in the modules, and attribute info of executive delayed time in the shared execution; separating and extracting the function modules having the highest score values from the remaining software function modules in the user terminal; storing the separated and extracted function modules in a secure environment independent of the remaining function modules in the software; inserting an input/output interfacing code to reconnect the separated function modules with the software function modules remaining in the user terminal using a user terminal binary code; transforming an instruction set of the function modules with interfacing code inserted according to the architecture of a smart card; and verifying the code transformed in the transformer through executing it simultaneously with a source code to verify the normal operation of said interfacing code; wherein separation step, the extractor does not separate the architecture specific instruction usage info and the component for a system call in the process of separating the highest scored function modules from the software. - View Dependent Claims (4)
-
Specification