发明名称 Code separation with semantic guarantees
摘要 Techniques to perform code separation with semantic guarantees are described. When porting a software application to a different target architecture and potentially to a different set of platforms and programming languages, application functionality will change based at least to accommodate architectural differences. However, business logic should be guaranteed to be semantically preserved, efficiency optimized to the platform benefits and limitations. Code separation identifies candidate components, associates the candidate components with a component classification or type, and automates the determining of which of the candidate components are to be associated with various portions of the target architecture. Automated code separation may include various inference algorithms to determine which components are to be associated with a component type. Also described are various use cases for code separation.
申请公布号 US9465608(B2) 申请公布日期 2016.10.11
申请号 US201313842519 申请日期 2013.03.15
申请人 ArtinSoft Corporation 发明人 Araya Carlos;Rojas Mauricio;Sanabria Iván
分类号 G06F9/45;G06F9/44 主分类号 G06F9/45
代理机构 Han Santos Reich, PLLC 代理人 Han Santos Reich, PLLC
主权项 1. A method to perform a software application transformation comprising: receiving at least one input file of the software application in at least one programming language, wherein the at least one programming language is represented in at least one grammar; receiving an architectural template of a target platform for executing code that results from transformation of the software application, wherein the architectural template specifies at least one component type; generating a set of transformation rules based at least on the received architectural template for the target platform; generating an annotated abstract syntax tree from the at least one input file, wherein the annotations in the annotated abstract syntax tree include the set of transformation rules generated from the received architectural template of the target platform and one or more additional transformational rules that are unrelated to not generated from the received architectural template of the target platform; inferring a plurality of candidate components from the annotated abstract syntax tree based at least on the at least one component type of the received architectural template; selecting multiple candidate components of the plurality of candidate components to be transformed; and generating the code for the target platform by traversing the abstract syntax tree to restructure the multiple candidate components into separate component types.
地址 Bellevue WA US