发明名称 System and method for stability guarantees in concurrent software
摘要 A flexible, extensible and efficient compile-time mechanism that leverages native high-level application programming language constructs (e.g., the template and macro features of C++), thus minimizing any programmer or a software developer learning curve and eliminating the need for programming tool (e.g., compiler) changes, to identify and control aspects of shared resource access in concurrent software at the time of source code compilation.
申请公布号 US9274767(B2) 申请公布日期 2016.03.01
申请号 US201213722601 申请日期 2012.12.20
申请人 IANYWHERE SOLUTIONS, INC. 发明人 Farrar Daniel James
分类号 G06F9/45 主分类号 G06F9/45
代理机构 Sterne, Kessler, Goldstein & Fox P.L.L.C. 代理人 Sterne, Kessler, Goldstein & Fox P.L.L.C.
主权项 1. A computer-implemented method for ensuring, during compilation, that a body of multi-threaded application source code is not susceptible to deadlock, the method comprising: identifying a plurality of shared resources within the body of multi-threaded application source code; identifying, during the compilation and before execution of the source code, a plurality of access control mechanisms for managing access to the plurality of shared resources, wherein the plurality of access control mechanisms include both a first access control mechanism for managing access to a first one of the plurality of shared resources, and a second access control mechanism for managing access to a second one of the plurality of shared resources, wherein the second access control mechanism is different from the first access control mechanism; tracking, on a detection of an object entering scope, one or more invocations of the plurality of access control mechanisms, yielding a shared resource acquisition pattern; tracking, during the compilation, on a detection of the object leaving scope, one or more invocations of the plurality of access control mechanisms, yielding a shared resource release pattern; determining whether the shared resource acquisition pattern differs from the shared resource release pattern beyond a predetermined threshold; and generating, during the compilation, an alert if the predetermined threshold is exceeded.
地址 Dublin CA US