Automated Design Conformance During Continuous Integration
Software Engineering Institute
Organizations invest in architecture to ensure their systems are extensible to provide for future growth in capability that is affordable and timely. But properties like extensibility are hard or impossible to test, and they are verified in architecture, not implementation. What can organizations do when developers change the code and diverge from that architecture and put the extensibility goal at risk? Only months or years later, when they're building the next release, do they discover the discrepancy--integration is delayed, and they need to rip the system apart and make it work again. The SEI's Rod Nord is heading the project "Automated Design Conformance during Continuous Integration" to develop a tool that automatically checks that each code commit conforms to its intended architecture. Extracting design from code is hard because there are few indications of intent in the code and because implementations show significant variations. But Nord and his team see potential in applying machine learning to detect design elements of architecture styles such as publish-subscribe to solve the problem of design conformance checking.