{"authors":[{"id":"8c4b0b3c-10f8-4c06-b780-b57f6ddc845c","name":"lamia shaheen","nodesUserId":52526,"orcid":"0009-0000-0159-9711","role":["Writing - review & editing","Writing - original draft","Visualization","Validation"]},{"id":"f8490997-1d48-4db2-970f-c451a54cb6b3","name":"Abdulrahman Yousaf Shaheen","nodesUserId":52587,"orcid":"0009-0009-6500-0742","role":["Writing - review & editing","Writing - original draft","Validation","Visualization"]}],"components":[{"id":"root","name":"root","payload":{"cid":"bafybeicmocwts75674qy4675ea3bmajul3xcxnobjhv5iatx6ds4qaakqq","path":"root"},"type":{".pdf":"pdf"}},{"id":"76289782-a6ee-4a1b-8c75-4ca31f437729","name":"ASystematicReviewofTestingTechniquesforAspectOrientedPrograms.pdf","payload":{"cid":"bafybeidbutea6wm6ge5d4xokmgwbti5jj4ammhut3irids7nsk4jelfqim","path":"root/ASystematicReviewofTestingTechniquesforAspectOrientedPrograms.pdf","title":"Manuscript"},"starred":true,"subtype":"manuscript","type":"pdf"}],"defaultLicense":"CC BY","description":"Software testing is the most important phase in software development life cycle. Different testing techniques have been developed for testing of software systems developed using different software methodologies. Aspect Oriented Programming (AOP) is a emerging software development methodology to model real world entities and separating crosscutting concerns into a separate module for reusability and ease of managing code. Aspect Oriented Programming complements objects oriented programming, not replacing it, by the addition of aspects in program for cross cutting concerns. As a result of new software development methodology testing techniques have been also developed to test Aspect Oriented Programs. This paper provides a comprehensive survey and analysis of testing technique developed for testing Aspect Oriented Software. We have performed analysis and evaluated testing methodologies based on our selected parameters.","keywords":["computer science","software engineering","aspect oriented programming","software construction","software development","regression testing","system integration testing","non regression testing","software reliability testing","software development process","test strategy","reusability","software","verification and validation","programming language","engineering","operations management"],"references":[{"authors":[{"name":"Chun-Zhang W B Jian-Hui"}],"id":"10.1016/j.jss.2007.12.807","issue":"","journal":"rd International Conference on Innovative Computing Information and Control","pages":"","title":"Software Evolution with Feature-Oriented and Aspect-Oriented Programming","type":"doi","url":"10.1016/j.jss.2007.12.807","volume":"","year":"2008"},{"authors":[{"name":"J Grundy"}],"id":"10.1142/s0218194000000341","issue":"6","journal":"International Journal of Software Engineering and Knowledge Engineering","pages":"","title":"Multi-perspective specification, design and implementation of software components using aspects","type":"doi","url":"10.1142/s0218194000000341","volume":"10","year":"2000"},{"authors":[{"name":"A Colyer"},{"name":"Johnson R R Harrop"},{"name":"A Vasseur"},{"name":"D Beuche"},{"name":". C Beust"}],"id":"https://doi.org/10.1109/MS.2006.26","issue":"1","journal":"IEEE Software","pages":"","title":"AOP Will See Widespread Adoption","type":"doi","url":"https://doi.org/10.1109/MS.2006.26","volume":"23","year":"2006-02"},{"authors":[{"name":"Jianjun Zhao"}],"id":"https://doi.org/10.1109/WPC.2002.1021346","issue":"","journal":"Proceedings. 10th International Workshop on","pages":"","title":"Slicing aspect-oriented software\" Program Comprehension","type":"doi","url":"https://doi.org/10.1109/WPC.2002.1021346","volume":"","year":"2002"},{"authors":[{"name":"Proceeding"}],"id":"10.1109/apsec.2004","issue":"","journal":"","pages":"","title":"11th Asia-Pacific software engineering conference","type":"doi","url":"10.1109/apsec.2004","volume":"","year":"2004-12-03"},{"authors":[{"name":"Guoqing Xu"},{"name":"Atanas Rountev"}],"id":"10.1109/icse.2007.72","issue":"","journal":"Proceedings of the 29th International Conference on Software Engineering","pages":"","title":"Regression Test Selection for AspectJ Software","type":"doi","url":"10.1109/icse.2007.72","volume":"","year":"2007"},{"authors":[{"name":"Dianxiang Xu"},{"name":"Weifeng Xu"},{"name":"; Z Cui"},{"name":"Wang L"},{"name":"Li X"}],"id":"10.5381/jot.2009.8.3.a4","issue":"","journal":"Proceedings of the 2009 ACM symposium on Applied Computing","pages":"","title":"State-Based Incremental Testing of Aspect-Oriented Programs","type":"doi","url":"10.5381/jot.2009.8.3.a4","volume":"ISBN","year":"2006"},{"authors":[{"name":"Dianxiang Xu"},{"name":"Weifeng Xu"}],"id":"https://doi.org/>10.1145/1146374.1146376","issue":"","journal":"WTAOP '06 Proceedings of the 2nd workshop on Testing aspectoriented programs ACM","pages":"","title":"State-based testing of integration aspects","type":"doi","url":"https://doi.org/>10.1145/1146374.1146376","volume":"","year":""}],"researchFields":["Autonomic Computing and Self-Adaptive Systems","Software Reliability Assessment and Prediction","Advancements in Automated Software Testing Techniques"],"title":"A Systematic Review of Testing Techniques for Aspect Oriented Programs","version":"desci-nodes-0.2.0"}