IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0894388
(2007-08-20)
|
등록번호 |
US-8689194
(2014-04-01)
|
발명자
/ 주소 |
- Pillarisetti, Aravind
- Szpak, Peter
- Kim, Jesung
- Lin, Xiaocang
- Mosterman, Pieter J.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
29 |
초록
▼
A computer readable medium including executable instructions that when executed perform a method for validating an optimization in generated code using an executable constraints document is provided. The medium can include instructions for relating an assumption to the optimization during code gener
A computer readable medium including executable instructions that when executed perform a method for validating an optimization in generated code using an executable constraints document is provided. The medium can include instructions for relating an assumption to the optimization during code generation. The medium can include instructions for generating the executable constraints document during the code generation, the executable constraints document including information about the relating; and the medium can include instructions for executing the constraints document when the validating is performed, the validating including performing an operation based on a validation result produced by the validating, where the operation includes displaying the validation result to a user, storing the validation result, sending the validation result to a destination, or modifying the generated code.
대표청구항
▼
1. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by at least one processor, cause the at least one processor to: document an assumption in connection with an optimization made during code generation that prod
1. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by at least one processor, cause the at least one processor to: document an assumption in connection with an optimization made during code generation that produces generated code;generate, based on the assumption, an executable constraints document, the executable constraints document being separate from the generated code, andthe executable constraints document including: first information about the assumption, andsecond information about a target device on which the generated code will be run; andexecute the constraints document;determine, based on executing the constraints document, that input data is out of bounds when the generated code is run on the target device;identify that the assumption is associated with the input data being out of bounds;determine a validation result for the optimization based on identifying the assumption; andperform an operation based on the validation result, the operation including: providing the validation result for display to a user,storing the validation result,sending the validation result to a destination, ormodifying the generated code. 2. The non-transitory computer-readable medium of claim 1, where the optimization is related to an operation associated with a safety critical application. 3. The non-transitory computer-readable medium of claim 1, where the assumption is related to a specification used for producing the generated code. 4. The non-transitory computer-readable medium of claim 1, where the generated code is originally created for a previous version of the target device that is different from a new version of the target device. 5. The non-transitory computer-readable medium of claim 1, where the executable constraints document further includes scheduling semantics and execution semantics. 6. The non-transitory computer-readable medium of claim 1, where the generated code includes a reentrant function, andwhere the executable constraints document further includes information that identifies the reentrant function. 7. The non-transitory computer-readable medium of claim 6, where the executable constraints document further includes executable code that tests the reentrant function. 8. The non-transitory computer-readable medium of claim 1, where the generated code includes a function having a formal argument or an actual argument. 9. The non-transitory computer-readable medium of claim 8, where the executable constraints document further includes third information that identifies the formal argument or the actual argument. 10. The non-transitory computer-readable medium of claim 8, where the executable constraints document further includes code that is used to test the function. 11. The non-transitory computer-readable medium of claim 1, where the executable constraints document further includes executable information that makes a determination with respect to interactions among threads in the generated code. 12. The non-transitory computer-readable medium of claim 1, where the optimization is validated at runtime. 13. The non-transitory computer-readable medium of claim 1, where the one or more instructions to determine the validation result further comprise: one or more instructions that, when executed by the at least one processor, cause the at least one processor to: determine thread safety with respect to one or more threads in the generated code, anddetermine the validation result based on identifying the assumption and based on determining the thread safety. 14. The medium of claim 1, where the executable constraints documents is one of an automotive open system architecture (AUTOSAR) compatible document, a unified modeling language (UML) compatible document, or a system modeling language (SysML) compatible document. 15. A method comprising: documenting an assumption or an assertion made in connection with an optimization in generated code;generating a document based on the assumption or the assertion, generating the document being performed by a device,the document being separate from the generated code, andthe document including: first information about the assumption or the assertion, andsecond information about a target device on which the generated code will be run;determining, based on the document, that input data is out of bounds when the generated code is run on the target device, determining that the input data is out of bounds being performed by the device;identifying that the assumption or the assertion is associated with the input data being out of bounds, identifying that the assumption or the assertion is associated with the input data being out of bounds being performed by the device;determining validation information, for at least a portion of functional code in the generated code, based on identifying that the assumption or the assertion is associated with the input data being out of bounds, determining the validation information being performed by the device; andperforming an operation based on the validation information, performing the operation being performed by the device, andperforming the operation including one or more of: providing, for display, the validation information to a user,storing the validation information in a storage device,sending the validation information to a destination that performs another operation based on the validation information, ormodifying the generated code based on the validation information. 16. A computing device comprising: a processor to: generate an executable document that maps an assumption to an assertion associated with generated code, the executable document being separate from the generated code, andthe executable document including: first information about the assumption, andsecond information about a target device on which the generated code will be run;determine, based on the executable document, that input data is out of bounds when the generated code is run on the target device; identify that the assumption or the assertion is associated with the input data being out of bounds;determine particular information regarding the generated code or the executable document based on identifying that the assumption or the assertion is associated with the input data being out of bounds; andperform an operation based on the particular information, when performing the operation, the processor is to one or more of: provide the particular information for display,store the particular information in a storage device,send the particular information to a destination that performs another operation based on the particular information, ormodify the generated code based on the particular information. 17. The computing device of claim 16, where the processor is further to: operate a constraint checker on the generated code and on the executable document to validate the generated code, the particular information regarding the generated code or the executable document being further based on operating the constraint checker. 18. The computing device of claim 16, where the processor is further to: generate a report or a checklist that includes information about the assumption or the assertion; andprovide the report or the checklist. 19. The computing device of claim 16, where the processor is further to: send the generated code or the executable document to the target device or to another device. 20. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by at least one computing device, cause the at least one computing device to: receive a user input related to an assumption regarding code,generate, based on the user input, an executable constraints document, the executable constraint document being separate from the code,the executable constraint document mapping the assumption to an assertion in the code, and the executable constraints document including: first information about the assumption, andsecond information about a target device on which the code will be run;determine, based on the executable constraints document, that input data is out of bounds when the code is run on the target device;identify that the assumption is associated with the input data being out of bounds;determine particular information about the code based on the user input and based on identifying that the assumption is associated with the input data being out of bounds; andperform an operation based on the particular information, the one or more instructions to perform the operation including:one or more instructions that, when executed by the at least one computing device, cause the at least one computing device to one or more of: provide the particular information for display,store the particular information in a storage device,send the particular information to a destination that performs another operation based on the particular information, ormodify the code based on the particular information. 21. The non-transitory computer-readable medium of claim 20, where the instructions further comprise: one or more instructions that, when executed by the at least one computing device, cause the at least computing device to: provide, for display in a user interface, information in a specification associated with the code, a configuration file associated with the code, or the executable constraints document. 22. The non-transitory computer-readable medium of claim 20, where the particular information is displayed in a report or a checklist. 23. The non-transitory computer-readable medium of claim 20, where the instructions further comprise: one or more instructions that, when executed by the at least one computing device, cause the at least computing device to: receive, from a user, configuration information for a code generator that generates the code, andconfigure the code generator based on the configuration information. 24. A system comprising: a processor to: document an assumption or an assertion made in connection with an optimization in generated code;generate an executable constraints document for the generated code, the executable constraints document being separate from the generated code, andthe executable constraints document including: first information about the assumption or the assertion, andsecond information about a target device on which the generated code will be run;determine, based on the executable constraints document, that input data is out of bounds when the generated code is run on the target device;identify that the assumption or the assertion is associated with the input data being out of bounds;determine a validation result, for at least a portion of the generated code, based on identifying that the assumption or the assertion is associated with the input data being out of bounds; andperform an operation based on the validation result, andwhen performing the operation, the processor is to one or more of: provide the validation result for display,store the validation result in a storage device,send the validation result to a destination that performs another operation based on the validation result, or modify the generated code based on the validation result. 25. The system of claim 24, where the generated code is created for a first version of a particular device that is different from a second version of the target device, andwhere, when generating the executable constraints document, the processor is to: generate the executable constraints document based on information provided regarding the generated code during a creation of the generated code for the first version of the particular device.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.