rendering the clamshell diagram is negligibly small,
then the learners can enjoy the results dynamically
changed on the screen. It is not so hard to build up
the application which works with a single PC.
Taking the actual use of clamshell diagrams into
consideration, we have to recognize that there exists a
room to improve the way of visualization. For exam-
ple, we could change the shapes of nodes, apply col-
ors according as the meanings of labels, and fold and
expand the subtrees. In addition, the system becomes
more attractive if a user, looking at the generated di-
agram, can touch a node and change it on site. We
expect SVG to be the best image format, since SVG
is an XML (Extensible Markup Language) image for-
mat which Graphviz supports and the components of
the image are controllable through DOM (Document
Object Model), using JavaScript.
6 CONCLUSIONS
In this paper we have reported the automatic conver-
sion system of SQL statements into clamshell dia-
grams. Resulting diagrams enable us to understand
the pieces of the original queries thanks to the double
tree structure and the left-to-right stream.
Future works include conducting evaluation ex-
periments for readability of clamshell diagrams in
comparison with other ways of showing SQL state-
ments. Supporting other languages than English in
the right-hand tree is also under consideration.
REFERENCES
Celko, J. (2005). Joe Celko’s SQL for Smarties: Advanced
SQL Programming, Third Edition. Morgan Kauf-
mann.
Chan, H., Teo, H., and Zeng, X. (2005). An evaluation of
novice end-user computing performance: Data model-
ing, query writing, and comprehension. Journal of the
American Society for Information Science and Tech-
nology, 56(8):843–853.
Chen, X. (2010). Extraction and visualization of traceabil-
ity relationships between documents and source code.
In IEEE/ACM international conference on Automated
software engineering, pages 505–509.
Davis, S. (2008). Automatic juxtaposition of source files.
Master’s thesis, University of British Columbia.
Desmond, M., Storey, M.-A., and Exton, C. (2006). Fluid
source code views for just in-time comprehension. In
Workshop on Software Engineering Properties of Lan-
guages and Aspect Technologies.
ISO9075. Information technology—database languages—
SQL—part 1: Framework (SQL/framework).
ISO/IEC 9075-1:1999.
Liu, A., Yuan, Y., Wijesekera, D., and Stavrou, A. (2009).
SQLProb: a proxy-based architecture towards pre-
venting SQL injection attacks. In Proceedings of the
2009 ACM symposium on Applied Computing, pages
2054–2061.
Murakawa, T., Kawasaki, T., Mizuochi, H., and Nakagawa,
M. (2008). Formulation of clamshell diagram and its
application to source code reading. In Proceedings of
the 8th Joint Conference on Knowledge-Based Soft-
ware Engineering (JCKBSE 2008), pages 474–483.
Murakawa, T. and Nakagawa, M. (2010). Graphical ex-
pression of SQL statements using clamshell diagram.
IEICE TRANSACTIONS on Information and Systems,
E93-D(4):713–720.
Murakawa, T., Tsujimoto, A., Matsuo, K., and Nakagawa,
M. (2010). Automatic conversion of SQL statement
into clamshell diagram. In Proceedings of the 9th
Joint Conference on Knowledge-Based Software En-
gineering (JCKBSE’10), pages 100–101.
VisualExplain (2006). DB2 9.1 Visual Explain tutorial.
IBM.
Zest. Zest: The eclipse visualization toolkit. http://
www.eclipse.org/gef/zest/.
COMPREHENSION SUPPORT OF SQL STATEMENT USING DOUBLE-TREE STRUCTURE
323