2017 · 29 citations · 18 references
ComputingComputer ScienceComputer SystemsDistributed SystemsFormal MethodsModel-based Systems EngineeringDesign For TestabilityModel ExecutionModel-driven DevelopmentModel-driven Software EngineeringSoftware TestingWeb Application TestingApi TestingAsynchronous ProgrammingClient-side SessionsCoverage EvaluationDistributed Data StorageModel-based TestingTest CasesTest Generation From Models
Apache ZooKeeper is a distributed data storage that is highly concurrent and asynchronous due to network communication, testing such a system is very challenging. Our solution using the tool "Modbat" generates test cases for concurrent client sessions, and processes results from synchronous and asynchronous callbacks. We use an embedded model checker to compute the test oracle for non-deterministic outcomes, the oracle model evolves dynamically with each new test step. Our work has detected multiple previously unknown defects in ZooKeeper. Finally, a thorough coverage evaluation of the core classes show how code and branch coverage strongly relate to feature coverage in the model, and hence modeling effort.
18
Willem Visser, Klaus Havelund, Guillaume Brat et al. · Automated Software Engineering · 2003 · 1.4K citations
ZooKeeper: wait-free coordination for internet-scale systems
P. G. Hunt, Mahadev Konar, Flavio Junqueira et al. · 2010 · 1.3K citations
Carlos Pacheco, Michael D. Ernst · 2007 · 519 citations