Sign in



Don't have an account?

Signing up is free and easy
Home -> Our Services -> Programming Tools BU -> Other Tools and Utilities -> Porting of object file converter (IEEE695 to ELF/DWARF)

Porting of object file converter (IEEE695 to ELF/DWARF)

Requirements

  • To port our converter to an unknown variant of the IEEE695 format

Challenges

  • New customer specific information on IEEE695 object file is unknown

Solution

  • Environment
    OS
    Windows
    Language/Platform C
  • Features
    • Reverse engineering the specifications for the IEEE695 format adopted by the customer's tool chain
  • Description

    Object file converter was initially developed in acmet to suit the IEEE695 format adopted by one of the tool chains that we were using. Later, we received a request for the converter from Continental Automotive Austria GmbH. The converter was given to them for testing purpose. But the converter was found to be not working correctly. The problem faced by customer was reported to us.

    During our analysis, we found that the reported problem had occurred due to the incompatibility of the IEEE695 object file content of current customer with the IEEE695 object file specification adopted by the tool chain used by us.

    We requested the IEEE695 object file specification adopted by our current customer. But the software tools used by them were bought from a third party vendor. Hence the specification related to it was not available with them. Without understanding the specification requirement of user, it is not possible for updating our tool to meet the customer's requirement.

    In this case, we decided to derive the specification adopted by their third party vendor. We devised a method to achieve this through our analysis on the IEEE695 object files generated by the tools (assembler and linker) of the third party vendor. We downloaded the trial version of their tools used by our current customer and started our analysis on that.

    We generated test cases (IEEE695 object files) from the trial version tools of the third party vendor and analyzed them. Through this analysis, we derived the IEEE695 object file specification. With the specification derived by us in hand, we started porting the converter for supporting the IEEE695 object file specification adopted by the third party vendor whose tools are used by our customer.

    While porting the converter, the test cases generated for our analysis purpose from the third party vendor's tools were used for smoke testing purpose. As a result of this work, we successfully ported our object file converter for supporting the IEEE695 specification used by our current customer.

    During this porting, we found several defects in the IEEE695 object file output of the third party vendor tools. They were reported to our customer, and they in turn reported it to their vendor and got them corrected. This helped them in achieving their result as expected.

  • Challenges Faced
    • Lack of input file specification used by the customer

      This came as the big challenge for us, as without knowing the input IEEE695 object file specification used by our customer, it is not possible for us to port our converter to meet their requirements.

      Our strategy for deriving the specification through reverse engineering work on this case helped us in deriving the specification.

      As a result of that work, the converter was successfully ported to meet the customer's requirement.

    • Problems found in the third party vendor's tool output

      Without knowing the specification followed by the third party vendor, all queries related to the problems found in their tools output were to be confirmed from them via our customer. Delay in the update from the third party vendor for the problem reported delayed the usage of ported converter by our customer.

    Feedback from customer

    • Customer is fully satisfied with the product and our services towards meeting their requirements.
    Quote from customer
    "Your converter is working perfectly on an internal demonstrator project in conjunction with our internal tool which uses the DWARF output and we did not have any issues."

    - Stefan Holzmann, Software Developer, Continental Automotive Austria GmbH