Software development gets easier
Software systems are becoming larger and more complex, requiring increasingly sophisticated solutions to facilitate software engineering. The EU-funded project 'Rich interfaces for verifiable aspect reuse' (RIVAR) developed novel approaches that divide challenges into parts and recombine partial solutions within integrated modular systems. It examined these challenges through aspect-oriented programming (AOP), considering various modularisation strategies that enable programmers to effectively maintain modularisation hierarchies in parallel and combine them to produce one whole system. To achieve its aims, RIVAR investigated the source code of three large aspect-based systems, documenting specific assumptions made by their developers. It then catalogued them in a single publication that can be used for assumption elicitation in code walkthroughs, among other uses. The ensuing catalogue of aspect assumption types was published at the International Conference on Aspect-Oriented Software Development, 2011, focusing specifically on the AspectJ language. In addition, the project developed templates of formal expressions of the assumption types for verifying that an aspect's assumptions can be easily integrated into a base system. Aspect developers can use these templates to help facilitate different key elements of software engineering. Many of the tools to help this endeavour have been published on the project website, which features published papers, relevant data and other resources.