Font Size: a A A

Compiler Intermediate Language Based Software Runtime Reliablity Research

Posted on:2016-02-11Degree:DoctorType:Dissertation
Country:ChinaCandidate:J YinFull Text:PDF
GTID:1108330503456161Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
As software has been applied in more and more important positions, the unreliability at the runtime may cause serious damages. However, the unrealiability can be diagnosed and constrained by analyzing and monitoring the software?s runtime behavior, so that the damages can be avoided. Since the software?s runtime behavior can be analyzed and monitored by analyzing and instrumenting the software?s compiler intermediate language which is generated in the compiling, it is important to enhance software?s runtime realiability based on compiler intermediate language.This thesis focuses on several important problems on software?s runtime reliability, including the problem of accurately locating the statements and expressions in instrumenting the fully optimized programs, the lack of portability in software fault isolation at runtime, and the problem of parsing third-party library?s documentation. The main contributions are the following:(1) Pattern based abstract syntax tree level instrumentation(PAST). Since the debugging information is not accurate in the fully optimized software, the developers can not accurately locate the statements or expressions with semantic information when they analyze the software at runtime. PAST utilizes the mapping information between unoptimized compiler intermediate language and the abstract syntax tree with semantic information, and provides an instrumentation method based on the semantic information, so that developers can accurately locate the statements and expressions at runtime. Moreover, PAST not only provides a cross-platform analysis framework, but also reduces the default runtime overhead, which makes PAST to be applicable in production level software analysis.(2) Software fault isolation method based on compiler intermediate langage(WebC). Software fault isolation based on machine instruction level monitoring designs different behavior constraints on different architectures, which lacks the portability across different architectures. Based on the advantange of operation portability of compiler intermediate language, WebC inserts the runtime constraint at the compiler intermediate language level to make the software fault islation method portable. Moreover, WebC can be integrated into the web browsers and introduces a modest runtime overhead.(3) Programming interface documentation parsing based on natural language processing. Programming interface documentation is written in natural languages. Hence, they can not be parsed into formal specification that contains software runtime behavior?s constraint. This method successfully parses the runtime specification of the documentation in two steps: recognizing the structure of the documentation and recognizing the word of natural language.
Keywords/Search Tags:reliability, abstract syntax tree, instrumentation, software fault isolation, program interface modeling
PDF Full Text Request
Related items