Powered by
2015 International Symposium on Software Testing and Analysis (ISSTA),
July 13–17, 2015,
Baltimore, MD, USA
Tool Demonstrations
Dynamic Taint Tracking for Java with Phosphor (Demo)
Jonathan Bell and Gail Kaiser
(Columbia University, USA)
Dynamic taint tracking is an information flow analysis that can be applied to many areas of testing. Phosphor is the first portable, accurate and performant dynamic taint tracking system for Java. While previous systems for performing general-purpose taint tracking in the JVM required specialized research JVMs, Phosphor works with standard off-the-shelf JVMs (such as Oracle's HotSpot and OpenJDK's IcedTea). Phosphor also differs from previous portable JVM taint tracking systems that were not general purpose (e.g. tracked only tags on Strings and no other type), in that it tracks tags on all variables. We have also made several enhancements to Phosphor, to track taint tags through control flow (in addition to data flow), as well as to track an arbitrary number of relationships between taint tags (rather than be limited to only 32 tags). In this demonstration, we show how developers writing testing tools can benefit from Phosphor, and explain briefly how to interact with it.
@InProceedings{ISSTA15p409,
author = {Jonathan Bell and Gail Kaiser},
title = {Dynamic Taint Tracking for Java with Phosphor (Demo)},
booktitle = {Proc.\ ISSTA},
publisher = {ACM},
pages = {409--413},
doi = {},
year = {2015},
}
Info
TSTL: A Language and Tool for Testing (Demo)
Alex Groce , Jervis Pinto, Pooria Azimi, and Pranjal Mittal
(Oregon State University, USA)
Writing a test harness is a difficult and repetitive program- ming task, and the lack of tool support for customized auto- mated testing is an obstacle to the adoption of more sophis- ticated testing in industry. This paper presents TSTL, the Template Scripting Testing Language, which allows users to specify the general form of valid tests for a system in a simple but expressive language, and tools to support testing based on a TSTL definition. TSTL is a minimalist template- based domain-specific language, using the source language of the Software Under Test (SUT) to support most operations, but adding declarative idioms for testing. TSTL compiles to a common testing interface that hides the details of the SUT and provides support for logging, code coverage, delta debugging, and other core testing functionality, making it easy to write universal testing tools such as random testers or model checkers that apply to all TSTL-defined harnesses. TSTL is currently available for Python, but easily adapted to other languages as well.
@InProceedings{ISSTA15p414,
author = {Alex Groce and Jervis Pinto and Pooria Azimi and Pranjal Mittal},
title = {TSTL: A Language and Tool for Testing (Demo)},
booktitle = {Proc.\ ISSTA},
publisher = {ACM},
pages = {414--417},
doi = {},
year = {2015},
}
CanaryAdvisor: A Statistical-Based Tool for Canary Testing (Demo)
Alexander Tarvo, Peter F. Sweeney, Nick Mitchell, V.T. Rajan, Matthew Arnold, and Ioana Baldini
(IBM Research, USA)
Canary testing is an emerging technique that offers to minimize the risk of deploying a new version of software. It does so by slowly transferring load from the current to the new ("canary") version. As this ramp-up progresses, a human compares the performance and correctness of the two versions, and assesses whether to abort the canary version. For canary testing to be effective, a plethora of metrics must be analyzed, including CPU utilization and logged errors, across hundreds to thousands of machines. Performing this analysis manually is both time consuming and error prone.
In this paper, we present CanaryAdvisor, a tool for automatic canary testing of cloud-based applications. CanaryAdvisor continuously monitors the deployed versions of an application and detects degradations in correctness, performance, and/or scalability. We describe our design and implementation of the CanaryAdvisor and outline open challenges.
@InProceedings{ISSTA15p418,
author = {Alexander Tarvo and Peter F. Sweeney and Nick Mitchell and V.T. Rajan and Matthew Arnold and Ioana Baldini},
title = {CanaryAdvisor: A Statistical-Based Tool for Canary Testing (Demo)},
booktitle = {Proc.\ ISSTA},
publisher = {ACM},
pages = {418--422},
doi = {},
year = {2015},
}
SAMC: A Fast Model Checker for Finding Heisenbugs in Distributed Systems (Demo)
Tanakorn Leesatapornwongsa and Haryadi S. Gunawi
(University of Chicago, USA)
We present SAMC, an open-source model checker that can be integrated to many modern distributed cloud systems. SAMC can find concurrency bugs caused by non-deterministic dis- tributed events. We have successfully integrated SAMC to Hadoop, ZooKeeper and Cassandra.
@InProceedings{ISSTA15p423,
author = {Tanakorn Leesatapornwongsa and Haryadi S. Gunawi},
title = {SAMC: A Fast Model Checker for Finding Heisenbugs in Distributed Systems (Demo)},
booktitle = {Proc.\ ISSTA},
publisher = {ACM},
pages = {423--427},
doi = {},
year = {2015},
}
Info
proc time: 1.04