Demo: Source{d} Shows What Source Code Can Reveal

At the beginning of any application, there is the code. And, as Francesc Campoy, vice president of developer relations at source{d}, says; source code can tell you a lot — especially when seeking to scale applications involving numerous DevOps team player for complex platforms, such as Kubernetes.
Campoy describes, in this demonstration of the source(d) Engine software for The New Stack, what source code data can reveal. Examples of what can be discovered include whether your organization has silos, patterns such as who is the most-productive operator or programmer, or how you can help to make your development teams that much more productive.
“The idea here is that we believe that source code is not only something that you need to have in order to create software but it can also be a very rich source of information for your organization and for all of the [engineering processes,” Campoy said.
The “solution for code as data” concept is about “bridging two technologies,” Campoy said. “On one side, you have the common technologies to store source code which is Git,” Campoy said. “So we have Git repositories on one side and then on the other side, we have the most-common interface to analyze data, which is SQL.”
Among the feature set on offer, Campoy showed how source{d} allows you to pool and parse Git repositories directly. You do this without having to relocate them to process or analyze them, in order to learn about the history of not only the most-recent repositories but those created before it as well. For SQL, custom functions also exist for code analysis.
During the demo walkthrough, for example, Campoy accessed Go code and with a Universal Abstract Syntax Tree (UAST), showed how it is possible to map all of the code for “any programming language into a tree” that we can analyze.” At the same time, “the interesting thing is that the format of the tree on right side is universal,” Campoy said.
“We use the same format no matter what programming language you are parsing,” Campoy said.
Internally, Campoy described how source{d}’s machine learning team uses Git but are not experts, while the infrastructure team uses Git and “they are really good at it, but they do not necessarily know SQL, so we can tie together those two different profiles, which is why we have this kind of tooling,” Campoy said.
“The idea is that you are going to be able to get data analysts to analyze your source code without having to understand how Git works,” Campoy said.