Font Size: a A A

Based On The Technology Of Reverse Engineering And Plugging Pile Software Performance Analysis

Posted on:2013-03-14Degree:MasterType:Thesis
Country:ChinaCandidate:Y F SongFull Text:PDF
GTID:2248330374985981Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
As software systems become increasingly bigger, the performance of the system isparticularly important. The calling relationships, calling number and execution time ofthe source code in software systems are important indicators to measure systemperformance. Analysis of static source code can quickly understand the overall structureof the source code, and we can get the data of static performance by scanning the source.It is a prediction of program performance, and it can’t grasp the actual operation of thesystem. The obtained data accuracy is not high, the amount of data is very large, andkey information is not prominent. Dynamic analysis reflects the trunk of the actualrunning program, can get the accurate data, but need to run the program.The efficiencyis not high because it has been implanted part of the acquisition code. Dynamic analysisis associated with execution path, can’t reflect all of the information of the source.This thesis focus on the extraction of static and dynamic performance data on thebasis of learning source code analysis technology in reverse engineering andinstrumentation technology. The static analysis module analyze and design the lexicalanalyzer and parser, using them to abstract the program and get the static performancedata, including the relationship between function calls and the number of them. Basedon these data we can get the hotspot function. The static analysis data store in the RAMin form of invocation tree. The dynamic analysis module proposes a method thatplugging pile the executable file of target file format, it includes two parts: collectionprogram and code pasting. The collection program is the ELF format, including themain algorithm of collecting dynamic information, using timing-chip timing strategy infunction execution.Glue code for collection procedures to obtain the controlling, the twoparts of the code and executable file can be linked together to run on the target machine.While running the procedures, collection procedures are collecting dynamicperformance data, including the execution time and calling number of the function. Itcan not reflect all of the information of the sourceThe static performance analysis and dynamic performance analysis wouldpenetrate each other in terms of data processing and result presentation. This thesis proposed a framework of analyzing software system performance which combiningstatic analysis and dynamic analysis, to process the static data and dynamic datatogether. In the realistic environment, the relationships between function invocations arerelatively stabilized, the actual invocation is much less than call from static analysis,that means the dynamic invocation relationship is a subset of the static invocationrelationship. We append the dynamic data to the static invocation tree, which can mixdifferent data together, and shows the performance of software system in form of theinvocation tree. The system can assist the program developers to understand dynamicbehavior, find out the bottleneck of the performance and know how to optimize theprogram, which can improve the completeness and accuracy of performance data.
Keywords/Search Tags:Reverse engineering, analytical framework, static analysis, dynamic analysis, performance analysis, static and dynamic combination
PDF Full Text Request
Related items