Hridesh Rajan, an Assistant Professor in the Department of Computer Science, recently won an NSF award to improve modularization and reasoning mechanisms for Aspect-oriented programming languages, which is a longstanding challenge.
A software system consists of several parts called modules that each implement part of its functionality. A general rule of thumb in creation of software is that each module should serve a small number of well-defined functions and a functionality of software should be implemented by a small number of well-defined modules. This makes it easier and more manageable to change software in the long run and thus decreases costs and increases reliability. There are some functionalities, however, that end up influencing several modules of a software system. Since these functionalities affect several modules, it becomes harder to change them. Since a module is affected by several functionalities it becomes harder to understand its function. As a result, such functionalities make software development costly, tedious, and error prone and often decrease the reliability of the product. Aspect-oriented programming languages are widely used in industry to improve the implementation of such software functionalities.
This project focuses on developing techniques that improve a programmer's capability to understand and write aspect-oriented programs. Addressing this challenge has the potential to make software more reliable and maintainable.
PI Rajan directs the laboratory for software design at ISU, which conducts research in programming languages and software engineering.