13.06.2014 Views

Automated Formal Static Analysis and Retrieval of Source Code - JKU

Automated Formal Static Analysis and Retrieval of Source Code - JKU

Automated Formal Static Analysis and Retrieval of Source Code - JKU

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

48CHAPTER 3. CODE SEARCH INTEGRATION FACILITY INTO MINDBREEZE ENTERPRISE SEARCH<br />

category@id<br />

category/name<br />

category/metadata<br />

category/metadatum<br />

category/metadatum@id<br />

category/metadatum@selectable<br />

category/metadatum/name<br />

The unique category identifier.<br />

A display name for the category.<br />

The category metadata.<br />

The category metadatum (optional)<br />

The category metadatum identifier<br />

Specifies that the metadatum should be selectable in<br />

MCS enabled applications. This attribute can be taken<br />

into consideration for search result refinement, for example.<br />

A display name for the meta datum<br />

Table 3.5: Category Descriptor Schema Documentation<br />

Deploying the <strong>Code</strong>Search Context Provider<br />

There are two steps for installing the <strong>Code</strong>Search context provider:<br />

1. properly installation <strong>of</strong> the context provider.<br />

mesextension --interface=context --category=<strong>Code</strong>Search<br />

--library=mcs-context.jar install<br />

2. providing access to it for insuring that the results returned by the system obey the authorization<br />

rules <strong>of</strong> the original data source.<br />

mesextension --interface=access --category=<strong>Code</strong>Search<br />

--library=<strong>Code</strong>SearchAuthorization.jar install<br />

3.2.4 Mindbreeze <strong>Code</strong> Search - Use Cases<br />

We present the system as it is shown to the user <strong>and</strong> how interaction with it is possible, including<br />

explorative search <strong>and</strong> data-drilling operations. We exemplify with two use-cases: Find all the<br />

hit-types named sort <strong>and</strong> Find all the methods named sort.<br />

We will consider the following Java code snippet for exemplification:<br />

Example 3.7.<br />

package algorithms;<br />

...<br />

public class Sort{<br />

...<br />

public static void sort (double[] a){<br />

...<br />

sort(a, 0, a.length-1);<br />

}<br />

public static void sort (double[] a, int left, int right){<br />

...<br />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!