The motivation behind introducing Aspect Oriented Programming (AOP) has been to increase the modularity of software by allowing a clear separation of core and cross-cutting concerns in software. AspectJ is a common AO programming technique used by programmers with excellent support from the Eclipse community. In AspectJ, complex interactions between the base code and aspects can make the code very difficult to understand and maintain. Added to this, there is also a possibility for the occurrence of interference between cross-cutting functionalities offered through advices and woven at the join points in AspectJ software. These interferences cannot be identified by the developer without a proper analysis on its existence. In order to address the problems arising out of interferences in AspectJ programs, this paper summarizes the work done to provide capabilities for the definition and identification of the rules of violation. A tool has been developed to define and identify interferences and also to provide possible solutions for the removal of interferences in a given AspectJ code.