On the criteria to be used in decomposing systems into modules
Communications of the ACM
Aspect-oriented programming: Introduction
Communications of the ACM
Communications of the ACM
Selected writings on computing: a personal perspective
Selected writings on computing: a personal perspective
Identifying Refactoring Opportunities Using Logic Meta Programming
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
A quantitative analysis of aspects in the eCos kernel
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Hi-index | 0.00 |
In this paper, we analyze the suitability of refactoring the integer programming algorithms Branch and Bound and Branch and Cut with aspects implemented in Computational Infrastructure for Operations Research (COIN-OR), an open source library for Operations Research. For identifying the concerns in the code, we propose a classification of concerns in terms of requirements. We transformed the rules of an existing Aspect-Oriented Programming (AOP) refactoring catalog for Java to a corresponding catalog for AspectC++ and developed a refactored version of the implemented algorithms using our transformed rules. The execution time of Branch and Bound and Branch and Cut was measured and the impact of using AOP was analyzed. The results are very encouraging and we assess that besides a customizable code, the execution time did not degrade with AOP.