skip to main content
10.1145/1865875.1865882acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Assertion-based test oracles for home automation systems

Authors Info & Claims
Published:20 September 2010Publication History

ABSTRACT

The Home Automation System (HAS) is a service-oriented application that facilitates the automation of a private home to improve the comfort and security of its residents. HAS is implemented using a service-oriented architecture. Many of the services in the HAS dynamically change their configuration during run-time. This occurs due to change in availability and bindings between services. Dynamic reconfigurations of services in the HAS presents several testing challenges, one being the specification of test oracles. In this paper, we give an approach for specifying test oracles for services in the HAS. We formally specify test oracles in the JML specification language. To verify service behavior in the presence of dynamic reconfigurations, we use mechanisms in the service architecture that notify dynamic changes along with run-time evaluation of JML specifications. We illustrate our approach using an example service in the H-Omega HAS developed on the OSGi™ and iPOJO service platform. To evaluate our approach, we developed a testing framework that allows for generation of tests with dynamic service reconfigurations. In addition, we seeded faults into the example service, and evaluated the effectiveness of the test oracles in revealing the faults using the generated tests.

References

  1. Apache felix iPOJO website. http://felix.apache.org/site/apache-felix-ipojo.html.Google ScholarGoogle Scholar
  2. OSGi Alliance. OSGi Service Platform: Release 3, March 2003. IOS Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Baresi, C. Ghezzi, and S. Guinea. Smart monitors for composed services. In ICSOCŠ04, pages 193--202, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. Beck and E. Gamma. Test infected: Programmers love writing tests. Java Report 3(7), July 1998.Google ScholarGoogle Scholar
  5. F. Bellegarde, J. Groslambert, M. Huisman, J. Julliand, and O. Kouchnarenko. Verification of liveness properties with JML. Technical report, INRIA.Google ScholarGoogle Scholar
  6. J. Bourcier, A. Chazalet, M. Desertot, C. Escoffier, and C. Marin. A dynamic-soa home control gateway. In IEEE International Conference on Services Computing (SCC 2006), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Y. Cheon and G. T. Leavens. A Runtime Assertion Checker for the Java Modeling Language (JML). In Hamid R. Arabnia and Youngsong Mun, editors, International Conference on Software Engineering Research and Practice (SERP '02), pages 322--328, Las Vegas, Nevada, June 2002. CSREA Press.Google ScholarGoogle Scholar
  8. Y. Cheon and G. T. Leavens. A simple and practical approach to unit testing: The JML and JUnit way. In 16th European Conference on Object-Oriented Programming (ECOOP'02), number 2374 in LNCS, pages 231--255. Springer, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. Escoffier, J. Bourcier, P. Lalanda, and Jianqi Yu. Towards a home application server. In 5th IEEE Consumer Communications and Networking Conference, pages 321--325, January 2008.Google ScholarGoogle ScholarCross RefCross Ref
  10. C. Escoffier, R. S. Hall, and P. Lalanda. iPOJO: an extensible service-oriented component framework. In IEEE International Conference on Services Computing (SCC 2007), pages 474--481, July 2007.Google ScholarGoogle ScholarCross RefCross Ref
  11. S. Fickas and M. S. Feather. Requirements monitoring in dynamic environments. In Proc. of the Second IEEE International Symposium on Requirements Engineering, pages 140--147, March 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Ghezzi and S. Guinea. Run-time monitoring in service-oriented architectures. Test and Analysis of Web Services, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  13. IBM, BEA Systems, Microsoft, SAP AG, and Siebel Systems. Business Process Execution Language for Web Services 1.1, 2005.Google ScholarGoogle Scholar
  14. JUnit. http://www.junit.org.Google ScholarGoogle Scholar
  15. N. Kavantzas, D. Burdett, and G. Ritzinger. Web Services Choreography Description Language version 1.0, 2004.Google ScholarGoogle Scholar
  16. M. Kim, S. Kannan, I. Lee, O. Sokolosky, and M. Viswanathan. JAVA-MAC: a runtime assurance tool for java programs. Electronic Notes in Theoretical Computer Science, 55, 2001.Google ScholarGoogle Scholar
  17. G. T. Leavens, E. Poll, C. Clifton, Y. Cheon, C. Ruby, D. R. Cok, P. Muller, J. R. Kiniry, and P. Chalin. JML Reference Manual. Iowa State University, Jan 2006.Google ScholarGoogle Scholar
  18. Y. Ledru, L. du Bousquet, O. Maury, and P. Bontron. Filtering TOBIAS combinatorial test suites. In 7th Int. Conf. FASE, Held as Part of ETAPS, volume 2984 of LNCS, pages 281--294, Barcelona, Spain, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  19. K. Mahbub and G. Spanoudakis. Monitoring WS-Agreements: An Event Calculus-Based Approach. Test and Analysis of Web Services, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  20. D. K. Peters and D. L. Parnas. Requirements-based monitors for real-time systems. IEEE Trans. Softw. Eng., 28(2):146--158, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. G. Spanoudakis and K. Mahbub. Requirements monitoring for service-based systems: towards a framework based on event calculus. In Proceedings of the 19th International Conference on Automated Software Engineering, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. Assertion-based test oracles for home automation systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      MOMPES '10: Proceedings of the 7th International Workshop on Model-Based Methodologies for Pervasive and Embedded Software
      September 2010
      76 pages
      ISBN:9781450301237
      DOI:10.1145/1865875

      Copyright © 2010 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 20 September 2010

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader