Modbat: A Model-Based API Tester for Event-Driven Systems

Model-based testing derives test executions from an abstract model that describes the system behavior. However, existing approaches are not tailored to event-driven or input/output-driven systems. In particular, there is a need to support non-blocking I/O operations, or operations throwing exceptions when communication is disrupted.

[1]  W. Marsden I and J , 2012 .

[2]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[3]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[4]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[5]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[6]  Martin Odersky,et al.  Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition , 2010 .

[7]  Takashi Kitamura,et al.  Test-Case Design by Feature Trees , 2012, ISoLA.

[8]  Cyrille Artho,et al.  Efficient Model Checking of Networked Applications , 2008, TOOLS.

[9]  Dean Wampler,et al.  Programming Scala - Scalability = Functional Programming + Objects , 2009 .

[10]  Cyrille Artho Separation of Transitions, Actions, and Exceptions in Model-Based Testing , 2009, EUROCAST.

[11]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000 .

[12]  Kwang-Ting Cheng,et al.  Automatic Functional Test Generation Using The Extended Finite State Machine Model , 1993, 30th ACM/IEEE Design Automation Conference.

[13]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[14]  Barton P. Miller,et al.  An empirical study of the robustness of Windows NT applications using random testing , 2000 .

[15]  Armin Biere,et al.  Model-Based Testing for Verification Back-Ends , 2013, TAP@STAF.

[16]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[17]  Margus Veanes,et al.  Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer , 2008, Formal Methods and Testing.

[18]  Dietmar Winkler,et al.  Random Test Case Generation and Manual Unit Testing: Substitute or Complement in Retrofitting Tests for Legacy Code? , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.

[19]  Jeff Kramer,et al.  Is abstraction the key to computing? , 2007, CACM.

[20]  Gordon Fraser,et al.  Whole Test Suite Generation , 2013, IEEE Transactions on Software Engineering.

[21]  Will Reese,et al.  Nginx: the high-performance web server and reverse proxy , 2008 .

[22]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[23]  Michael D. Ernst,et al.  Randoop: feedback-directed random testing for Java , 2007, OOPSLA '07.

[24]  Koushik Sen,et al.  CUTE: a concolic unit testing engine for C , 2005, ESEC/FSE-13.

[25]  Jonathan Jacky,et al.  Model-Based Software Testing and Analysis with C# , 2007 .

[26]  Johannes Link,et al.  Unit Testing in Java: How Tests Drive the Code , 2003 .

[27]  Teemu Kanstrén,et al.  Using Built-In Domain-Specific Modeling Support to Guide Model-Based Test Generation , 2012, MBT.

[28]  Koen Claessen,et al.  QuickCheck: a lightweight tool for random testing of Haskell programs , 2011, SIGP.

[29]  Andreas Zeller,et al.  Simplifying and Isolating Failure-Inducing Input , 2002, IEEE Trans. Software Eng..

[30]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[31]  Cyrille Artho,et al.  Software model checking for distributed systems with selector-based, non-blocking communication , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).