How to Query?
Test-Driven Code Search
Classic - Test Specification
Match software components by your test specification (expected input/output mappings). Currently, JUnit4 is supported.
Example Base64 JUnit4 Test:
public class Base64Test {
@Test
public void testEncode() {
Base64 b = new Base64();
String basicAuth = "Authorization: Basic ";
String userPassPlain = "user:password";
byte[] encodeBytes = userPassPlain.getBytes();
// encode
String userPassBase64 = b.encode(encodeBytes);
assertEquals("dXNlcjpwYXNzd29yZA==", userPassBase64);
}
}
The software component under test may not be fully-qualified (e.g., my.package.Base64
).
NLP Search
Test Specification Search
Currently, JUnit4 is supported. In a textual search, only the signatures of the software component under test are extracted and an interface-driven code search is conducted.
Example Base64 JUnit4 Test:
public class Base64Test {
@Test
public void testEncode() {
Base64 b = new Base64();
String basicAuth = "Authorization: Basic ";
String userPassPlain = "user:password";
byte[] encodeBytes = userPassPlain.getBytes();
// encode
String userPassBase64 = b.encode(encodeBytes);
assertEquals("dXNlcjpwYXNzd29yZA==", userPassBase64);
}
}
Interface-Driven Code Search
Use an UML-like syntax to match components by similar interface signatures (i.e., Merobase Query Language (MQL)-compliant interface signatures).
Example Base64 JUnit4 Test:
Base64(
encode(byte[]):String;
)
Keyword Code Search
Express google-like keyword searches.
Example Base64:
Base64
Constraints (Filters)
For any search type, it is possible to formulate constraints based on object-oriented properties as well as meta data (e.g. licensing etc.).
Example Base64:
meta_license_ss : MIT License*