Sourcerer is a search engine for open source code. The key property of Sourcerer is its use of static analysis for extracting structural information from the source code. This information is used both to implement a basic notion of and to enable search forms that go beyond conventional keyword-based searches. Specifically, Sourcerer supports five types of searches: 1) components; 2) component uses; 3) function; 4) function uses; and 5) fingerprints. Public prototype is available here.
JAML 0.2.0 released JAML: Java Aspect Markup Language version 0.2.0 has been released.
JamlUnit: An Unit Testing Framework for JAML In the Java Aspect Markup Language (JAML), aspects are implemented using two kinds of modules: a) regular java classes, encapsulating aspectual behavior; and b) XML binders, defining aspectual compositions. Besides leveraging the abundance of software engineering tools available for Java and XML, this approach for aspect-oriented programming also provides opportunities for testing aspects as independent units. JamlUnit, an extension of JUnit, is proposed as a framework for performing unit testing of aspects written in JAML. JamlUnit uses mock objects that emulate execution context (join point) information. Early experience with JamlUnit shows that performing unit testing on aspectual behavior is possible and relatively straightforward.
AML: An Extensible Language for Aspect-Oriented Programming Informatics faculty member Cristina Lopes and Ph.D. student Trung Chi Ngo have created Aspect Markup Language (AML), a language-independent model for constructing XML-based aspect-oriented programming languages that provide appropriate, and lightweight, support for domain-specific concerns. Specifically, AML leverages the extensibility property of XML to enable programmers to add their own constructs to the aspect language. This novel feature is realized in JAML, a mapping of AML for Java. Providing an open implementation of the aspect weaver, programmers can extend JAML easily using well-known plugin techniques. ( read more )