Recently Read

Research is much about reading, so here are publications listed I have recently read. This list is imported from my BibSonomy account.
  • A. Spiegelman, G. Golan-Gueta, and I. Keidar, "Transactional Data Structure Libraries," in Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2016, pp. 682-696. bibtex doi
    @inproceedings{Spiegelman:2016:TDS,
      author = {Spiegelman, Alexander and Golan-Gueta, Guy and Keidar, Idit},
      booktitle = {Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation},
      doi = {10.1145/2908080.2908112},
      interhash = {e9bb0835860b6ca07ea2dffb84954804},
      intrahash = {039595d2f1ddcd7c35c720dffa364c5e},
      isbn = {978-1-4503-4261-2},
      location = {Santa Barbara, CA, USA},
      numpages = {15},
      pages = {682--696},
      publisher = {ACM},
      series = {PLDI '16},
      title = {{Transactional Data Structure Libraries}},
      year = 2016 }
  • J. Castanos, D. Edelsohn, K. Ishizaki, P. Nagpurkar, T. Nakatani, T. Ogasawara, and P. Wu, "On the Benefits and Pitfalls of Extending a Statically Typed Language JIT Compiler for Dynamic Scripting Languages," in Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, 2012, pp. 195-212. bibtex doi
    @inproceedings{Castanos:2012:BPE,
      author = {Castanos, Jose and Edelsohn, David and Ishizaki, Kazuaki and Nagpurkar, Priya and Nakatani, Toshio and Ogasawara, Takeshi and Wu, Peng},
      booktitle = {Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
      doi = {10.1145/2384616.2384631},
      interhash = {89cf42818f20c02829ed1d03cd51dc80},
      intrahash = {ca6a240262f56008b64ce9022dbf9e77},
      isbn = {978-1-4503-1561-6},
      location = {Tucson, Arizona, USA},
      numpages = {18},
      pages = {195--212},
      publisher = {ACM},
      series = {OOPSLA '12},
      title = {On the Benefits and Pitfalls of Extending a Statically Typed Language JIT Compiler for Dynamic Scripting Languages},
      year = 2012 }
  • S. Lauterburg, R. K. Karmani, D. Marinov, and G. Agha, "Basset: A Tool for Systematic Testing of Actor Programs," in Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, New York, NY, USA, 2010, pp. 363-364. bibtex doi html
    @inproceedings{Lauterburg:2010:BTS, abstract = {This paper presents Basset, a tool for systematic testing of JVM-based actor programs. The actor programming model offers a promising approach for developing reliable concurrent and distributed systems. Since the actor model is based on message passing and disallows shared state, it avoids some of the problems inherent in shared-memory programming, e.g., low-level dataraces involving access to shared data. However, actor programs can still have bugs that result from incorrect orders of messages among actors or processing of messages by individual actors. To systematically test an actor program, it is necessary to explore different message delivery schedules that might occur during execution. Basset facilitates such exploration and provides a generic platform that can support actor systems that compile to Java bytecode. Our current implementation of Basset supports testing of programs developed using the ActorFoundry library and the Scala programming language.},
      acmid = {1882349},
      address = {New York, NY, USA},
      author = {Lauterburg, Steven and Karmani, Rajesh K. and Marinov, Darko and Agha, Gul},
      booktitle = {Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering},
      doi = {10.1145/1882291.1882349},
      interhash = {7a4cebb4587540207ef90e03e9b906c8},
      intrahash = {3d50b1ae7b9c5b2850b22ca855cab515},
      isbn = {978-1-60558-791-2},
      location = {Santa Fe, New Mexico, USA},
      numpages = {2},
      pages = {363--364},
      publisher = {ACM},
      series = {FSE '10},
      title = {{Basset: A Tool for Systematic Testing of Actor Programs}},
      url = {http://doi.acm.org/10.1145/1882291.1882349},
      year = 2010 }
  • S. Lauterburg, M. Dotta, D. Marinov, and G. A. Agha, "A Framework for State-Space Exploration of Java-Based Actor Programs," in 2009 IEEE/ACM International Conference on Automated Software Engineering, 2009, pp. 468-479. bibtex doi
    @inproceedings{5431748, abstract = {The actor programming model offers a promising model for developing reliable parallel and distributed code. Actors provide flexibility and scalability: local execution may be interleaved, and distributed nodes may operate asynchronously. The resulting nondeterminism is captured by nondeterministic processing of messages. To automate testing, researchers have developed several tools tailored to specific actor systems. As actor languages and libraries continue to evolve, such tools have to be reimplemented. Because many actor systems are compiled to Java bytecode, we have developed Basset, a general framework for testing actor systems compiled to Java bytecode. We illustrate Basset by instantiating it for the Scala programming language and for the ActorFoundry library for Java. Our implementation builds on Java PathFinder, a widely used model checker for Java. Experiments show that Basset can effectively explore executions of actor programs; e.g., it discovered a previously unknown bug in a Scala application.},
      author = {Lauterburg, Steven and Dotta, Mirco and Marinov, Darko and Agha, Gul A.},
      booktitle = {2009 IEEE/ACM International Conference on Automated Software Engineering},
      doi = {10.1109/ASE.2009.88},
      interhash = {bc7bed301924323ad36310665ccf48e7},
      intrahash = {69d5a29aab3e21cb689e3655dbb2d188},
      issn = {1938-4300},
      month = nov, pages = {468--479},
      title = {{A Framework for State-Space Exploration of Java-Based Actor Programs}},
      year = 2009 }
  • Y. Zheng, T. Bao, and X. Zhang, "Statically Locating Web Application Bugs Caused by Asynchronous Calls," in Proceedings of the 20th International Conference on World Wide Web, 2011, pp. 805-814. bibtex doi
    @inproceedings{Zheng:2011:SLW, abstract = {Ajax becomes more and more important for web applications that care about client side user experience. It allows sending requests asynchronously, without blocking clients from continuing execution. Callback functions are only executed upon receiving the responses. While such mechanism makes browsing a smooth experience, it may cause severe problems in the presence of unexpected network latency, due to the non-determinism of asynchronism. In this paper, we demonstrate the possible problems caused by the asynchronism and propose a static program analysis to automatically detect such bugs in web applications. As client side Ajax code is often wrapped in server-side scripts, we also develop a technique that extracts client-side JavaScript code from server-side scripts. We evaluate our technique on a number of real-world web applications. Our results show that it can effectively identify real bugs. We also discuss possible ways to avoid such bugs.},
      author = {Zheng, Yunhui and Bao, Tao and Zhang, Xiangyu},
      booktitle = {Proceedings of the 20th International Conference on World Wide Web},
      doi = {10.1145/1963405.1963517},
      interhash = {522f507c8f9dcc45fcd3d52e6a1a7b01},
      intrahash = {b2368afb4d04cffd6b754937fc0d63a9},
      isbn = {978-1-4503-0632-4},
      location = {Hyderabad, India},
      numpages = {10},
      pages = {805--814},
      publisher = {ACM},
      series = {WWW '11},
      title = {{Statically Locating Web Application Bugs Caused by Asynchronous Calls}},
      year = 2011 }
  • S. Biswas, M. Cao, M. Zhang, M. D. Bond, and B. P. Wood, "Lightweight Data Race Detection for Production Runs," in Proceedings of the 26th International Conference on Compiler Construction, 2017, pp. 11-21. bibtex doi
    @inproceedings{Biswas:2017:LDR, abstract = {To detect data races that harm production systems, program analysis must target production runs. However, sound and precise data race detection adds too much run-time overhead for use in production systems. Even existing approaches that provide soundness or precision incur significant limitations. This work addresses the need for soundness (no missed races) and precision (no false races) by introducing novel, efficient production-time analyses that address each need separately. (1) Precise data race detection is useful for developers, who want to fix bugs but loathe false positives. We introduce a precise analysis called RaceChaser that provides low, bounded run-time overhead. (2) Sound race detection benefits analyses and tools whose correctness relies on knowledge of all potential data races. We present a sound, efficient approach called Caper that combines static and dynamic analysis to catch all data races in observed runs. RaceChaser and Caper are useful not only on their own; we introduce a framework that combines these analyses, using Caper as a sound filter for precise data race detection by RaceChaser. Our evaluation shows that RaceChaser and Caper are efficient and effective, and compare favorably with existing state-of-the-art approaches. These results suggest that RaceChaser and Caper enable practical data race detection that is precise and sound, respectively, ultimately leading to more reliable software systems.},
      author = {Biswas, Swarnendu and Cao, Man and Zhang, Minjia and Bond, Michael D. and Wood, Benjamin P.},
      booktitle = {Proceedings of the 26th International Conference on Compiler Construction},
      doi = {10.1145/3033019.3033020},
      interhash = {2e0b77268b5c7da72c79ed61a580524a},
      intrahash = {a679561eb0641b48aa2a590fe226396f},
      isbn = {978-1-4503-5233-8},
      location = {Austin, TX, USA},
      numpages = {11},
      pages = {11--21},
      publisher = {ACM},
      series = {CC 2017},
      title = {{Lightweight Data Race Detection for Production Runs}},
      year = 2017 }
  • S. Lu, J. Tucek, F. Qin, and Y. Zhou, "AVIO: Detecting Atomicity Violations via Access Interleaving Invariants," in Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, 2006, pp. 37-48. bibtex doi
    @inproceedings{Lu:2006:ADA, acmid = {1168864},
      author = {Lu, Shan and Tucek, Joseph and Qin, Feng and Zhou, Yuanyuan},
      booktitle = {Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems},
      doi = {10.1145/1168857.1168864},
      interhash = {04cb7f3ded33d14f18a08d5c689c32ce},
      intrahash = {85d5382f5a58abc477f95b76e67616c4},
      isbn = {1-59593-451-0},
      location = {San Jose, California, USA},
      numpages = {12},
      pages = {37--48},
      publisher = {ACM},
      series = {ASPLOS XII},
      title = {AVIO: Detecting Atomicity Violations via Access Interleaving Invariants},
      year = 2006 }
  • C. Flanagan and S. N. Freund, "FastTrack: Efficient and Precise Dynamic Race Detection," in Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2009, pp. 121-133. bibtex doi
    @inproceedings{Flanagan:2009:FEP, acmid = {1542490},
      author = {Flanagan, Cormac and Freund, Stephen N.},
      booktitle = {Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation},
      doi = {10.1145/1542476.1542490},
      interhash = {5cab2be8832818388bb1be92d14ec72e},
      intrahash = {aa8cc16bf9885c96e500006266634d5f},
      isbn = {978-1-60558-392-1},
      location = {Dublin, Ireland},
      numpages = {13},
      pages = {121--133},
      publisher = {ACM},
      series = {PLDI '09},
      title = {{FastTrack: Efficient and Precise Dynamic Race Detection}},
      year = 2009 }
  • T. Elmas, S. Qadeer, and S. Tasiran, "Goldilocks: A Race and Transaction-aware Java Runtime," in Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2007, pp. 245-255. bibtex doi
    @inproceedings{Elmas:2007:GRT, acmid = {1250762},
      author = {Elmas, Tayfun and Qadeer, Shaz and Tasiran, Serdar},
      booktitle = {Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation},
      doi = {10.1145/1250734.1250762},
      interhash = {f46902092f3ed54a3603a41910837cf4},
      intrahash = {45b54e772482eb1e803328193354d145},
      isbn = {978-1-59593-633-2},
      location = {San Diego, California, USA},
      numpages = {11},
      pages = {245--255},
      publisher = {ACM},
      series = {PLDI '07},
      title = {Goldilocks: A Race and Transaction-aware Java Runtime},
      year = 2007 }
  • Dagnat, Fabien and Pantel, Marc, Static Analysis of Communications in Erlang Programs, 2002. bibtex html
    @presentation{dagnat2002static,
      author = {Dagnat, Fabien and Pantel, Marc},
      booktitle = {Eighth International Erlang/OTP User Conference},
      day = 19, interhash = {db7c0a3b700d80f0d909155666b745dc},
      intrahash = {10b3fdc8f79063f969da39d18aa7b749},
      month = {November},
      title = {Static Analysis of Communications in Erlang Programs},
      url = {http://www.erlang.se/euc/02/dagnat.pdf},
      year = 2002 }
  • P. Garoche, M. Pantel, and X. Thirioux, "Static Safety for an Actor Dedicated Process Calculus by Abstract Interpretation," in Formal Methods for Open Object-Based Distributed Systems, 2006, pp. 78-92. bibtex doi
    @inproceedings{Garoche:2006,
      author = {Garoche, Pierre-Lo{\"i}c and Pantel, Marc and Thirioux, Xavier},
      booktitle = {Formal Methods for Open Object-Based Distributed Systems},
      doi = {10.1007/11768869_8},
      editor = {Gorrieri, Roberto and Wehrheim, Heike},
      interhash = {7f0168bfc867f224f224bd6aadab7d49},
      intrahash = {0da2cfa44a61328048d6a5b9c4083370},
      isbn = {978-3-540-34895-5},
      month = {June},
      pages = {78--92},
      publisher = {Springer},
      series = {FMOODS 2006},
      title = {Static Safety for an Actor Dedicated Process Calculus by Abstract Interpretation},
      year = 2006 }
  • J-L. Colaço, M. Pantel, and P. Sallé, "A Set-Constraint-based analysis of Actors," , Bowman, H. and Derrick, J., Eds., Springer, 1997, pp. 107-122. bibtex doi
    @inbook{Colaço1997,
      author = {Cola{\c{c}}o, J-L. and Pantel, M. and Sall{\'e},
      P.},
      booktitle = {Formal Methods for Open Object-based Distributed Systems: Volume 2},
      doi = {10.1007/978-0-387-35261-9_8},
      editor = {Bowman, Howard and Derrick, John},
      interhash = {9aa9391fd337d252659df79890efd77e},
      intrahash = {31bde99772f5c95876a860775c6d7122},
      isbn = {978-0-387-35261-9},
      pages = {107--122},
      publisher = {Springer},
      title = {A Set-Constraint-based analysis of Actors},
      year = 1997 }
  • E. D’Osualdo, J. Kochems, and L. Ong, "Soter: An Automatic Safety Verifier for Erlang," in Proceedings of the 2nd Edition on Programming Systems, Languages and Applications Based on Actors, Agents, and Decentralized Control Abstractions, 2012, pp. 137-140. bibtex doi
    @inproceedings{D'Osualdo:2012:SAS, abstract = {This paper presents Soter, a fully-automatic program analyser and verifier for Erlang modules. The fragment of Erlang accepted by Soter includes the higher-order functional constructs and all the key features of actor concurrency, namely, dynamic and possibly unbounded spawning of processes and asynchronous message passing. Soter uses a combination of static analysis and infinite-state model checking to verify safety properties specified by the user. Given an Erlang module and a set of properties, Soter first extracts an abstract (approximate but sound) model in the form of an actor communicating system (ACS), and then checks if the properties are satisfied using a Petri net coverability checker, BFC. To our knowledge, Soter is the first fully-automatic, infinite-state model checker for a large fragment of Erlang. We find that in practice our abstraction technique is accurate enough to verify an interesting range of safety properties such as mutual-exclusion and boundedness of mailboxes. Though the ACS coverability problem is Expspace-complete, Soter can analyse these problems surprisingly efficiently.},
      acmid = {2414658},
      author = {D'Osualdo, Emanuele and Kochems, Jonathan and Ong, Luke},
      booktitle = {Proceedings of the 2nd Edition on Programming Systems, Languages and Applications Based on Actors, Agents, and Decentralized Control Abstractions},
      doi = {10.1145/2414639.2414658},
      interhash = {4dbe357580365fb3e3b3b344c32d652e},
      intrahash = {3e2798df041bb30871d1868589b62b55},
      isbn = {978-1-4503-1630-9},
      location = {Tucson, Arizona, USA},
      numpages = {4},
      pages = {137--140},
      publisher = {ACM},
      series = {AGERE! 2012},
      title = {Soter: An Automatic Safety Verifier for Erlang},
      year = 2012 }
  • E. D’Osualdo, J. Kochems, and L. C. H. Ong, "Automatic Verification of Erlang-Style Concurrency," in 20th International Symposium on Static Analysis, 2013, pp. 454-476. bibtex doi
    @inproceedings{D’Osualdo2013,
      author = {D'Osualdo, Emanuele and Kochems, Jonathan and Ong, C. H. Luke},
      booktitle = {20th International Symposium on Static Analysis},
      doi = {10.1007/978-3-642-38856-9_24},
      editor = {Logozzo, Francesco and F{\"a}hndrich, Manuel},
      interhash = {4ce9e9613396dda9ecbc28788c0d260e},
      intrahash = {106f02d1f3411c35cf898c838b3d39e6},
      isbn = {978-3-642-38856-9},
      month = {June},
      pages = {454--476},
      publisher = {Springer},
      series = {SAS 2013},
      title = {Automatic Verification of Erlang-Style Concurrency},
      year = 2013 }
  • S. Tasharofi, M. Pradel, Y. Lin, and R. E. Johnson, "Bita: Coverage-guided, automatic testing of actor programs," in 2013 28th IEEE/ACM International Conference on Automated Software Engineering, 2013, pp. 114-124. bibtex doi
    @inproceedings{6693072, abstract = {Actor programs are concurrent programs where concurrent entities communicate asynchronously by exchanging messages. Testing actor programs is challenging because the order of message receives depends on the non-deterministic scheduler and because exploring all schedules does not scale to large programs. This paper presents Bita, a scalable, automatic approach for testing non-deterministic behavior of actor programs. The key idea is to generate and explore schedules that are likely to reveal concurrency bugs because these schedules increase the schedule coverage. We present three schedule coverage criteria for actor programs, an algorithm to generate feasible schedules that increase coverage, and a technique to force a program to comply with a schedule. Applying Bita to real-world actor programs implemented in Scala reveals eight previously unknown concurrency bugs, of which six have already been fixed by the developers. Furthermore, we show our approach to find bugs 122× faster than random scheduling, on average.},
      author = {Tasharofi, Samira and Pradel, Michael and Lin, Yu and Johnson, Ralph E.},
      booktitle = {2013 28th IEEE/ACM International Conference on Automated Software Engineering},
      doi = {10.1109/ASE.2013.6693072},
      interhash = {58990ddd9103ad51d1b35ab8d49806d3},
      intrahash = {c5d11307f82fc987229301f5eacaacc2},
      month = nov, pages = {114-124},
      series = {ASE'13},
      title = {{Bita: Coverage-guided, automatic testing of actor programs}},
      year = 2013 }
  • I. Cassar and A. Francalanza, "On Synchronous and Asynchronous Monitor Instrumentation for Actor-based Systems," in Proceedings 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems, 2014, pp. 54-68. bibtex doi
    @inproceedings{Cassar:2014, abstract = {We study the impact of synchronous and asynchronous monitoring instrumentation on runtime overheads in the context of a runtime verification framework for actor-based systems. We show that, in such a context, asynchronous monitoring incurs substantially lower overhead costs. We also show how, for certain properties that require synchronous monitoring, a hybrid approach can be used that ensures timely violation detections for the important events while, at the same time, incurring lower overhead costs that are closer to those of an asynchronous instrumentation.},
      author = {Cassar, Ian and Francalanza, Adrian},
      booktitle = {Proceedings 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems},
      doi = {10.4204/EPTCS.175.4},
      interhash = {d001b05adfcc0e0e9a8d391f4061c6e6},
      intrahash = {3022aa140b6e8cb85d9cc504405a8cad},
      month = {September},
      pages = {54--68},
      series = {FOCLASA 2014},
      title = {{On Synchronous and Asynchronous Monitor Instrumentation for Actor-based Systems}},
      year = 2014 }
  • W. Zhang, J. Lim, R. Olichandran, J. Scherpelz, G. Jin, S. Lu, and T. Reps, "ConSeq: Detecting Concurrency Bugs Through Sequential Errors," in Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems, 2011, pp. 251-264. bibtex doi
    @inproceedings{Zhang:2011:CDC,
      author = {Zhang, Wei and Lim, Junghee and Olichandran, Ramya and Scherpelz, Joel and Jin, Guoliang and Lu, Shan and Reps, Thomas},
      booktitle = {Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems},
      doi = {10.1145/1950365.1950395},
      interhash = {5ab050c41b9b3ce751418648ffa2437d},
      intrahash = {1b60e97a2dfa50b513b7d93fe7c35bef},
      isbn = {978-1-4503-0266-1},
      location = {Newport Beach, California, USA},
      numpages = {14},
      pages = {251--264},
      publisher = {ACM},
      series = {ASPLOS XVI},
      title = {{ConSeq: Detecting Concurrency Bugs Through Sequential Errors}},
      year = 2011 }
  • M. Dam and L. Fredlund, "On the Verification of Open Distributed Systems," in Proceedings of the 1998 ACM Symposium on Applied Computing, 1998, pp. 532-540. bibtex doi
    @inproceedings{Dam:1998:VOD, acmid = {330917},
      author = {Dam, Mads and Fredlund, Lars-{\aa}ke},
      booktitle = {Proceedings of the 1998 ACM Symposium on Applied Computing},
      doi = {10.1145/330560.330917},
      interhash = {0f5cf88763c9811a3bd97fcd71b0f8a3},
      intrahash = {887dff0d58d640e5e5d40767df392e73},
      isbn = {0-89791-969-6},
      location = {Atlanta, Georgia, USA},
      numpages = {9},
      pages = {532--540},
      publisher = {ACM},
      series = {SAC '98},
      title = {{On the Verification of Open Distributed Systems}},
      year = 1998 }
  • K. Sen and G. Agha, "Automated Systematic Testing of Open Distributed Programs," in 9th International Conference on Fundamental Approaches to Software Engineering, 2006, pp. 339-356. bibtex doi
    @inproceedings{Sen:2006,
      author = {Sen, Koushik and Agha, Gul},
      booktitle = {9th International Conference on Fundamental Approaches to Software Engineering},
      doi = {10.1007/11693017_25},
      editor = {Baresi, Luciano and Heckel, Reiko},
      interhash = {a585a355c1bc948cc7ca7db3a472e76e},
      intrahash = {3db4dc7b6144898da55e26bbe29810c1},
      isbn = {978-3-540-33094-3},
      pages = {339--356},
      publisher = {Springer},
      series = {FASE 2006},
      title = {{Automated Systematic Testing of Open Distributed Programs}},
      year = 2006 }
  • K. Claessen, M. Palka, N. Smallbone, J. Hughes, H. Svensson, T. Arts, and U. Wiger, "Finding Race Conditions in Erlang with QuickCheck and PULSE," in Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, 2009, pp. 149-160. bibtex doi
    @inproceedings{Claessen:2009:FRC, acmid = {1596574},
      author = {Claessen, Koen and Palka, Michal and Smallbone, Nicholas and Hughes, John and Svensson, Hans and Arts, Thomas and Wiger, Ulf},
      booktitle = {Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming},
      doi = {10.1145/1596550.1596574},
      interhash = {abbc6b3884e26e32333ba598f700b9bb},
      intrahash = {2d643a90ae33678aa48120f3021897bc},
      isbn = {978-1-60558-332-7},
      location = {Edinburgh, Scotland},
      numpages = {12},
      pages = {149--160},
      publisher = {ACM},
      series = {ICFP '09},
      title = {Finding Race Conditions in Erlang with QuickCheck and PULSE},
      year = 2009 }