dCloud: a document link provision cloud for software extension tasks

Software reuse is commonly achieved through extension mechanisms. Those mechanisms are practiced in software extension tasks. In these tasks, application developers retrieve code examples (step 1), acquire API documents (step 2), and adapt code examples (step 3). At step 2, they spend much time in manually searching API documents, confirming the valid API document version, and re-doing the searching work. At step 3, they spend much effort in frequently switching between web browsers and the local development environment, and rebuilding the development environment on different devices. To reduce the time and effort, a document link provision cloud, named dCloud, is provided in this work. dCloud reduces the time by only providing the document links and the link history. Such links are used to directly access the API documents of their valid version. dCloud reduces the effort by providing an online development environment which is accessed through web browsers. Furthermore, dCloud brings further advantages to application developers and makes a revolutionary impact on the development environment design.

[1]  Andrea De Lucia,et al.  Improving Source Code Lexicon via Traceability and Information Retrieval , 2011, IEEE Transactions on Software Engineering.

[2]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[3]  Robert J. Walker,et al.  Approximate Structural Context Matching: An Approach to Recommend Relevant Examples , 2006, IEEE Transactions on Software Engineering.

[4]  Michele Lanza,et al.  Visualizing Co-Change Information with the Evolution Radar , 2009, IEEE Transactions on Software Engineering.

[5]  Gail C. Murphy,et al.  Predicting source code changes by mining change history , 2004, IEEE Transactions on Software Engineering.

[6]  Hewijin Christine Jiau,et al.  CoDocent: Support API Usage with Code Example and API Documentation , 2010, 2010 Fifth International Conference on Software Engineering Advances.

[7]  Mira Mezini,et al.  FrUiT: IDE support for framework understanding , 2006, ETX.

[8]  Raffaella Settimi,et al.  Supporting software evolution through dynamically retrieving traces to UML artifacts , 2004, Proceedings. 7th International Workshop on Principles of Software Evolution, 2004..

[9]  Harald C. Gall,et al.  Detection of logical coupling based on product release history , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[10]  Harald C. Gall,et al.  CVS release history data for detecting logical couplings , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[11]  James Fogarty,et al.  Assieme: finding and leveraging implicit references in a web search interface for programmers , 2007, UIST '07.

[12]  Giuliano Antoniol,et al.  Design‐code traceability for object‐oriented systems , 2000, Ann. Softw. Eng..

[13]  Arie van Deursen,et al.  Can LSI help reconstructing requirements traceability in design and test? , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[14]  Kajal T. Claypool,et al.  XSnippet: mining For sample code , 2006, OOPSLA '06.

[15]  Genny Tortora,et al.  Recovering traceability links in software artifact management systems using information retrieval methods , 2007, TSEM.

[16]  Rastislav Bodík,et al.  Jungloid mining: helping to navigate the API jungle , 2005, PLDI '05.

[17]  James D. Herbsleb,et al.  Improving API documentation usability with knowledge pushing , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[18]  Tao Xie,et al.  Parseweb: a programmer assistant for reusing open source code on the web , 2007, ASE.

[19]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .