• DocumentCode
    2188915
  • Title

    An Automatic Testing Approach for Compiler Based on Metamorphic Testing Technique

  • Author

    Tao, Qiuming ; Wu, Wei ; Zhao, Chen ; Shen, Wuwei

  • Author_Institution
    Nat. Eng. Res. Center of Fundamental Software, Chinese Acad. of Sci., Beijing, China
  • fYear
    2010
  • fDate
    Nov. 30 2010-Dec. 3 2010
  • Firstpage
    270
  • Lastpage
    279
  • Abstract
    Compilers play an important role in software development, and it is quite necessary to perform abundant testing to ensure the correctness of compilers. A critical task in compiler testing is to validate the semantic-soundness property which requires consistence between semantics of source programs and behavior of target executables. For validating this property, one main challenging issue is generation of a test oracle. Most existing approaches fall into two main categories when dealing with this issue: reference-based approaches and assertion-based approaches. All these approaches have their weakness when new programming languages are involved or test automation is required. To overcome the weakness in the existing approaches, we propose a new automatic approach for testing compiler. Our approach is based on the technique of metamorphic testing, which validates software systems via so-called “metamorphic relations”. We select the equivalence-preservation relation as the metamorphic relation and propose an automatic metamorphic testing framework for compiler. We also propose three different techniques for automatically generating equivalent source programs as test inputs. Based on our approach, we developed a tool called Mettoc. Our mutation experiments show that Mettoc is effective to reveal compilers´ errors in terms of the semantic-soundness property. Moreover, the empirical results also reveal that simple approaches for constructing test inputs are not weaker than complicated ones in terms of fault-detection capability. We also applied Mettoc in testing a number of open source compilers, and two real errors in GCC-4.4.3 and UCC-1.6 respectively have been detected by Mettoc.
  • Keywords
    automatic programming; formal verification; program compilers; program testing; software development management; Mettoc; automatic testing; compiler testing; equivalence preservation relation; fault detection capability; metamorphic testing; compiler; metamorphic testing; test automation; test input generation; test oracle;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Conference (APSEC), 2010 17th Asia Pacific
  • Conference_Location
    Sydney, NSW
  • ISSN
    1530-1362
  • Print_ISBN
    978-1-4244-8831-5
  • Electronic_ISBN
    1530-1362
  • Type

    conf

  • DOI
    10.1109/APSEC.2010.39
  • Filename
    5693203