JITTAC: A Just-in-Time Tool for Architectural Consistency

Jim Buckley, Sean Mooney, Jacek Rosik, and Nour Ali

University of Limerick, Ireland; University of Brighton, UK

Track: Formal Tool Demonstrations
Session: Formal Demonstrations 1
Architectural drift is a widely cited problem in software engineering, where the implementation of a software system diverges from the designed architecture over time causing architecture inconsistencies. Previous work suggests that this architectural drift is, in part, due to programmers lack of architecture awareness as they develop code. JITTAC is a tool that uses a real-time Reflexion Modeling approach to inform programmers of the architectural consequences of their programming actions as, and often just before, they perform them. Thus, it provides developers with Just-In-Time architectural awareness towards promoting consistency between the as-designed architecture and the as-implemented system. JITTAC also allows programmers to give real-time feedback on introduced inconsistencies to the architect. This facilitates programmer-driven architectural change, when validated by the architect, and allows for more timely team-awareness of the actual architectural consistency of the system. Thus, it is anticipated that the tool will decrease architectural inconsistency over time and improve both developers and architect's knowledge of their softwares architecture. The JITTAC demo is available at: http://www.youtube.com/watch?v=BNqhp40PDD4&feature=youtu.be