Background: Modern day software applications involve management and processing of huge amount of data, originating from a variety of sources such as Internet of Things. Such data may be dynamic, homogenous or heterogeneous. Such data is processed by the users according to their own specific needs through programming code. The coding tool should be such that it is extensible and appropriate to manage such data. The aspect-oriented approach of programming can be a good option to handle such data for extracting useful and timely information. Aspect-oriented approach can contribute positively in extending the software design and code dynamically.
Objective: The aim of the research is to provide a formal framework for evaluating the extensibility of the software.
Method: In order to design a framework for extensibility, a maintainability model is used. By applying the maintainability model, a novel framework for evaluating the extensibility characteristic is exhibited. The proposed framework is tested for a set of aspect-based software. Also, validation of the proposed extensibility metric is done by applying Karl Pearson Product Moment Correlation method. Finally, a comparison is made between software built using object-oriented approach and aspect-oriented approach.
Results: Results suggest that novel framework for extensibility is a valid framework. Further, the findings reveal a strong positive relation between the selected attributes and extensibility. Also, after comparison it was found that, software built using aspect-oriented approach is more extensible than the one built using object-oriented approach.
Conclusion: The experimental results show that the level of sub-attributes can contribute effectively to determine the level of extensibility, with design size being the top contributor, followed by complexity, coupling and cohesion. And the proposed framework is found to help software developers in selecting software that can be easily extensible.
Keywords: Aspect-oriented software, aspectj, software quality, quality metrics, extensibility, framework.