Academic
Publications
Bristlecone: Language Support for Robust Software Applications
Bristlecone: Language Support for Robust Software Applications   (Citations: 2)
BibTex | RIS | RefWorks Download
We present Bristlecone, a programming language for robust software systems. Bristlecone applications have two components: a high-level organization specification that describes how the application's conceptual operations interact, and a low- level operational specification that describes the sequence of instructions that comprise an individual conceptual operation. Bristlecone uses the high-level organization specification to re- cover the software system from an error to a consistent state and to reason how to safely continue the software system's execution after the error. We have implemented a compiler and runtime for Bristlecone. We have evaluated this implementation on three benchmark applications: a web crawler, a web server, and a multi-room chat server. We developed both a Bristlecone version and a Java version of each benchmark application. We used injected failures to evaluate the robustness of each version of the application. We found that the Bristlecone versions of the benchmark applications more successfully survived the injected failures. The Bristlecone compiler contains a static analysis that op- erates on the organization specification to generate a set of diagrams that graphically present the task interactions in the application. We have used the analysis to help understand the high-level structure of three Bristlecone applications: a game server, a web server, and a chat server.
Journal: IEEE Transactions on Software Engineering - TSE , vol. 37, no. 1, pp. 4-23, 2011
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
    • ...Our previous work on Bristlecone introduced a task-based language designed to eliminate artificial dependences that serve to propagate errors [8]...
    • ...A separate static analysis generates the abstract state transition graphs [8]...
    • ...The analysis operates on the abstract state transition graphs that we developed in previous work [8]...

    Brian Demskyet al. Recovery Tasks: An Automated Approach to Failure Recovery

    • ...The dependence analysis operates on abstract state transition graphs (ASTGs) [17]...
    • ...In general Bamboo uses a similar runtime strategy as earlier work on Bristlecone [17]...
    • ...Bamboo borrows constructs from the Bristlecone language for creating robust software systems [17]...

    Jin Zhouet al. Bamboo: a data-centric, object-oriented approach to many-core software

Order by: