AOP Approach for Testing Program Invariants
Manish Jain1, Dinesh Gopalani2

1Manish Jain, Department of Computer Science, Malaviya National Institute of Technology, Jaipur, (R.J), India.
2Dinesh Gopalani, Department of Computer Science, Malaviya National Institute of Technology, Jaipur, (R.J), India.

Manuscript received on 24 September 2018 | Revised Manuscript received on 30 September 2018 | Manuscript published on 30 November 2018 | PP: 184-187 | Volume-7 Issue-4, November 2018 | Retrieval Number: E1824017519©BEIESP
Open Access | Ethics and Policies | Cite | Mendeley | Indexing and Abstracting
© The Authors. Blue Eyes Intelligence Engineering and Sciences Publication (BEIESP). This is an open access article under the CC-BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)

Abstract: Mankind is becoming increasingly dependent on software technology which intensifies the need for thorough software testing and development of automated software testing techniques. We have proposed Aspect Oriented Programming (AOP) as a potential methodology for performing various types of automated software testing. In this paper, we have particularly demonstrated the use of AOP for performing testing of invariants in software artifacts. Invariants are assertions about the state of a program that are expected to be true each time control reaches a particular point in the program. If an assertion is found not to be true, then such condition corresponds to a bug discovery. In this paper, adherence to run time as well as compile time invariants in Java applications has been tested using AspectJ, which has become the de-facto standard for AOP. We established that our AOP approach for testing invariants has got several advantages like faster test execution, no test-code scattering etc.
Keywords: Aspect oriented programming, AspectJ, aspects, crosscutting, invariant testing, software testing.

Scope of the Article: Artificial Intelligence Approaches to Software Engineering