Font Size: a A A

Criteria Division Based Automatic Test Framework For Compiler Optimization

Posted on:2009-08-14Degree:MasterType:Thesis
Country:ChinaCandidate:J H XiangFull Text:PDF
GTID:2178360242974638Subject:Computer applications
Abstract/Summary:PDF Full Text Request
Compiler is a basic supporting system tool in software development. Programs are generally written in a high level programming language. This high level language, often referred to as source code, is translated by a compiler into the object code. Optimization is the most important and difficult stage in compiling. It can enhance the performance of object program through code transformation. Because of pursuing for better performing code and faster compilation, there's has been a steady growth in the number and complexity of optimization used by compilers. Each of these increases in compiler complexity impose an additional risk of defects in compiler. The quality of a compiler directly affect the excution of other application software, so it needs plenty of testing to assure the reliability. For testing optimization compiler, the testcases should not only match grammar, but also contain features that can be optimized. Given the infinite number of legal source programs,writing an exhaustive set of tests is low-efficiency. Practically, the method of automatic test generator is broadly used in testing optimization compiler.In this paper, we focus on designing and implementing a Criteria Division Based Automatic Test Generator (CDB_ATG), it generates C source codes which not only are syntactic and semantic correct, but also contain specific optimizable control flow and data flow. Also a Bit Segment Combination(BSC) algorithm has been implemented to check the redundance of generated testcases.The design and implementation have been successfully integrated into an automatic test framework. The framework intends to automatically generate testcases, compile and run the testcase, then compare with the reference compiler, finally it analyzes the test data and makes some predictions by using Weka which is a mature machine learning tool. The method has practically applied to test optimizations of an embedded compiler and received some satisfying effects.
Keywords/Search Tags:Compiler optimization, Automatic test, Software test, Machine learning
PDF Full Text Request
Related items