ACM Home Page
Please provide us with feedback. Feedback
Finding errors in components that exchange xml data
Full text PdfPdf (570 KB)
Source
Automated Software Engineering archive
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering table of contents
Atlanta, Georgia, USA
SESSION: Protection table of contents
Pages 264-273  
Year of Publication: 2007
ISBN:978-1-59593-882-4
Author
Mark Grechanik  Accenture Technology Labs, Chicago, IL
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 39,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1321631.1321671
What is a DOI?

ABSTRACT

Two or more components (e.g., objects, modules, or programs) interoperate when they exchange data, such as XML data. Using Application Programming Interface (API) calls exported by XML parsers remains a primary mode of accessing and manipulating XML, and these API calls lead to various run-time errors in components that exchange XML data. Currently, no tool checks the source code of interoperating components for potential flaws caused by third-party API calls that lead to incorrect XML data exchanges and runtime errors, even when components are located within the same application

Our solution combines program abstraction and symbolic execution in order to reengineer the approximate schema of XML data that would be output by a component. This schema is compared using bisimulation with the schema of XML data that is expected by some other components. We describe our approach and give our error checking algorithm. We implemented our approach in a tool that we used on open source and commercial systems and discovered errors that were not detected during their design and testing.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Cost Analysis of Inadequate Interoperability in the U.S. Capital Facilities Industry, GCR 04-867. NIST, August 2004.
 
3
Institute for Software Research, University of California, Irvine, xADL 2.0 project, Apigen for xArch schemas,. http://www.isr.uci.edu/projects/xarchuci/tools-apigen.html, 2004.
 
4
Sun Microsystems, Java Architecture for XML Binding (JAXB),. http://java.sun.com/xml/jaxb, 2004.
 
5
Castor XML databinding framework,. http://www.castor.org/xml-framework.html, 2005.
 
6
7
 
8
G. M. Bierman, E. Meijer, and W. Schulte. The essence of data access in cmega. In ECOOP, pages 287--311, 2005.
9
 
10
L. A. Clarke and D. J. Richardson, editors. Symbolic evaluation methods for program analysis. Prentice-Hall, 1981.
11
12
13
14
 
15
J. C. King. A program verifier. In IFIP Congress (1), pages 234--249, 1971.
16
 
17
 
18
19
 
20
J. Meier, S. Vasireddy, A. Babbar, and A. Mackman. Improving .NET application performance and scalability. Microsoft Corporation, 2004.
 
21
R. Schmelzer. Breaking XML to optimize performance. ZapThink LLC - special to SearchWebServices.com, Oct. 2002.
 
22