System to reduce interference in concurrent programs
    1.
    发明授权
    System to reduce interference in concurrent programs 有权
    减少并发程序干扰的系统

    公开(公告)号:US07941616B2

    公开(公告)日:2011-05-10

    申请号:US12255354

    申请日:2008-10-21

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    CPC分类号: G06F12/145 G06F9/526

    摘要: Locks are used to protect variables. All variables protected by a lock are allocated on a page associated with a lock. When a thread (called the owner) acquires the lock, a local copy of the memory page containing the variable is created, the original memory page is protected, and all access of the variable in the owner thread is directed to the local copy. Upon releasing the lock, the changes from the local copy are carried over to the memory page and the memory page is unprotected. Any concurrent access of the variable by non-owner threads triggers an exception handler (due to the protection mechanism) and delays such an access until after the owner thread has finished accessing the variable.

    摘要翻译: 锁用于保护变量。 由锁保护的所有变量都将分配到与锁相关联的页面上。 当一个线程(称为所有者)获取锁定时,将创建包含该变量的内存页面的本地副本,原始内存页面将受到保护,并且所有者线程中的变量的所有访问都将定向到本地副本。 释放锁定后,本地副本的更改将转移到内存页,而内存页不受保护。 非所有者线程的任何并发访问的变量触发异常处理程序(由于保护机制),并延迟访问权限,直到所有者线程完成对该变量的访问。

    Method for enhancing program analysis
    2.
    发明申请
    Method for enhancing program analysis 失效
    加强程序分析的方法

    公开(公告)号:US20050149904A1

    公开(公告)日:2005-07-07

    申请号:US10978989

    申请日:2004-11-01

    IPC分类号: G06F11/36 G06F9/44

    CPC分类号: G06F11/3608

    摘要: Methods are discussed that enhance program analysis. One aspect of the invention includes a method for checking a model of a program. The method includes a control-flow graph having vertices from the model, applying a transfer function to each vertex to form a set of path edges, and analyzing the set of path edges of a vertex. The set of path edges includes valuations that are implicitly represented so as to inhibit an undesired explosion in the valuations that would hinder the act of analyzing.

    摘要翻译: 讨论了加强程序分析的方法。 本发明的一个方面包括一种用于检查程序模型的方法。 该方法包括具有来自模型的顶点的控制流程图,对每个顶点应用传递函数以形成一组路径边缘,以及分析顶点的路径边缘集合。 一组路径边缘包括隐含地表示的估值,以便抑制估价中的不期望的爆炸,这将妨碍分析的行为。

    Sound transaction-based reduction without cycle detection
    4.
    发明申请
    Sound transaction-based reduction without cycle detection 有权
    基于声音的基于事务的减少,无周期检测

    公开(公告)号:US20060248515A1

    公开(公告)日:2006-11-02

    申请号:US11119530

    申请日:2005-04-29

    IPC分类号: G06F9/44

    摘要: Described techniques and tools help model checking scale to large programs while reducing missed errors. In particular, described techniques and tools help reduce the state space of concurrent programs without depending on cycle detection and without scheduling execution of postponed threads at all cycles. For example, described techniques and tools use a type of partial-order reduction called transaction-based reduction to reduce program state space. Analysis is performed at commit points to determine whether to schedule delayed threads.

    摘要翻译: 描述的技术和工具可帮助模型检查大型程序的规模,同时减少错误的错误。 特别地,所描述的技术和工具有助于减少并发程序的状态空间,而不依赖于周期检测,并且不调度在所有周期执行延迟的线程。 例如,所描述的技术和工具使用一种称为基于事务的减少的部分顺序减少来减少程序状态空间。 分析在提交点执行,以确定是否计划延迟的线程。

    Error detection in web services systems
    5.
    发明申请
    Error detection in web services systems 有权
    Web服务系统中的错误检测

    公开(公告)号:US20050257098A1

    公开(公告)日:2005-11-17

    申请号:US10835838

    申请日:2004-04-30

    IPC分类号: G06F11/00

    摘要: Methods and systems are provided for automatically generating an accurate model of communications processes between disparate computing systems that may be analyzed in an efficient manner for error detection in web services systems. Business Process Execution Language for Web Services (BPEL) descriptions are automatically generated for the BPEL-based executable processes utilized by each communicating computing system in a given web services system. The BPEL abstract process descriptions for each communicating computing system are translated into a combined process model according to a suitable modeling language. The process model is tested by a model checking software application. Communications errors between the disparate computing systems are detected by automatically testing the combined process model according to a variety of potential communications scenarios.

    摘要翻译: 提供了方法和系统,用于在不同的计算系统之间自动生成精确的通信过程模型,可以以有效的方式对Web服务系统中的错误检测进行分析。 为每个通信计算系统在给定Web服务系统中使用的基于BPEL的可执行流程自动生成Web服务的业务流程执行语言(BPEL)描述。 每个通信计算系统的BPEL抽象过程描述根据合适的建模语言被转换为组合过程模型。 流程模型通过模型检查软件应用程序进行测试。 通过根据各种潜在通信场景自动测试组合过程模型来检测不同计算系统之间的通信错误。

    System and method for generating a predicate abstraction of a program
    6.
    发明申请
    System and method for generating a predicate abstraction of a program 有权
    用于生成程序的谓词抽象的系统和方法

    公开(公告)号:US20050235257A1

    公开(公告)日:2005-10-20

    申请号:US11155458

    申请日:2005-06-17

    IPC分类号: G06F9/44 H02H3/05

    CPC分类号: G06F11/3608

    摘要: Described is a method that enables the automatic generation of a boolean program that is a predicate abstraction of a program written using a general programming language. The method is capable of abstracting code statements within the program that include procedure calls, assignments, goto statements, conditionals, and pointers. In accordance with the invention, predicates of interest are identified for each code statement in the program. For each particular code statement, the process generates predicate statements that describe an effect that the statement has on the predicates of interest. If the effect of a particular code statement is indeterminable, non-deterministic predicate statements are included in the boolean program to model the indeterminable nature of the code statement. In addition, if a particular code statement includes a procedure call, the arguments and return value of the procedure call are translated to associated predicates in the calling context.

    摘要翻译: 描述了一种使得能够自动生成作为使用通用编程语言编写的程序的谓词抽象的布尔程序的方法。 该方法能够提取程序中包含过程调用,赋值,goto语句,条件和指针的代码语句。 根据本发明,针对程序中的每个代码语句识别感兴趣的谓词。 对于每个特定的代码语句,该进程生成描述语句对感兴趣的谓词有影响的谓词语句。 如果特定代码语句的影响是不可确定的,那么在布尔程序中就会包含非确定性谓词语句,以对代码语句的不确定性进行建模。 另外,如果一个特定的代码语句包括过程调用,过程调用的参数和返回值将被转换为调用上下文中的关联谓词。

    Programming model for collaborative distributed systems
    7.
    发明授权
    Programming model for collaborative distributed systems 有权
    协同分布式系统的编程模型

    公开(公告)号:US08799922B2

    公开(公告)日:2014-08-05

    申请号:US12787149

    申请日:2010-05-25

    IPC分类号: G06F9/44 G06F7/00

    CPC分类号: G06F9/52

    摘要: Described are methods of providing data sharing between applications. The applications run on different computers, communicate via a network, and share a same distributed object. Each application maintains on its computer an invariant copy of the distributed object and a variant copy of the distributed object. Each application performs update operations to the distributed object, where such an update operation issued by a given one of the applications is performed by: executing the update operation on the variant copy maintained by the given application (i) without the given application waiting for the other applications to perform the operation (each invariant copy is guaranteed to converge to a same state) and (ii) at each of the applications, including the given application, executing the update operation on the corresponding invariant copies.

    摘要翻译: 描述了在应用程序之间提供数据共享的方法。 应用程序在不同的计算机上运行,​​通过网络进行通信,并共享相同的分布式对象。 每个应用程序在其计算机上维护分布式对象的不变副本以及分布式对象的变体副本。 每个应用程序对分布式对象执行更新操作,其中由给定的一个应用程序发出的这种更新操作通过以下方式执行:对由给定应用程序(i)维护的变体副本执行更新操作,而不给定应用程序等待 执行操作的其他应用程序(每个不变拷贝保证收敛到相同状态),(ii)在包括给定应用程序的每个应用程序在相应的不变拷贝上执行更新操作。

    PROBABILISTIC MODEL APPROXIMATION FOR STATISTICAL RELATIONAL LEARNING
    8.
    发明申请
    PROBABILISTIC MODEL APPROXIMATION FOR STATISTICAL RELATIONAL LEARNING 审中-公开
    用于统计学习的概率模型近似

    公开(公告)号:US20130144812A1

    公开(公告)日:2013-06-06

    申请号:US13308571

    申请日:2011-12-01

    IPC分类号: G06F15/18

    CPC分类号: G06N7/005

    摘要: Various technologies described herein pertain to approximating an inputted probabilistic model for statistical relational learning. An initial approximation of formulae included in an inputted probabilistic model can be formed, where the initial approximation of the formulae omits axioms included in the inputted probabilistic model. Further, an approximated probabilistic model of the inputted probabilistic model can be constructed, where the approximated probabilistic model includes the initial approximation of the formulae. Moreover, the approximated probabilistic model and evidence can be fed to a relational learning engine, and a most probable explanation (MPE) world can be received from the relational learning engine. The evidence can comprise existing valuations of a subset of relations included in the inputted probabilistic model. The MPE world can include valuations for the relations included in the inputted probabilistic model. The MPE world can be outputted when the input probabilistic model lacks an axiom violated by the MPE world.

    摘要翻译: 本文描述的各种技术涉及近似输入的用于统计关系学习的概率模型。 可以形成包括在输入的概率模型中的公式的初始近似,其中公式的初始近似省略包括在输入的概率模型中的公理。 此外,可以构造输入的概率模型的近似概率模型,其中近似概率模型包括公式的初始近似。 此外,近似的概率模型和证据可以被馈送到关系学习引擎,并且可以从关系学习引擎接收到最可能的解释(MPE)世界。 证据可以包括输入的概率模型中包括的关系子集的现有估值。 MPE世界可以包括输入概率模型中包含的关系的估值。 当输入概率模型缺少MPE世界违反的公理时,可以输出MPE世界。

    SOFTWARE DEBUGGING RECOMMENDATIONS
    9.
    发明申请
    SOFTWARE DEBUGGING RECOMMENDATIONS 有权
    软件调查建议

    公开(公告)号:US20110219360A1

    公开(公告)日:2011-09-08

    申请号:US12718389

    申请日:2010-03-05

    IPC分类号: G06F9/44 G06F17/30

    CPC分类号: G06F9/44 G06F17/30

    摘要: Software debugging recommendation technique embodiments are presented that generally entails creating a database of characterized software bug descriptions and providing software debugging recommendations from the database in response to a query. This can employ a two-phased approach in the search for similar software bugs. The first is a search phase that takes a query as input and returns a ranked list of software bug descriptions that match the query. These bug descriptions can contain a mix of structured and unstructured data. The second phase is a related-information phase that uses the output of the first phase to retrieve a set of related recommendations such as for people, source files, functions and binaries.

    摘要翻译: 提出了软件调试推荐技术实施例,其通常需要创建特征软件错误描述的数据库,并且响应于查询提供来自数据库的软件调试建议。 这可以采用两阶段的方法来搜索类似的软件错误。 第一个是搜索阶段,它将查询作为输入,并返回与查询匹配的软件错误描述的排名列表。 这些错误描述可以包含结构化和非结构化数据的混合。 第二阶段是一个相关信息阶段,使用第一阶段的输出来检索一组相关的建议,如人,源文件,函数和二进制文件。

    DOMAIN-SPECIFIC GUIDANCE SERVICE FOR SOFTWARE DEVELOPMENT
    10.
    发明申请
    DOMAIN-SPECIFIC GUIDANCE SERVICE FOR SOFTWARE DEVELOPMENT 审中-公开
    针对软件开发的域名指导服务

    公开(公告)号:US20090327809A1

    公开(公告)日:2009-12-31

    申请号:US12146611

    申请日:2008-06-26

    IPC分类号: G06F11/00

    CPC分类号: G06F11/366 G06F11/3636

    摘要: During software development, both before and after release, information may be collected and stored that may provide insight to developers as a generalized service. For example, data from past debugging sessions, source code in various repositories, bug repositories, discussion groups, and various documents may provide relevant information for software developers to fix current problems when this information is coherently matched with the problem. Using various sources, a system may mine the stored data to give the current developer information related to past code development, and reveal why the code changed throughout previous development. Using sophisticated analyses to identify similar code patterns across multiple large software projects, discovering patterns in normal and abnormal uses of particular software interfaces, and employing other mining techniques, a developer may find domain-specific information to facilitate ongoing software development.

    摘要翻译: 在软件开发过程中,在发布之前和之后,可以收集和存储信息,这些信息可以作为广义服务为开发人员提供洞察。 例如,来自过去调试会话的数据,各种存储库中的源代码,错误库,讨论组和各种文档可能为软件开发人员提供相关信息,以便在此信息与问题相一致地匹配时修复当前问题。 使用各种来源,系统可以挖掘存储的数据,以提供与过去代码开发相关的当前开发者信息,并且揭示为什么代码在以前的开发过程中改变。 使用复杂的分析来确定多个大型软件项目中的类似代码模式,发现特定软件界面的正常和异常使用中的模式以及采用其他挖掘技术,开发人员可能会发现特定于域的信息来促进正在进行的软件开发。