Modular Reasoning in Aspect-Oriented Languages
Datasets usually provide raw data for analysis. This raw data often comes in spreadsheet form, but can be any collection of data, on which analysis can be performed.
Aspect-oriented programming aims to separate crosscutting concerns into their own modules, called aspects. While aspects can achieve this at a syntactic level, this is done at the expense of modular reasoning: Whenever a method call is made, all aspects should be inspected to determine whether or not that call's behaviour will be affected by an aspect. To restore modular reasoning, we present a two-part approach that does not affect the programming language itself, but rather governs how to write contracts for aspect-oriented programs.
Presented at SATToSE'15.