Improving Effectiveness in the Identification of Crosscutting Concerns in Source Code - Abait, Esteban S. (2010)
Although aspect mining techniques are supposed to help software developers in discovering where crosscutting concerns are located in source code, in practice, the amount of user involvement required hinder their applicability. The large number of yielded candidates in conjunction with the exhibition of low precision and low recall constitutes the main pitfalls that current aspect mining techniques suffer from. In order to overcome the aforementioned problems we propose to restate the aspect mining problem as a decision making problem. If each aspect mining technique is considered to be an expert on its own, the combination of multiple expert judgments is supposed to improve the effectiveness of the identification process. The proposed approach uses several aspect mining algorithms whose results are combined using a technique known as linear opinion pool. A linear opinion pool is a mathematical combination method commonly used in decision making for aggregating the opinions of several experts in a given area. The output of the proposed approach is a ranking of source code elements (candidate seeds) that may correspond to a crosscutting concern. Our main hypothesis are: (1) the application of decision making techniques reduces the number of generated candidate seeds while improving the precision, and (2) by combining techniques based on different program analysis techniques (as static analysis or dynamic analysis) the recall can be improved. Preliminary results shows the viability of the approach and the validity of our claims.