Lock usage mode automatic static analysis system

A static analysis and pattern technology, applied in the field of automatic static analysis system, can solve problems such as poor scalability of concurrent programs, and achieve high convincing, efficiency-enhancing, and high-efficiency effects

Inactive Publication Date: 2015-04-01
SHANGHAI JIAO TONG UNIV
View PDF2 Cites 6 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

In the research of deadlock detection, some problems have also been encountered, such as a large number of false positives, or the algorithm used is not scalable for complex concurrent programs, etc.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Lock usage mode automatic static analysis system
  • Lock usage mode automatic static analysis system
  • Lock usage mode automatic static analysis system

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0037] The present invention will be further described in detail below in conjunction with the accompanying drawings.

[0038] like figure 1 As shown, the present invention mainly includes an intermediate code compiler, a support engine and a lock analyzer, and each component will be described in detail below.

[0039] Intermediate code compiler (DummyGCC):

[0040] First, we need to obtain the intermediate code of the target program, and add -emit-llvm and -c options to the compilation options of the target program written in C or Object-C. However, this will bring two problems: 1. Manually modifying the compilation options first requires a correct understanding of the Makefile file structure and content of the target program source code; 2. Adding the -emit-llvm and -c options will make the original Other compile options create conflicts, or duplicate, useless options. Therefore, if it is necessary to manually modify the Makefile, it is not only cumbersome and requires a ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

Disclosed is a lock usage mode automatic static analysis system. The lock usage mode automatic static analysis system is run in an LLVM (low level virtual machine) analysis framework, and comprises an intermediate code compiler, a support engine and a lock analyzer, wherein the intermediate code compiler is used to compile and link a source code of a target program into an LLVM intermediate code of a single file, the support engine is used to provide support service to the lock analyzer according to the LLVM intermediate code, and the lock analyzer separately analyzes all functions in the target program according to the support service provided by the support engine, collects program language performance data relative to a lock, identifies each lock mode used in a lock sensitivity function, classifies the identified modes according to characteristics of common lock modes, and simultaneously counts occurrence times of the various common lock modes. The lock usage mode automatic static analysis system can identify different lock variables and different lock modes under a low analysis overhead condition, and then discovers a general rule of lock usage through the data, and furthermore provides suggestions to improvement of an analysis tool and concurrent program compiling of a programmer.

Description

technical field [0001] The invention relates to an automatic static analysis system for studying lock usage patterns. Background technique [0002] Concurrent programs play a pivotal role in improving computer software performance and user experience. However, writing a high-quality concurrent program is not an easy task for a programmer. Due to the uncertainty of thread scheduling in concurrent programs, it is difficult for concurrent program developers to take into account all input and thread scheduling combinations, making concurrent errors prone to occur in current concurrent programs. On the other hand, the problems caused by concurrent programs also bring new challenges to traditional fields such as software debugging, software testing, and program analysis. Recently, more and more studies have focused on the debugging, testing, and vulnerability detection of concurrent programs, and these research results have various problems that are difficult to solve, such as: ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F11/36
Inventor 王煜戚正伟薛墨池项程程管海兵
Owner SHANGHAI JIAO TONG UNIV
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products