Inferring Channel Buffer Bounds Via Linear Programming

  • Tachio Terauchi
  • Adam Megacz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4960)


We present a static analysis for inferring the maximum amount of buffer space used by a program consisting of concurrently running processes communicating via buffered channels. We reduce the problem to linear programming by casting the analysis as a fractional capability calculus system. Our analysis can reason about buffers used by multiple processes concurrently, and runs in time polynomial in the size of the program.


Composition Operator Operational Semantic Parallel Composition Type Derivation Capability Mapping 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Boyland, J.: Checking interference with fractional permissions. In: Static Analysis, Tenth International Symposium, San Diego, CA, June 2003, pp. 55–72 (2003)Google Scholar
  2. 2.
    Crary, K., Walker, D., Morrisett, G.: Typed memory management in a calculus of capabilities. In: Proceedings of the 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1999, pp. 262–275. San Antonio, Texas (1999)CrossRefGoogle Scholar
  3. 3.
    Kobayashi, N., Nakade, M., Yonezawa, A.: Static analysis of communication for asynchronous concurrent programming languages. In: Static Analysis, Second International Symposium, Glasgow, Scotland, September 1995, pp. 225–242 (1995)Google Scholar
  4. 4.
    Steensgaard, B.: Points-to analysis in almost linear time. In: Proceedings of the 23rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1996, pp. 32–41. St. Petersburg Beach, Florida (1996)CrossRefGoogle Scholar
  5. 5.
    Terauchi, T., Aiken, A.: Witnessing side-effects. In: 10th ACM SIGPLAN International Conference on Functional Programming, Tallinn, Estonia, September 2005, pp. 105–115 (2005)Google Scholar
  6. 6.
    Terauchi, T., Aiken, A.: A Capability Calculus for Concurrency and Determinism. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 218–232. Springer, Heidelberg (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Tachio Terauchi
    • 1
  • Adam Megacz
    • 2
  1. 1.Tohoku University 
  2. 2.University of CaliforniaBerkeley 

Personalised recommendations