Separation of scattered concerns: a graph based approach for aspect mining

  • Authors:
  • Dipankar Majumdar;Ananya Kanjilal;Swapan Bhattacharya

  • Affiliations:
  • RCC Institute of Information Technology, Kolkata, India;B.P. Poddar Institute of Management and Technology, Kolkata, India;Jadavpur University, Kolkata, India

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

Aspect Mining is a dynamic area of research in the field of Software Engineering. Aspects are concerns that are intermingled with other concerns thereby reducing the understandability, maintainability and scalability of the code. The concept of Separation of Concerns (SoC) is often achieved untill the Design Phase, but gets difficult in the later phases of the software development life cycle (SDLC). During program maintenance the maintenance team is left with an aggregation of procedures and variables, both of which may be generically called user-defined tokens. This paper proposes a graph-based approach to address the problem of SoC during program maintenance. This is done by the removal of some source code elements (e.g., user-defined-tokens), which can be responsible for tangled concerns and complex code. These user-definedtokens can be treated separately under the Aspect Oriented Programming paradigm. The paper proposes a graphical-model, which represents a procedural program and defines a mathematical- model to identify and remove the tangled and interleaving code-fragments. Thereafter these code fragments are traced back to the requirements engineering level through a formal traceability model. This process yields the corresponding user requirements that are associated with these scattered code fragments. These identified user requirements are put forward as Aspects, to be handled or re-engineered under the Aspect Oriented Programming paradigm.