Font Size: a A A

Research On Code-Level Crosscutting Concerns Mining Techniques

Posted on:2016-02-09Degree:MasterType:Thesis
Country:ChinaCandidate:T ChenFull Text:PDF
GTID:2308330470483705Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the wide application of software system, the modern software engineering adopts a “divide and conquer” strategy and treats the software development as a process of separation of core concerns and crosscutting concerns. A study shows that the various concerns are often separated from each other in the requirement and design stage of object-oriented software development, while in the concrete implementation stage, the method of object-oriented program(OOP) design is unable to maintain the state of the separation of core concerns and crosscutting concerns, leading to the appearance of the scattering and tangling codes that make the crosscutting concerns non-modular by original programming techniques. The phenomenon prompts an aspect-oriented programming(AOP) model that can naturally describe the programming model of crosscutting concerns. The emergence of aspect-oriented technology provides a new research topic for researchers who are devoted to software refactoring. The integration of Aspect-Oriented Programming and refactoring gives a new problem of Aspect-Oriented Refactoring, which consists of two steps, one is aspect mining, and the other is aspect refactoring. Aspect mining is not only the precondition of aspect refactoring, but the most important step of Aspect-Oriented refactoring.Crosscutting concerns have two main characteristics: tangling and scattering in the program code. So the crosscutting concerns mining principle is that through the detection of crosscutting concerns mining in the presence of these two kinds of characteristics of code blocks to continue crosscutting mining work. Scholars formulate corresponding crosscutting concerns mining algorithm on the basis of the judgment and put forward feasible mining methods, and finally use a large number of open source project cases to text the accuracy and availability of the mining methods. However, the crosscutting concerns with the characteristics of scattering mainly exist in the class hierarchy and are easy to be recognized. While, the crosscutting concerns with the characteristics of tangling mainly exist in the method hierarchy and are hard to be found, so that many mining methods are put forward only based on the scattering characteristics of program code to identify crosscutting concerns, and the potential code with tangling characteristics is hardly to be recognized. The whole mining efficiency is not high.According to the nature and features of crosscutting concerns, this paper proposes a new aspect mining approach based on fan-in analysis and improvement program dependence graph named FIMS. Firstly, the called frequency of method is called as the external characteristics of crosscutting concerns to obtain qualified collection methods by the analyses of the fan-in in the legacy system, and then putting each method as an independent individual to construct the modified system dependence graph named M-SDG inside each method. M-SDG refers to a dependency graph in which each program dependence graph is associated by the calling relations. Finally, through the corresponding mining rules, separate the core functions set and find the potential crosscutting concerns of the target system.FIMS is not limited to the external structure and behavior characteristics of the crosscutting code, but the whole mining work is carried out by the outside-in hierarchy in consideration of both scattering and tangling characteristics. FIMS improves the ability of mining crosscutting concerns to program code.In the last of the work, we take use of two open projects named JHotDraw and HSQLDB as test cases to test and analyze the FIMS mining method, and we prove the feasibility of FIMS method by comparing with several other classical mining methods.
Keywords/Search Tags:crosscutting concerns, fan-in analysis, aspect mining, system dependence graph
PDF Full Text Request
Related items