Managing assertions while compiling and debugging source code

    公开(公告)号:US09684584B2

    公开(公告)日:2017-06-20

    申请号:US14587797

    申请日:2014-12-31

    CPC classification number: G06F11/3624 G06F8/41 G06F11/3664

    Abstract: The present disclosure relates to maintaining assertions in an integrated development environment (IDE) tool. According to one embodiment, while the IDE tool is compiling the source code of a development project, the IDE tool generates at least a first compiler warning. The first compiler warning generally corresponds to at least one line of source code in a first source code component of the development project. A first set of assertions to add to the source code of the development project is determined based on the line of source code that resulted in the first compiler warning. The IDE tool adds the first set of assertions to the source code of the development project. The first set of assertions are compiled as part of the source code of the development project.

    Enhancing weak consistency
    2.
    发明授权
    Enhancing weak consistency 有权
    增强弱一致性

    公开(公告)号:US09594666B2

    公开(公告)日:2017-03-14

    申请号:US14510694

    申请日:2014-10-09

    CPC classification number: G06F11/362 G06F11/3632

    Abstract: Systems, methods, and computer program products to discover weak consistency errors in an application, by executing, by a debugger, a first thread of the application, by, determining that a first instruction in the first thread specifies to store a first value at a first memory address, setting a current value stored in the first memory address as an old value for the first memory address in a container for the first thread, executing the first instruction to store the first value at the first memory address, and setting the first value as a new value for the first memory address in the container for the first thread. The debugger then executes a second thread of the application, by restoring old values in the containers for all other threads and restoring a new value for each memory address specified in a container for the second thread to its respective memory address.

    Abstract translation: 用于通过由调试器执行应用程序的第一线程来发现应用程序中的弱一致性错误的系统,方法和计算机程序产品,通过确定第一线程中的第一指令指定在第一线程中存储第一值 第一存储器地址,将存储在第一存储器地址中的当前值设置为用于第一线程的容器中的第一存储器地址的旧值,执行第一指令以将第一值存储在第一存储器地址处,并且将第一存储器地址设置为第一存储器地址 值作为第一个线程的容器中第一个内存地址的新值。 调试器然后执行应用程序的第二个线程,通过恢复所有其他线程的容器中的旧值,并将第二个线程的容器中指定的每个内存地址的新值还原到其各自的内存地址。

    DEBUG MANAGEMENT USING DYNAMIC ANALYSIS BASED ON STATE INFORMATION

    公开(公告)号:US20160306728A1

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

    申请号:US14688821

    申请日:2015-04-16

    CPC classification number: G06F11/362 G06F11/3612 G06F11/3636

    Abstract: Disclosed aspects include a debugger evaluating an expression. The expression has a debug element. Using dynamic analysis, a set of state information related to the debug element is identified. The set of state information can be generated external to the debugger and used within the debugger subsequent to being generated. Utilizing the set of state information, a tolerance parameter is selected. The tolerance parameter is for a conditional breakpoint linked with the debug element. In response to selecting the tolerance parameter, a triggering event for the conditional breakpoint may be detected. Based on the tolerance parameter, it may be determined to disregard the triggering event. Subsequently, the triggering event can be disregarded. Altogether, aspects of the disclosure provide a methodology for debug management that may provide performance or efficiency benefits.

    Managed assertions in an integrated development environment

    公开(公告)号:US09823904B2

    公开(公告)日:2017-11-21

    申请号:US14574488

    申请日:2014-12-18

    CPC classification number: G06F8/34 G06F8/41 G06F8/73

    Abstract: The present disclosure relates to maintaining assertions in an integrated development environment (IDE) tool. According to one embodiment, the IDE receives a request to add an assertion at a specified location within source code of an application from a user interacting with an integrated development environment (IDE) tool. The source code is stored in a first file associated with a development project. The IDE tool receives a definition for the assertion and stores the definition for the assertion in a second file associated with the development project. The IDE tool creates an association in the development project between the source code of the application and the assertion.

    DEBUG MANAGEMENT USING A COUNTER
    5.
    发明申请
    DEBUG MANAGEMENT USING A COUNTER 有权
    使用计数器进行调试管理

    公开(公告)号:US20160321158A1

    公开(公告)日:2016-11-03

    申请号:US14716769

    申请日:2015-05-19

    CPC classification number: G06F11/364 G06F11/3624 G06F11/3636 G06F11/3664

    Abstract: Disclosed aspects include identifying basic blocks of a program. For each basic block, the compiler inserts an identifier that includes the function name, and is coupled with a counter variable. In response to generating the identifier coupled with the counter variable, the program is compiled. During program execution, the counter value is incremented in response to a call of the basic block when executing the program. In response to incrementing the counter value, the counter value coupled with the identifier is displayed.

    Abstract translation: 公开的方面包括识别程序的基本块。 对于每个基本块,编译器插入一个包含函数名的标识符,并与一个计数器变量相连。 响应于生成与该计数器变量相结合的标识符,该程序被编译。 在程序执行期间,当执行程序时,计数器值响应于基本块的调用而递增。 响应于增加计数器值,显示与标识符耦合的计数器值。

    Debug management using dynamic analysis based on state information

    公开(公告)号:US09471464B1

    公开(公告)日:2016-10-18

    申请号:US14748497

    申请日:2015-06-24

    CPC classification number: G06F11/362 G06F11/3612 G06F11/3636

    Abstract: Disclosed aspects include a debugger evaluating an expression. The expression has a debug element. Using dynamic analysis, a set of state information related to the debug element is identified. The set of state information can be generated external to the debugger and used within the debugger subsequent to being generated. Utilizing the set of state information, a tolerance parameter is selected. The tolerance parameter is for a conditional breakpoint linked with the debug element. In response to selecting the tolerance parameter, a triggering event for the conditional breakpoint may be detected. Based on the tolerance parameter, it may be determined to disregard the triggering event. Subsequently, the triggering event can be disregarded. Altogether, aspects of the disclosure provide a methodology for debug management that may provide performance or efficiency benefits.

    DETECTING THE USE OF STALE DATA VALUES DUE TO WEAK CONSISTENCY
    7.
    发明申请
    DETECTING THE USE OF STALE DATA VALUES DUE TO WEAK CONSISTENCY 有权
    由于缺乏一致性,检测使用数据库的数据

    公开(公告)号:US20150378811A1

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

    申请号:US14314630

    申请日:2014-06-25

    Abstract: An apparatus and method detect the use of stale data values due to weak consistency between parallel threads on a computer system. A consistency error detection mechanism uses object code injection to build a consistency error detection table during the operation of an application. When the application is paused, the consistency error detection mechanism uses the consistency error detection table to detect consistency errors where stale data is used by the application. The consistency error detection mechanism alerts the user/programmer to the consistency errors in the application program.

    Abstract translation: 一种装置和方法检测由于计算机系统上的并行线程之间的弱一致性而使用过时的数据值。 一致性错误检测机制使用对象代码注入在应用程序的操作期间构建一致性错误检测表。 当应用程序暂停时,一致性错误检测机制使用一致性错误检测表来检测应用程序使用陈旧数据的一致性错误。 一致性错误检测机制警告用户/程序员在应用程序中的一致性错误。

    Managed assertions in an integrated development environment

    公开(公告)号:US09720657B2

    公开(公告)日:2017-08-01

    申请号:US14577445

    申请日:2014-12-19

    CPC classification number: G06F8/34 G06F8/41 G06F8/73

    Abstract: The present disclosure relates to maintaining assertions in an integrated development environment (IDE) tool. According to one embodiment, the IDE receives a request to add an assertion at a specified location within source code of an application from a user interacting with an integrated development environment (IDE) tool. The source code is stored in a first file associated with a development project. The IDE tool receives a definition for the assertion and stores the definition for the assertion in a second file associated with the development project. The IDE tool creates an association in the development project between the source code of the application and the assertion.

Patent Agency Ranking