• DocumentCode
    3060319
  • Title

    Finding Errors in Interoperating Components

  • Author

    Grechanik, Mark

  • Author_Institution
    Accenture Technol. Labs, Chicago
  • fYear
    2007
  • fDate
    20-26 May 2007
  • Firstpage
    3
  • Lastpage
    3
  • Abstract
    Two or more components (e.g., objects, modules, or programs) interoperate when they exchange data, such as XML data. Currently, there is no approach that can detect a situation at compile time when one component modifies XML data so that it becomes incompatible for use by other components, delaying discovery of errors to runtime. Our solution, a verifier for interoperating components for finding logic faults (Viola) builds abstract programs from the source code of components that exchange XML data. Viola symbolically executes these abstract programs thereby obtaining approximate specifications of the data that would be output by these components. The computed and expected specifications are compared to find errors in XML data exchanges between components. We describe our approach, implementation, and give our error checking algorithm. We used Viola on open source and commercial systems and discovered errors that were not detected during their design and testing.
  • Keywords
    XML; electronic data interchange; formal verification; object-oriented programming; open systems; source coding; Viola; XML data; abstract programs; error checking algorithm; exchange data; interoperating components; logic faults; open source; source code; Costs; Data analysis; Delay effects; Logic testing; Packaging; Programming profession; Runtime; Software packages; System testing; XML;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Incorporating COTS Software into Software Systems: Tools and Techniques, 2007. IWICSS '07. Second International Workshop on
  • Conference_Location
    Minneapolis, MN
  • Print_ISBN
    0-7695-2966-6
  • Type

    conf

  • DOI
    10.1109/IWICSS.2007.5
  • Filename
    4273229