Nnaa, Sunday Barikui et al, International Journal of Computer Science and Mobile Computing, Vol.9 Issue.1, January- 2020, pg. 65-74 © 2020, IJCSMC All Rights Reserved 65 Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320088X IMPACT FACTOR: 6.199 IJCSMC, Vol. 9, Issue. 1, January 2020, pg.65 74 A REVIEW OF ASPECT ORIENTED PROGRAMMING FOR ENHANCED PROGRAM MODULARITY Nnaa, Sunday Barikui 1 ; Ojekudo, Nathaniel Akpofure 2 Department of Computer Science, Ignatius Ajuru University of Education, Rumuolumeni, Port Harcourt, Rivers State, Nigeria +2348032394805, nnaasunday76@yahoo.com 1 , +2348037581323, nathojekudo@gmail.com 2 Abstract: Software development process has evolved from the traditional software development paradigm with the attendant difficulties to a more intuitive approach. With the various improvement injected into the software program development landscape by the introduction of object oriented programming in terms of the modularization process, there abound a huge limitation due to the presence of cross-cutting concerns that have undermined the principle of abstraction with the attendant code scattering and tangling but with the inception of Aspect oriented programming and its complementary role to traditional OOP, there has been an improvement in the effective management of these concerns through the use of Aspect which focuses on specific cross-cutting functionality by unburdening its core classes, improving modularity and program efficiency. This paper reviews this two software development paradigm with a view to ascertain the common ground and visible difference amongst them and how AOP is changing the software development process. Keywords: Modularity, AOP, OOP, Aspect, Cross-cutting concerns Introduction From the basic perceptions of programming does not only intend to automate processes, but also focuses on process optimization and efficiency. The different programming paradigm over time has induced some form of enhancement or the other to the software development process but there are still rooms for improvement as the process of use and development has thrown up new challenges and opportunities for further improvement. Several approach abound in the program development space which over time has influenced the way software programs are developed