Databases Reference
In-Depth Information
it simply creates all syntactically possible adapter “wirings” and selects the one that
successfully passes the specified test case, implementation details and a proof of
concept implementation can be found in another publication [ 21 ].
Feeding the example test from Listing 12.1 to Merobase, eventually yields four
successfully tested reuse candidates. One of them is particularly interesting as it
nicely demonstrates how a “real component” 2 consisting of various classes (as il-
lustrated in the UML diagram from Fig. 12.3 ) can be discovered with our approach
through merely describing and testing its facade [ 11 ].
Sheet
Circular Reference Exception
+put(whichCell:String,value:String):void
+getLiteral(whichCell:String):String
...
Formula Evaluator
Tokenizer
Formula Parsing Exception
Fig. 12.3 Simplified structure of retrieved spreadsheet component as UML class diagram
The class ensemble discovered here consists of three main classes, enclosing two
inner exception classes, and comprises in total slightly more than 300 lines of code.
Obviously, the interface of the facade class does not match the interface specified by
the test case from Listing 12.1 and thus would not compile. Hence, our tool created
the adapter presented in Listing 12.2 that provides exactly the interface required by
the test case and forwards requests to the retrieved component.
12.3.1 Implementation
Garcia et al. [ 10 ] depict the necessity of integrating source code search into the
IDE of the developer, as this prevents a loss of concentration and a media-break for
switching to another tool (like e.g. a web browser). Of course, reuse-oriented IDE
plug-ins usually cannot work as standalone tools, but must connect to a software
repository server via the Internet. In this section, we explain how our group at the
University of Mannheim has tackled this challenge and describe our software search
engine Merobase and its associated Eclipse plug-in Code Conjurer [ 20 ]. While Mer-
obase distinguishes itself from other software search engines through its broad sup-
port of retrieval techniques, Code Conjurer is able to deliver proactive reuse recom-
mendations by silently monitoring a user's work (i.e. the code a developer writes in
Eclipse) and triggering searches automatically whenever this seems reasonable. We
2
Result source (visited Dec, 14th 2011): http://www.purpletech.com/xp/wake/src/Sheet.java
 
Search WWH ::




Custom Search