Font Size: a A A

Difference Analysis And Display Of Linux Kernel Source Code

Posted on:2016-12-01Degree:MasterType:Thesis
Country:ChinaCandidate:S X YanFull Text:PDF
GTID:2308330476954958Subject:Computer technology
Abstract/Summary:PDF Full Text Request
When we making a new kernel development or upgrade, the new kernel source code may change the interface or the drive is not suitable for the original program.Developers have to research on kernel version. The analysis environment faced by the kernel version: the kernel code size is large, upgrade change frequently and artificial analysis workload is huge. Therefore, the development of kernel version differences tool makes sense. Differential Display of multi-level nature and accuracy,will largely reduce the development cost, but also can effectively avoid the problems caused by changes in function.This paper analyzed the advantages and disadvantages of the existing version control tools, proposed and developed as a tool of generation offunction difference map,called Diffe. This tool is based on the method of function call graph generation of DCG-RTL. The goal is to enhance the update difference analysis and presentation capabilities of Kernel analysis platform.Diffe using static function call relation analysis of multiple versions and difference information of diff tools, in the form of function and module show the differences of kernel source code and differences of the function call between different versions.It is a tool showing differences from multi-level nature. People can intuitively obtain useful information from differences.As a supplementary of function difference map, this paper also proposed differences in syntax analysis. Syntax difference comparison of Diffe is an innovative tools.We used GCC to compare abstract syntax tree,to show function difference with the changes of macro and content of conditional compilation. Compile source code to a CFG, because it is easy to use for a abstract syntax tree.Combine this content with analysis of code diff, to get a entire diff.At last we have a experiment with this tool, to show the function of Diffe, and compute the time of runing. Using this experiment we validate that our tool is available.The experiment basically completed the goal we set.
Keywords/Search Tags:Kernel analysis platform, function difference map, multi-level differential display, abstract syntax tree comparison
PDF Full Text Request
Related items