Coverity releases open source application architecture diagrams

Article

Coverity releases open source application architecture diagrams

Jan Stafford, Executive Editor
SAN FRANCISCO -- The new, free Coverity Scan library of open source application architecture diagrams could show that a picture is worth a thousand hours of code searches.

Released today on San Francisco-based Coverity's Scan site,

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

the library is a collection of application architecture files and diagrams created from data collected by the Scan site in conjunction with Coverity's Architecture Analyzer product, which automates processes that help developers identify violations of architectural standards.

The Coverity Architecture Database of more than 2,500 open source software project "blueprints" can help developers quickly understand an application's architecture. It's also a time saver for software testers and quality assurance (QA) managers.

"Open source projects have tens of thousands of lines of code," said Gartner Group analyst Mark Driver. "This tool helps someone surf through and pinpoint problems without having to read thousands of lines of source code."

Anything you can do to automate documentation is worth its weight in gold.
Mark Driver
AnalystGartner

This resource was designed to help developers see architecture as a concrete, rather than abstract, concept -- something that's difficult when all your work is done with text, said David Maxwell, Coverity's open source strategist.

"Today they're operating in a very text-oriented environment, and that's true whether they're doing programming on a fan line or in an integrated development," Maxwell said. "They're pretty much looking at names of files and the content of those files, and they don't have a lot of tools to provide them with meta-information about the relationships between the code that's in those files, like the relationships from one function to another or from a variable to its structure definition that it depends on."

In the Scan library, each graphical view of an open source project -- such as Samba, Perl, PHP or Python -- shows all its components and their relationship to each other.

"This is a tool to get an overview of the internal structure of a large project … to get people up to speed with code," said Volker Lendecke of the Samba Team. The Samba Team will, at some point, create diagrams of Samba's internal code structure and submit them to the library.

Being able to study a graphical presentation of an application's architecture and related data saves times and provides a number of other plusses for software developers, testers and QA managers.

For one thing, having a visual picture can make it easier to document a project.

"Anything you can do to automate documentation is worth its weight in gold," Gartner's Driver said. "Documentation is always a problem when you're dealing with distributed teams, so it's always a problem with open source projects. The last thing developers want to do is document. The larger the project, the more complex it is, the less likelihood that any individual will understand and be able to document the whole thing."

Developers who use or build on top of an open source project can compare their architecture plans to other codebases that use the same project to better understand the original software's capabilities. Viewing software's architectural plan helps developers of plug-ins and modules stay in sync with that software's intent and capabilities.

Software testers could use Coverity's library to find central pieces of code that need thorough testing, Lendecke said, because the pieces could be seen and referenced everywhere else.

Software quality managers can use the diagrams to see module dependencies very clearly. "You would arrange the 'boxes' in a way a project is supposed to be structured, and the tool clearly shows layering or other dependency violations," Lendecke suggested.

There are other graphical architecture tools available, Driver noted, but the Coverity Scan resource is probably the most comprehensive and high-level collection of diagrams of open sources projects. Individual projects sometimes publish blueprints. For example, there are diagrams available on the site of The Software Revolution Inc., which provides software language translation and modernization services. Maxwell noted that this site offers UML diagrams, state tables and state machine diagrams, while Scan's diagrams give a very high-level overview of a project.

Coverity offers information on Coverity's developer-inclusion program for Coverity Scan and complimentary licenses of Coverity Architecture via email at scan-admin@coverity.com.