Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1229384.1229386acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Perspectives on automated testing of aspect-oriented programs

Published: 12 March 2007 Publication History
  • Get Citation Alerts
  • Abstract

    Aspect-oriented software development is gaining popularity with the adoption of aspect-oriented languages in writing programs. To reduce the manual effort in assuring the quality of aspect-oriented programs, we have developed a set of techniques and tools for automated testing of aspect-oriented programs. This position paper presents our perspectives on automated testing techniques from three dimensions: testing aspectual behavior or aspectual composition, unit tests or integration tests, and test-input generation or test oracles. We illustrate automated testing techniques primarily through the last dimension in the perspectives. By classifying these automated testing techniques in the perspectives, we provide better understanding of these techniques and identify future directions for automated testing of aspect-oriented programs. This position paper also presents a couple of new techniques that we propose based on the perspectives.

    References

    [1]
    AspectJ compiler 1.2, May 2004. http://eclipse.org/aspectj/.
    [2]
    P. Anbalagan and T. Xie. APTE: Automated pointcut testing for AspectJ programs. In Proc. 2nd Workshop on Testing Aspect-Oriented Programs, pages 27--32, July 2006.
    [3]
    P. Anbalagan and T. Xie. Efficient mutant generation for mutation testing of pointcuts in aspect-oriented programs. In Proc. 2nd Workshop on Mutation Analysis, pages 51--56, November 2006.
    [4]
    K. Arnold, J. Gosling, and D. Holmes. The Java Programming Language. Addison-Wesley Longman Publishing Co., Inc., 2000.
    [5]
    L. Baresi and M. Young. Test oracles. Technical Report CIS-TR-01-02, University of Oregon, Dept. of Computer and Information Science, Eugene, Oregon, U.S.A., August 2001.
    [6]
    B. Beizer. Software Testing Techniques. International Thomson Computer Press, 1990.
    [7]
    C. Csallner and Y. Smaragdakis. JCrasher: an automatic robustness tester for Java. Software: Practice and Experience, 34:1025--1050, 2004.
    [8]
    M. J. Harrold and G. Rothermel. Performing data flow testing on classes. In Proc. 2nd ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 154--163, 1994.
    [9]
    E. Hilsdale and J. Hugunin. Advice weaving in AspectJ. In Proc. 3rd International Conference on Aspect-Oriented Software Development, pages 26--35, 2004.
    [10]
    JUnit, 2003. http://www.junit.org.
    [11]
    G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proc. 11th European Conference on Object-Oriented Programming, pages 220--242. 1997.
    [12]
    J. W. Laski and B. Korel. A data flow oriented program testing strategy. IEEE Trans. Software Eng., 9(3):347--354, 1983.
    [13]
    G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report TR 98--06i, Department of Computer Science, Iowa State University, June 1998.
    [14]
    C. V. Lopes and T. Ngo. Unit testing aspectual behavior. In Proc. 1st Workshop on Testing Aspect-Oriented Programs, March 2005.
    [15]
    Y.-S. Ma, J. Offutt, and Y. R. Kwon. MuJava: an automated class mutation system. Softw. Test. Verif. Reliab., 15(2):97--133, 2005.
    [16]
    D. Marinov and S. Khurshid. Testera: A novel framework for automated testing of java programs. In Proc. 16th IEEE International Conference on Automated Software Engineering, pages 22--31, 2001.
    [17]
    Mock objects, 2004. http://www.mockobjects.com.
    [18]
    P. Netisopakul, L. J. White, J. Morris, and D. Hoffman. Data coverage testing of programs for container classes. In Proc. 13th International Symposium on Software Reliability Engineering, pages 183--194, November 2002.
    [19]
    Parasoft. Jtest manuals version 4.5. Online manual, April 2003. http://www.parasoft.com/.
    [20]
    S. Rapps and E. J. Weyuker. Selecting software test data using data flow information. IEEE Trans. Softw. Eng., 11(4):367--375, 1985.
    [21]
    D. Saff and M. D. Ernst. Automatic mock object creation for test factoring. In Proc. Workshop on Program Analysis for Software Tools and Engineering, pages 49--51, June 2004.
    [22]
    P. Tarr, H. Ossher, W. Harrison, and J. Stanley M. Sutton. N degrees of separation: multi-dimensional separation of concerns. In Proc. 21st International Conference on Software Engineering, pages 107--119, 1999.
    [23]
    M. Weiser. Program slicing. In Proc. 5th International Conference on Software Engineering, pages 439--449, 1981.
    [24]
    T. Xie, D. Marinov, and D. Notkin. Rostra: A framework for detecting redundant object-oriented unit tests. In Proc. 19th IEEE International Conference on Automated Software Engineering, pages 196--205, Sept. 2004.
    [25]
    T. Xie, D. Marinov, W. Schulte, and D. Noktin. Symstra: A framework for generating object-oriented unit tests using symbolic execution. In Proc. the International Conference on Tools and Algorithms for the Construction and Analysis of Systems, April 2005.
    [26]
    T. Xie and J. Zhao. A framework and tool supports for generating test inputs of AspectJ programs. In Proc. 5th International Conference on Aspect-Oriented Software Development, pages 190--201, March 2006.
    [27]
    T. Xie, J. Zhao, D. Marinov, and D. Notkin. Automated test generation for AspectJ program. In Proc. 1st Workshop on Testing Aspect-Oriented Programs, March 2005.
    [28]
    T. Xie, J. Zhao, D. Marinov, and D. Notkin. Detecting redundant unit tests for AspectJ programs. In Proc. 17th IEEE International Conference on Software Reliability Engineering, pages 179--188, November 2006.
    [29]
    Y. Yamazaki, K. Sakurai, S. Matsuura, H. Masuhara, H. Hashiura, and S. Komiya. A unit testing framework for aspects without weaving. In Proc. 1st Workshop on Testing Aspect-Oriented Programs, March 2005.
    [30]
    J. Zhao. Data-flow-based unit testing of aspect-oriented programs. In Proc. 27th IEEE International Computer Software and Applications Conference, pages 188--197, Nov. 2003.
    [31]
    J. Zhao and M. Rinard. Pipa: A behavioral interface specification language for AspectJ. In Proc. 6th International Conference on Fundamental Approaches to Software Engineering, pages 150--165, April 2003.
    [32]
    H. Zhu, P. A. V. Hall, and J. H. R. May. Software unit test coverage and adequacy. ACM Comput. Surv., 29(4):366--427, 1997.

    Cited By

    View all
    • (2015)Testing of aspect-oriented programs: difficulties and lessons learned based on theoretical and practical experienceJournal of the Brazilian Computer Society10.1186/s13173-015-0040-121:1Online publication date: 20-Nov-2015
    • (2013)ACREProceedings of the 2013 17th European Conference on Software Maintenance and Reengineering10.1109/CSMR.2013.22(121-130)Online publication date: 5-Mar-2013
    • (2011)Empirical evaluation of the fault detection effectiveness and test effort efficiency of the automated AOP testing approachesInformation and Software Technology10.1016/j.infsof.2011.05.00453:10(1062-1083)Online publication date: Oct-2011

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    WTAOP '07: Proceedings of the 3rd workshop on Testing aspect-oriented programs
    March 2007
    31 pages
    ISBN:9781595936639
    DOI:10.1145/1229384
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 March 2007

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. AspectJ
    2. aspect-oriented software development
    3. software testing

    Qualifiers

    • Article

    Conference

    AOSD07
    AOSD07: 6th International Conference on Aspect-Oriented Software Development
    March 12 - 13, 2007
    British Columbia, Vancouver, Canada

    Acceptance Rates

    WTAOP '07 Paper Acceptance Rate 5 of 6 submissions, 83%;
    Overall Acceptance Rate 5 of 6 submissions, 83%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 26 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2015)Testing of aspect-oriented programs: difficulties and lessons learned based on theoretical and practical experienceJournal of the Brazilian Computer Society10.1186/s13173-015-0040-121:1Online publication date: 20-Nov-2015
    • (2013)ACREProceedings of the 2013 17th European Conference on Software Maintenance and Reengineering10.1109/CSMR.2013.22(121-130)Online publication date: 5-Mar-2013
    • (2011)Empirical evaluation of the fault detection effectiveness and test effort efficiency of the automated AOP testing approachesInformation and Software Technology10.1016/j.infsof.2011.05.00453:10(1062-1083)Online publication date: Oct-2011

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media