Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet.

Slides:



Advertisements
Similar presentations
Bottom-up Evaluation of XPath Queries Stephanie H. Li Zhiping Zou.
Advertisements

gSpan: Graph-based substructure pattern mining
Efficient Keyword Search for Smallest LCAs in XML Database Yu Xu Department of Computer Science & Engineering University of California, San Diego Yannis.
1 Abdeslame ALILAOUAR, Florence SEDES Fuzzy Querying of XML Documents The minimum spanning tree IRIT - CNRS IRIT : IRIT : Research Institute for Computer.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
TENCompetence Assessment Model, Related Tools and their Evaluation Milen Petrov, Adelina Aleksieva-Petrova, Krassen Stefanov, Judith Schoonenboom, Yongwu.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
1 SCHEMALESS APPROACH OF MAPPING XML DOCUMENTS INTO RELATIONAL DATABASE Ibrahim Dweib, Ayman Awadi, Seif Elduola Fath Elrhman, Joan Lu CIT 2008 Sydney,
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Abstract Shortest distance query is a fundamental operation in large-scale networks. Many existing methods in the literature take a landmark embedding.
Apache Struts Technology A MVC Framework for Java Web Applications.
September 15, 2003Houssam Haitof1 XSL Transformation Houssam Haitof.
Defect prediction using social network analysis on issue repositories Reporter: Dandan Wang Date: 04/18/2011.
Learning Table Extraction from Examples Ashwin Tengli, Yiming Yang and Nian Li Ma School of Computer Science Carnegie Mellon University Coling 04.
UNIT-V The MVC architecture and Struts Framework.
L. Padmasree Vamshi Ambati J. Anand Chandulal J. Anand Chandulal M. Sreenivasa Rao M. Sreenivasa Rao Signature Based Duplicate Detection in Digital Libraries.
Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas – Francisco Domínguez – Stefano Salvatori Department of Computer Science University.
Sheet 1XML Technology in E-Commerce 2001Lecture 6 XML Technology in E-Commerce Lecture 6 XPointer, XSLT.
● Problem statement ● Proposed solution ● Proposed product ● Product Features ● Web Service ● Delegation ● Revocation ● Report Generation ● XACML 3.0.
XML-to-Relational Schema Mapping Algorithm ODTDMap Speaker: Artem Chebotko* Wayne State University Joint work with Mustafa Atay,
An Extension to XML Schema for Structured Data Processing Presented by: Jacky Ma Date: 10 April 2002.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
DBease: Making Databases User-Friendly and Easily Accessible Guoliang Li, Ju Fan, Hao Wu, Jiannan Wang, Jianhua Feng Database Group, Department of Computer.
Panagiotis Antonopoulos Microsoft Corp Ioannis Konstantinou National Technical University of Athens Dimitrios Tsoumakos.
1 PARSEWeb: A Programmer Assistant for Reusing Open Source Code on the Web Suresh Thummalapenta and Tao Xie Department of Computer Science North Carolina.
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
INTERPRETING IMPERATIVE PROGRAMMING LAGUAGES IN EXTENSIBLE STYLESHEET LANGUAGE TRANSFORMATIONS (XSLT) Authors: Ruhsan Onder Assoc.
Mobile Topic Maps for e-Learning John McDonald & Darina Dicheva Intelligent Information Systems Group Computer Science Department Winston-Salem State University,
The main mathematical concepts that are used in this research are presented in this section. Definition 1: XML tree is composed of many subtrees of different.
Struts J2EE web application framework “ Model 2 ” Model View Controller Controller Servlet Key features XML metadata Struts taglib Simplified form validation.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Querying Structured Text in an XML Database By Xuemei Luo.
Graph Data Management Lab, School of Computer Science Add title here: Large graph processing
Samad Paydar Web Technology Lab. Ferdowsi University of Mashhad 10 th August 2011.
Debug Concern Navigator Masaru Shiozuka(Kyushu Institute of Technology, Japan) Naoyasu Ubayashi(Kyushu University, Japan) Yasutaka Kamei(Kyushu University,
Workshop on Software Product Archiving and Retrieving System Takeo KASUBUCHI Hiroshi IGAKI Hajimu IIDA Ken’ichi MATUMOTO Nara Institute of Science and.
1/52 Overlapping Community Search Graph Data Management Lab, School of Computer Science
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn Luyiqi Locus based alignment storage.
Declaratively Producing Data Mash-ups Sudarshan Murthy 1, David Maier 2 1 Applied Research, Wipro Technologies 2 Department of Computer Science, Portland.
Q2Semantic: A Lightweight Keyword Interface to Semantic Search Haofen Wang 1, Kang Zhang 1, Qiaoling Liu 1, Thanh Tran 2, and Yong Yu 1 1 Apex Lab, Shanghai.
BNCOD07Indexing & Searching XML Documents based on Content and Structure Synopses1 Indexing and Searching XML Documents based on Content and Structure.
Presented by: Ashgan Fararooy Referenced Papers and Related Work on:
Computer Science Automated Software Engineering Research ( Mining Exception-Handling Rules as Conditional Association.
Struts Framework Anna Paščenko. What is Struts?  An open source framework for building Java web applications.
1 Inverted Matrix: Efficient Discovery of Frequent Items in Large Datasets in the Context of Interactive Mining -SIGKDD’03 Mohammad El-Hajj, Osmar R. Zaïane.
XP New Perspectives on XML, 2 nd Edition Tutorial 8 1 TUTORIAL 8 CREATING ELEMENT GROUPS.
Exploiting Code Search Engines to Improve Programmer Productivity and Quality Suresh Thummalapenta Advisor: Dr. Tao Xie Department of Computer Science.
1 Typing XQuery WANG Zhen (Selina) Something about the Internship Group Name: PROTHEO, Inria, France Research: Rewriting and strategies, Constraints,
Gordana Rakić, Zoran Budimac
Visualization Four groups Design pattern for information visualization
LogTree: A Framework for Generating System Events from Raw Textual Logs Liang Tang and Tao Li School of Computing and Information Sciences Florida International.
1 Approximate XML Query Answers Presenter: Hongyu Guo Authors: N. polyzotis, M. Garofalakis, Y. Ioannidis.
13 Copyright © 2004, Oracle. All rights reserved. Adding Validation and Error Handling.
Graph Data Management Lab, School of Computer Science Branch Code: A Labeling Scheme for Efficient Query Answering on Tree
Deriving Relation Keys from XML Keys by Qing Wang, Hongwei Wu, Jianchang Xiao, Aoying Zhou, Junmei Zhou Reviewed by Chris Ying Zhu, Cong Wang, Max Wang,
APEX: An Adaptive Path Index for XML data Chin-Wan Chung, Jun-Ki Min, Kyuseok Shim SIGMOD 2002 Presentation: M.S.3 HyunSuk Jung Data Warehousing Lab. In.
1 Holistic Twig Joins: Optimal XML Pattern Matching Nicolas Bruno, Nick Koudas, Divesh Srivastava ACM SIGMOD 2002 Presented by Jun-Ki Min.
Apache Struts Technology A MVC Framework for Java Web Applications.
Ning Jin, Wei Wang ICDE 2011 LTS: Discriminative Subgraph Mining by Learning from Search History.
Implementation of Classifier Tool in Twister Magesh khanna Vadivelu Shivaraman Janakiraman.
1 Efficient Processing of Partially Specified Twig Queries Junfeng Zhou Renmin University of China.
MapReduce MapReduce is one of the most popular distributed programming models Model has two phases: Map Phase: Distributed processing based on key, value.
OrientX: an Integrated, Schema-Based Native XML Database System
Spatial Online Sampling and Aggregation
Towards Automatic Model Synchronization from Model Transformation
Recitation Outline C++ STL associative containers Examples
Precise Condition Synthesis for Program Repair
MAPO: Mining and Recommending API Usage Patterns
Presentation transcript:

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Sheng Huang, Yiqi Lu, Yanghua Xiao and Wei Wang School of Computer Science Fudan University Shanghai, China XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation Yu Wang, IBM China Research Lab Shanghai, China

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Outline  Motivation  Solution  Evaluation  Conclusion

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Framework-based programming  Framework-based programming XML configuration file Client code Example: Action class and struts- config.xml  Programmers need to accurately configure many xml files during the development of a large application based on frameworks Example: Struts, Spring, iBatis  Errors in XML configuration file leads to: Fatal consequence: runtime fault or application failure

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Prons and cons  Prons: Simplify implementation Make programs more structural High productivity of development  Cons: Complex Lack of documentation  Consequences: Incorrect and inefficient usage of the frameworks in the coding phase Defects are easily introduced into the software

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Problems login "> Class LoginAcion implement Action { IResultMsg login(String username, String pwd){….}} LoginAction.java Login.jsp <action path=“/LoginFormAction" type=“LoginAction“ method=“Login” …… struts-config.xml Client code: Want to finish configuration file: Problem: can we recommend XML configuration snippets automatically?

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Previous works Previous approaches XML schema templates File Context Code snippets 1. Schema based approach2. Other code recommending approach 12 Code repositories Association rule mining Code snippets Our approach 1n Open source code repositories … Frequent Tree pattern mining Code snippets

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Challenges  Diversity of frameworks Struts, Spring, iBatis……  Structural complexity of XML configuration file Tree structure Elements, attributes,….  Semantic mapping between xml configuration files and client codes

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Our Contribution  A xml snippet recommendation solution Mine reusable XML patterns XML code assistance by three queries Type query, Structural Query and Context query  An eclipse plug-in XMLSnippet:  Extensive evaluation of our tool

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Demo 1. Type Query(TQ) The query to get the recommendation of one specific type of framework as the initial content of an empty XML document. 2. Structural Query(SQ) The query to get the subtree recommendation according to the position of the current cursor in the XML document under editing. 3. Context Query(CQ) The query to get the sample reference to help programmers to input the context sensitive attribute/element values. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" " config_1_1.dtd"> Blank file <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" " config_1_1.dtd"> struts-config.xml

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Outline  Motivation  Solution  Evaluation  Conclusion

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 XMLSnippet Approach Offline mining Online query

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 XMLSnippet Approach

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Frequent tree pattern mining  Input: XML code repository  Objective: mines XML repository to generate snippets  Apply frequent subtree mining algorithm [Chi and Xia, TKDE 05] to get frequent pattern  Use Trie to index result

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Frequent tree pattern mining Build candidate subtree set from root element Grows the subtree pattern Keep candidates whose frequency are larger than threshold Return the result frequent subtree patterns Result Map Class Result Map Result Result Map Class Result Result Map ClassResult Column Property Pattern- growth method

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 XMLSnippet Approach

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Source code indexing  Build a Prefix tree to index all root-to- leaf-node paths in frequent tree patterns To fast answer SQ and CQ according to the editing prefix  Each node in the prefix tree corresponds to a root-to-leaf-node paths in the tree pattern.

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Online Query  Once the hotkey is triggered, the prefix tree of the XML Doc under editing is fed to subtree query processing to find matched FTPs TQ: will return the fundamental XML structure of the framework to fill the empty XML Doc SQ: will return snippets generated from an appropriate FTP with the same subtree of XML doc context CQ: when an attribute value is expected, the tool will leverage the context syntax tree (CST) to generate candidate values extracted from corresponding client codes by association mining

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Outline  Motivation  Solution  Evaluation  Conclusion

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 What to evaluate? 1.Generality: Could the tool be applied to different frameworks? 2.Effectiveness: Could the tool produce reusable snippets to shorten the programming cycle? 3.Usability: Is the tool useful for programmers with different skill levels? 4.Efficiency: Could the tool mine frequent tree patterns, build index and propose reusable snippets efficiently?

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Test project  The test project is a simple book store management project including the basic CRUD (Create, Retrieval, Update, and Delete) functions.  Programmers under evaluation

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 RQ1: Generality Generality. Could the tool be applied to different frameworks?

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 RQ2 & RQ3: Effectiveness and Usability  3 tasks: Task 1: Initialize Web.xml for the target application Task 2: Construct the Struts_Config.xml Task 3: Construct the iBATIS configuration xml files  Evaluation result

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 RQ4: Efficiency Could the tool mine frequent tree patterns, build index and propose reusable snippets efficiently?

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Outline  Problem  Example  XMLSnippet approach  Evaluation  Conclusion

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Conclusion  Propose a method to recommend reusable XML snippets to help programmers configure XML files Key technique : close frequent tree mining prefix tree based indexing  Future work: Value recommendation Online version of XMLSnippet

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 THANK YOU! Q/A

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Frequent used attribute and element combination will be recommended together for SQ in XMLSnippet

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 In order to finish the same task as XMLSnippet do in on step, the Eclipse XMLEditor needs several steps…. Step 1 Add Element “Action”

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Step 2 Add Child Element “forward” of Element Action

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Step 3 Add attribute “type”

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012 Step 3 Add attribute “scope”

Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, XMLSnippet: A Coding Assistant for XML Configuration Snippet Recommendation 34 th Annual IEEE Computer Software and Applications Conference, Izmir, Turkey, July, 2012