Ten years ago, Vineet Sinha was working at Microsoft after a series of internships as a software development engineer, during which he was responsible for adding features to the Microsoft Office codebase. That was when he had what he described as his first “grumbling,” a feeling that he needed some tool to help him better understand the software’s architecture.
“While I was there, I wanted to understand the core code and found it really hard when you are looking at code that has been developed for a long time,” said the 31-year-old Sinha, now the founder of startup company Architexa.
“Any high-level diagrams would have been helpful, but because they often get out of date, there are usually very few such diagrams available.”
When he was still at Microsoft, Sinha decided to build his own tool, and he dedicated his spare time to finding a solution. “Fast-forward a few years,” he said, “I received my Ph.D. in computer science from MIT three years ago, where my goal was to figure out why UML tools didn’t work for most developers.”
His thesis concluded that interactive and diagrammatic exploration tools were what people needed. The diagrams generated in existing UML tools show too much information, and there is little support for developers to explore and find the right information that they care about, he explained.
Traditional Unified Modeling Language (UML) tools focus heavily on design and code generation, but Sinha said UML can also be used to focus on communicating, verifying and understanding code, which was missing during his days at Microsoft.
“I found more opportunities in communicating and understanding it,” he said. Based on that finding, the Cambridge, Mass.-based company, Architexa, was formed in the summer of 2007, when Sinha and a small group of colleagues began working on prototypes of tools that went public about a month ago.
The company, Sinha said, basically built its tools, which read source code and then create graphics and diagrams, for reverse engineering. Although most UML tools have this feature, he said they create too much information so that more time is spent understanding the code more than anything else.
There are two sides to a coin, Sinha said. One represents high-level concepts and diagrams, and the other is code. “If you have a large team with lots of code, there are a lot of high-level concepts that need to be discussed and shared across the team,” he said, and while UML is good at these high-level concepts, the other side of the coin—the code—seems overlooked. Most developers realize they should be coding and not spending time trying to digest it, he added.
To help developers make sense of code through “exploratory tools,” Architexa has developed three tools that are currently in beta. Relo builds and automatically manages visualization (similar to a UML Class Diagram) as developers explore relationships found in code.
Strata aids in architectural understanding using layered architectural diagrams, according to Sinha. Chrono offers low-level viewpoints of a codebase, which lets Chrono focus on removing less relevant information and condensing diagram components when working on complex codebases.
These three tools make up The Architexa Suite, which also has added Eclipse integration.
“It’s UML for the average software developer, not the architects, not the managers or business analysts,” Sinha said. “It’s for the Java, C++ and so on developers out there.”