Software metrics provide a means for software practitioners to assess the quality of their software. Ideally, this information should be available earlier in the software development lifecycle, since changes are much more expensive to incorporate in the later stages. Design level metrics offer an elegant way of capturing this information. Research in software design metrics has focused primarily on procedural and object oriented software. However, such metrics are currently not available for Aspect Oriented Software Development (AOSD), which is an emerging paradigm. Aspect Oriented Programming (AOP) is an approach that allows programmers to modularize crosscutting concerns that are scattered across multiple modules. Separation of concerns through aspects has the advantages of increased reliability, adaptability and better reuse. The objective of this paper is to propose suitable metrics for the Aspect Oriented Design (AOD) and to develop a tool that will automatically select a better design based on the proposed metrics. In this paper, class and sequence diagrams are used to represent an AOD. The proposed design level metrics are applied to two alternative designs of an illustrative case study. The tool selects the design that better suits stakeholder requirements, based on logical inferences obtained from these metrics regarding the quality of the Aspect Oriented software.
Aspect-Oriented Programming (AOP) is an emerging paradigm that enhances the modularity of Object-Oriented Programming (OOP) by eliminating tangling and scattering in the code. The scattering code is encapsulated within a module called an Aspect. A join point is an execution point in a program. When there is more than one aspect sharing the same join point then it becomes necessary to identify the faults that occur during their composition. A Fault model is instrumental in identifying the faults that can occur in any software system. Research works so far have focused on the composition of Aspects only from the implementation standpoint. It is necessary to identify these faults during the design process, early in the software development lifecycle. This would help in adopting better coding strategies that result in modular, reusable and maintainable code. Towards this objective, this paper proposes a candidate fault model that identifies the faults which occur during Aspect Composition from the design. Use-case scenarios and sequence diagrams are used to reflect the design of the system. The proposed fault model identifies the faults from the sequence diagrams. Test cases are generated from the design using black-box testing strategy. The proposed fault model is also applied to an illustrative case study and has been validated using test case coverage analysis.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.