This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Code Conjurer: Pulling Reusable Software out of Thin Air
Sept.-Oct. 2008 (vol. 25 no. 5)
pp. 45-52
Oliver Hummel, Perot Systems Germany
Werner Janjic, University of Mannheim
Colin Atkinson, University of Mannheim
Accelerating the software development process by assembling new applications from existing software assets has been a goal of the IT industry for many years. However, most of today's systematic software reuse uses heavyweight approaches such as product-line engineering. Now, with the explosion in open source software repositories and the advent of a new generation of powerful software search engines, this is set to change. Code Conjurer is an Eclipse plug-in that extracts interface and test information from a developer's coding activities and uses this information to issue test-driven searches to a code-search engine. It presents components matching the developer's needs as reuse recommendations without disturbing the development work. Automated dependency resolution then allows selected components to be woven into the current project with minimal manual effort.

1. D. McIlroy, "Mass-Produced Software Components," Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, NATO Scientific Affairs Division, 1969, pp. 138–155.
2. A. Mili, R. Mili, and R. Mittermeir, "A Survey of Software Reuse Libraries," Annals of Software Eng., vol. 5, 1998, pp. 349–414.
3. O. Hummel and C. Atkinson, "Extreme Harvesting: Test Driven Discovery and Reuse of Software Components," Proc. IEEE Int'l Conf. Information Reuse and Integration, IEEE Press, 2004, pp. 66–72.
4. O.A.L. Lemos, S. Bajracharya, and J. Ossher, "CodeGenie: A Tool for Test-Driven Source Code Search," Proc. Int'l Conf. Object-Oriented Programming, Systems, Languages and Applications, ACM Press, 2007, pp. 917–918.
5. O. Hummel, W. Janjic, and C. Atkinson, "Evaluating the Efficiency of Retrieval Methods for Component Repositories," Proc. Int'l Conf. Software Eng. and Knowledge Eng., IEEE Press, 2007, pp. 570–575.
6. O. Hummel and C. Atkinson, "Supporting Agile Reuse through Extreme Harvesting," Proc. Int'l Conf. Agile Processes in Software Eng. and Extreme Programming, Springer, 2007, pp. 28–37.
7. W.J. Brown, R.C. Malveau, and H. McCormick, Anti-Patterns: Refactoring Software, Architectures, and Projects in Crisis, John Wiley &Sons, 1998.
1. D. McIlroy, "Mass-Produced Software Components," Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, NATO Scientific Affairs Division, 1969, pp. 138–155.
2. Y. Ye, "Supporting Component-Based Software Development with Active Component Repository Systems," PhD dissertation, Faculty of the Graduate School, Univ. of Colorado, 2001.
3. F. McCarey, M. ÓCinnéide, and N. Kushmerick, "RASCAL: A Recommender Agent for Agile Reuse," Artificial Intelligence Rev., vol. 24, nos. 3–4, 2005, pp. 253–276.
4. D. Mandelin et al., "Jungloid Mining: Helping to Navigate the API Jungle," Proc. Conf. Programming Language Design and Implementation, ACM Press, 2005, pp. 48–61.
5. S. Thummalapenta and T. Xie, "PARSEWeb: A Programmer Assistant for Reusing Open Source Code on the Web," Proc. Int'l Conf. Automated Software Eng., ACM Press, 2007, pp. 204–213.
6. R. Holmes, R.J. Walker, and G.C. Murphy, "Approximate Structural Context Matching: An Approach for Recommending Relevant Examples," IEEE Trans. Software Eng., vol. 32, no. 12, 2006, pp. 952–970.
7. O.A.L. Lemos, S. Bajracharya, and J. Ossher, "CodeGenie: A Tool for Test-Driven Source Code Search," Proc. Int'l Conf. Object-Oriented Programming, Systems, Lanugages and Applications, ACM Press, 2007, pp. 917–918.
8. O. Hummel and C. Atkinson, "Extreme Harvesting: Test Driven Discovery and Reuse of Software Components," Proc. IEEE Int'l Conf. Information Reuse and Integration, IEEE Press, 2004, pp. 66–72.

Index Terms:
software reuse, open source software, component-based development, software search engines, test-driven search, reuse recommendation, Eclipse plug-in
Citation:
Oliver Hummel, Werner Janjic, Colin Atkinson, "Code Conjurer: Pulling Reusable Software out of Thin Air," IEEE Software, vol. 25, no. 5, pp. 45-52, Sept.-Oct. 2008, doi:10.1109/MS.2008.110
Usage of this product signifies your acceptance of the Terms of Use.