Analyze software assets
A unified view of software assets
Semmle’s ODASA (On-Demand Analytics of Software Assets) gives you a unified view of your software projects, with drill-down to as much detail as you need - even to the source code. The beauty of this unified view is that it is comprehensive, objective, and gives you all the information that you need, and nothing that you don’t need.

ODASA looks at all the software artifacts in software project, not just the source code. All the software is placed in a single repository, irrespective of the programming language, or how the code is written. The ODASA query engine analyzes all this and produces a unified result.
Download our White paper: 7 ways to get control of your software assets.
The repository as a database: .QL queries
The data itself is accessed through queries written in .QL, an object-oriented query language. .QL allows us to build libraries of queries specific to a particular language or artifact type, and then find the relationships between different artifacts. The object-oriented nature of the language also allows us to build on and compose these libraries, enabling a large amount of reuse and rapid development of new analyses.
The following simple query finds the dependencies between projects:
from Project a, Project b where a.dependsOn(b) select a, b
This query finds all pairs of projects a and b such that a has a dependency on b.
The query itself is similar to SQL, with from, where and select clauses. The types of the variables used in a query are user-defined object-oriented classes, which can be easily extended with additional methods to implement new functionality without writing custom analysis code in a lower-level language such as Java.
.QL’s object orientation enables the creation of a large library of classes which can be easily modified and extended to adapt to a particular organization’s artifacts, and allows a significant amount of reuse. These qualities have a great effect at the speed at which new custom analyses are developed.
Contact us if you would like to find out more.
