Skip to main content
Log in

SeaDoc: a self-adaptive document link provision system for framework extension tasks

  • Published:
Computing Aims and scope Submit manuscript

Abstract

It has been demonstrated that object-oriented frameworks can bring all kinds of advantages to application developers. To gain the advantages, application developers have to follow the framework-based development process. One step of the process is to integrate new components for framework extension. This is defined as a framework extension task in this work. In this task, application developers have to (1) retrieve examples, (2) acquire necessary documents, which are defined as the documents containing example adaptation information, and (3) adapt examples. Currently, acquiring necessary documents requires a lot of time because it is achieved through manually searching the Internet. Although there are many approaches to correctly acquiring those documents, the focus is never on time reduction. To satisfy the new criterion, we find the following challenging issues: (1) the dynamics of the valid document version, and (2) the uncertainty of the relevant necessary documents. The first issue is that the valid document version varies according to the framework version under which the retrieved example is workable. The second one is that the relevant necessary documents cannot be decided until a specific necessary document is specified. To resolve those two issues, a Self-adaptive Document link provision system, named SeaDoc, is provided in this work. SeaDoc resolves the dynamics by dynamically constructing document links with the corresponding valid document version. SeaDoc also resolves the uncertainty by adaptively selecting highly relevant document links. The experimental results show that SeaDoc reduces the time by 73 and 83 % compared with other two approaches.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Designing Accessible Plug-ins in Eclipse. http://www.eclipse.org/articles/article.php?file=Article-Accessibility351/index.html. Accessed June 2013

  2. Eclipse Corner Articles. http://www.eclipse.org/articles/. Accessed June 2013

  3. Eclipse online documentation. http://www.eclipse.org/documentation/. Accessed June 2013

  4. Eclipse Marketplace http://marketplace.eclipse.org/. Accessed June 2013

  5. Al-Nashif Y, Kumar AA, Hariri S, Luo Y, Szidarovsky F, Qu G (2008) Multi-level intrusion detection system (ML-IDS). In: International conference on autonomic computing, pp 131–140

  6. Andersson J, Ericsson M, Löwe W (2005) An adaptive high-performance service architecture. Electron Notes Theor Comput Sci 114:87–102

    Article  Google Scholar 

  7. Antoniol G, Canfora G, Casazza G, De Lucia A, Merlo E (2002) Recovering traceability links between code and documentation. IEEE Trans Softw Eng 28(10):970–983

    Article  Google Scholar 

  8. Antoniol G, Caprile B, Potrich A, Tonella P (2000) Design-code traceability for object-oriented systems. Ann Softw Eng 9(1–4):35–58

    Article  Google Scholar 

  9. Bruch M, Schäfer T, Mezini M (2006) FrUiT: IDE support for framework understanding. In: Proceedings of the 2006 OOPSLA workshop on eclipse technology, eXchange, pp 55–59

  10. Candea G, Cutler J, Fox A (2004) Improving availability with recursive micro-reboots: a soft-state system case study. Perform Eval 56(1–4):213–248

    Article  Google Scholar 

  11. Candea G, Kiciman E, Kawamoto S, Fox A (2006) Autonomous recovery in componentized internet applications. Clust Comput 9(2):175–190

    Article  Google Scholar 

  12. Chen TY, Kuo FC, Merkel R (2004) On the statistical properties of the F-measure. In: Proceedings of the fourth international conference on quality software, pp 146–153

  13. D’Ambros M, Lanza M, Lungu M (2009) Visualizing co-change information with the evolution radar. IEEE Trans Softw Eng 35(5):720–735

    Article  Google Scholar 

  14. De Lucia A, Fasano F, Oliveto R, Tortora G (2007) Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans Softw Eng Methodol 16(4):13:1–13:48

    Article  Google Scholar 

  15. De Lucia A, Penta D, Oliveto R (2011) Improving source code lexicon via traceability and information retrieval. IEEE Trans Softw Eng 37(2):205–227

    Article  Google Scholar 

  16. Floch J, Hallsteinsen S, Stav E, Eliassen F, Lund K, Gjørven E (2006) Using architecture models for runtime adaptability. IEEE Softw 23(2):62–70

    Article  Google Scholar 

  17. Gall H, Hajek K, Jazayeri M (1998) Detection of logical coupling based on product release history. In: Proceedings of the international conference on software maintenance, pp 190–198

  18. Gall H, Jazayeri M, Krajewski J (2003) CVS release history data for detecting logical couplings. In: Proceedings of the sixth international workshop on principles of software evolution, pp 13–23

  19. Haesevoets R, Eylen BV, Weyns D, Helleboogh A, Holvoet T, Joosen W (2007) Managing agent interactions with context-driven dynamic organizations. In: International workshop on engineering environment-mediated multi-agent systems, pp 166–186

  20. Holmes R, Walker RJ, Murphy GC (2006) Approximate structural context matching: an approach to recommend relevant examples. IEEE Trans Softw Eng 32(12):952–970

    Article  Google Scholar 

  21. Kumar V, Cooper BF, Cai Z, Eisenhauer G, Schwan K (2007) Middleware for enterprise scale data stream management using utility-driven self-adaptive information flows. Clust Comput 10(4):443–455

    Article  Google Scholar 

  22. Lormans M, Deursen AV (2006) Can LSI help reconstructing requirements traceability in design and test? In: Proceedings of the conference on software maintenance and reengineering, pp 45–54

  23. Loyall JP, Bakken DE, Schantz RE, Zinky JA, Karr DA, Vanegas R, Anderson KR (1998) QoS aspect languages and their runtime integration. In: Proceedings of the fourth workshop on languages, compilers, and run-time systems for scalable computers, pp 303–318

  24. Malek S, Beckman N, Mikic-Rakic M, Medvidović N (2005) Architecting dependable systems III. In: Lecture notes in computer science, vol 3549, chap. A framework for ensuring and improving dependability in highly distributed systems, pp 173–193. Springer, Berlin

  25. Malek S, Edwards G, Brun Y, Tajalli H, Garcia J, Krka I, Medvidović N, Mikic-Rakic M, Sukhatme G (2010) An architecture-driven software mobility framework. J Syst Softw 83(6):972–989

    Article  Google Scholar 

  26. Malek S, Medvidović N, Mikic-Rakic M (2012) An extensible framework for improving a distributed software system’s deployment architecture. IEEE Trans Softw Eng 38(1):73–100

    Google Scholar 

  27. Malek S, Seo C, Ravula S, Petrus B, Medvidović N (2007) Reconceptualizing a family of heterogeneous embedded systems via explicit architectural support. In: Proceedings of the 29th international conference on software engineering, pp 591–601

  28. Mandelin D, Xu L, Bodík R, Kimelman D (2005) Jungloid mining: helping to navigate the API jungle. In: Proceedings of the 2005 ACM SIGPLAN conference on programming language design and implementation, pp 48–61

  29. Menascé DA, Bennani MN (2006) Autonomic virtualized environments. In: International conference on autonomic and autonomous systems, pp 28–37

  30. Menascé DA, Gomaa H, Malek S, Sousa JP (2011) SASSY: a framework for self-architecting service-oriented systems. IEEE Softw 28(6):78–85

    Article  Google Scholar 

  31. Mikic-Rakic M, Malek S, Medvidović N (2008) Architecture-driven software mobility in support of QoS requirements. In: Proceedings of the first international workshop on software architectures and mobility, pp 3–8

  32. Mohagheghi P, Conradi R, Killi OM, Schwarz H (2004) An empirical study of software reuse vs. defect-density and stability. In: Proceedings of the 26th international conference on software engineering, pp 282–292

  33. Morisio M, Romano D, Stamelos I (2002) Quality, productivity, and learning in framework-based development: an exploratory case study. IEEE Trans Softw Eng 28(9):876–888

    Article  Google Scholar 

  34. Moser S, Nierstrasz O (1996) The effect of object-oriented frameworks on developer productivity. IEEE Comput 29(9):45–51

    Article  Google Scholar 

  35. Murphy GC, Notkin D, Sullivan KJ (2001) Software reflexion models: bridging the gap between design and implementation. IEEE Trans Softw Eng 27(4):364–380

    Article  Google Scholar 

  36. Qusef A, Oliveto R, De Lucia A (2010) Recovering traceability links between unit tests and classes under test: an improved method. In: IEEE international conference on software maintenance, pp 1–10

  37. Robertson P, Laddaga R (2005) Self-star properties in complex information systems, conceptual and practical foundations. In: Lecture notes in computer science, vol 3460, chap. Model based diagnosis and contexts in self adaptive software, pp 112–127. Springer, Berlin

  38. Sahavechaphan N, Claypool K (2006) XSnippet: mining for sample code. In: Proceedings of the 2006 conference on object-oriented programming systems, languages, and applications, pp 413–430

  39. Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Auton Adap Syst 4(2):14:1–14:2

    Google Scholar 

  40. Settimi R, Cleland-Huang J, Khadra OB, Mody J, Lukasik W, DePalma C (2004) Supporting software evolution through dynamically retrieving traces to UML artifacts. In: Proceedings of the seventh international workshop on principles of software evolution, pp 49–54

  41. Thummalapenta S, Xie T (2007) PARSEWeb: a programmer assistant for reusing open source code on the web. In: Proceedings of the 22nd international conference on automated software engineering, pp 204–213

  42. Tuttle S, Batchellor V, Hansen MB, Sethuraman M (2003) Centralized risk management using Tivoli risk manager 4.2. Tech. rep., IBM Tivoli Software

  43. Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer Academic Publishers, Dordrecht

  44. Ying ATT, Murphy GC, Ng R, Chu-Carroll MC (2004) Predicting source code changes by mining change history. IEEE Trans Softw Eng 30(9):574–586

    Article  Google Scholar 

  45. Yu DF, Jiau HC (2010) Providing direct document links for framework extension tasks. In: International conference on advanced computer science and information system

  46. Yu Z, Tsai JJP, Weigert T (2008) An adaptive automatically tuning intrusion detection system. ACM Trans Auton Adapt Syst 3(3):10:1–10:25

    Article  Google Scholar 

  47. Zimmermann T, Weissgerber P, Diehl S, Zeller A (2005) Mining version histories to guide software changes. IEEE Trans Softw Eng 31(6):429–445

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dung-Feng Yu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yu, DF., Jiau, H.C. SeaDoc: a self-adaptive document link provision system for framework extension tasks. Computing 96, 207–222 (2014). https://doi.org/10.1007/s00607-013-0344-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-013-0344-y

Keywords

Mathematics Subject Classification (2000)

Navigation