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
Link To Document