Abstract

This paper proposes a technique to compute dynamic slices of feature-oriented programs with aspect-oriented extensions. The technique uses a dependence based intermediate program representation called composite feature-aspect dependence graph (CFADG) to represent feature-oriented software that contain aspects. The CFADG of a feature-oriented program is based on the selected features that are composed to form a software product and the selected aspects to be weaved. The proposed dynamic slicing technique has been named feature-aspect node marking dynamic slicing (FANMDS) algorithm. The proposed feature-aspect node marking dynamic slicing algorithm is based on marking and unmarking the executed nodes in the CFADG suitably during run-time. The advantage of the proposed approach is that no trace le is used to store the execution history. Also, the approach does not create any additional nodes during run-time.

Highlights

  • Weiser [33] first introduced the concept of a program slice

  • We have proposed an intermediate representation for feature-oriented programs, called Composite FeatureAspect Dependence Graph (CFADG)

  • We have presented an approach to compute dynamic slices of feature-oriented programs with aspect-oriented extensions

Read more

Summary

Introduction

Weiser [33] first introduced the concept of a program slice. Program slicing decomposes a program into different parts related to a particular computation. Feature-oriented programming (FOP) is concerned with the separate definition of individual features and the composition of required features to build varieties of a particular software product. The functionalities of a software product are identified as features in FOP paradigm. FOP is used to implement software product lines and incremental designs. Feature-Oriented Programming (FOP) approach is used to implement software product lines. A software should adapt the unanticipated requirements and circumstances This leads to modifications and extensions that crosscut many existing implementation units. The problem of crosscutting modularity is solved by using aspect-oriented programming (AOP). First an intermediate representation of the program is statically created in the form of a dependence graph. In FOP (with AOP extensions), multiple dependence graphs are created depending upon the composition of features and aspects. If there are four features and two aspects in a product line out of which two features and one aspect are mandatory, there are eight possible combinations of features

Objectives
Methods
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.