Abstract
In this paper, we study program transformations called useless-code elimination and program slicing in the context of the π-calculus. The aim of useless-code elimination and program slicing is to simplify a program by eliminating useless or unimportant part of the program. We define formal correctness criteria for those transformations, present a type-based transformation method, and prove its correctness.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M.: Secrecy by typing in security protocols. Journal of the Association for Computing Machinery (JACM) 46(5), 749–786 (1999)
Abadi, M., Banerjee, A., Heintze, N., Rieck, J.G.: A core calculus of dependency. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pp. 147–169 (1999)
Berardi, S., Coppo, M., Damiani, F., Giannini, P.: Type-based useless-code elimination for functional programs. In: Taha, W. (ed.) SAIG 2000. LNCS, vol. 1924, pp. 172–189. Springer, Heidelberg (2000)
Cardelli, L., Ghelli, G., Gordon, A.D.: Secrecy and group creation. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 365–379. Springer, Heidelberg (2000)
Cheng, J.: Slicing concurrent programs - a graph-theoretical approach. In: Fritzson, P.A. (ed.) AADEBUG 1993. LNCS, vol. 749, pp. 223–240. Springer, Heidelberg (1993)
Damiani, F.: Useless-code detection and elimination for pcf with algebraic data types. In: Girard, J.-Y. (ed.) TLCA 1999. LNCS, vol. 1581, pp. 83–97. Springer, Heidelberg (1999)
Gordon, D.A., Jeffrey, A.: Authenticity by typing for security protocols. In: Proceedings of the 14th IEEE Computer Security Foundations Workshop (CSFW 2001), pp. 145–159. IEEE Computer Society Press, Los Alamitos (2001)
Harman, M., Hierons, R.M.: An overview of program slicing. Software Focus 2(3), 85–92 (2001)
Hatcliff, J., Corbett, J., Dwyer, M., Sokolowski, S., Zheng, H.: A formal stufy of slicing for multi-threaded programs with jvm concurrency primitives. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, pp. 1–18. Springer, Heidelberg (1999)
Honda, K., Yoshida, N.: A uniform type structure for secure information flow. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pp. 81–92 (2002)
Kobayashi, N.: Type-based useless variable elimination. Higher-Order and Symbolic Computation 14(2-3), 221–260 (2001)
Kobayashi, N.: A type system for lock-free processes. Information and Computation 177, 122–159 (2002)
Kobayashi, N.: Type-based information flow analysis for the pi-calculus (2003) (submitted)
Krinke, J.: Static slicing of threaded programs. In: Proc. ACM SIGPLAN/ SIGFSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 1998), Montreal, Canada, June 1998. ACM SIGPLAN Notices, vol. 33(7), pp. 35–42 (1998)
Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press, Cambridge (1999)
Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML. The MIT Press, Cambridge (1997) (revised)
Nicola, R.D., Hennessy, M.C.B.: Testing equivalence for processes. Theoretical Computer Science 34, 83–133 (1984)
Pottier, F.: A simple view of type-secure information flow in the π-calculus. In: Proceedings of the 15th IEEE Computer Security Foundations Workshop, pp. 320–330 (2002)
Reps, T., Turnidge, T.: Program specialization via program slicing. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 409–429. Springer, Heidelberg (1996)
Sangiorgi, D.: The name discipline of uniform receptiveness. Theoretical Computer Science 221(1-2), 457–493 (1999)
Sangiorgi, D., Walker, D.: The Pi-Calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)
Tip, F.: A survey of program slicing techniques. Journal of Programming Languages 3, 121–181 (1995)
Wand, M., Siveroni, I.: Constraint systems for useless variable elimination. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pp. 291–302 (1999)
Zhao, J.: Slicing concurrent Java programs. In: Proceedings of the 7th IEEE International Workshop on Program Comprehension, May 1999, pp. 126–133 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kobayashi, N. (2003). Useless-Code Elimination and Program Slicing for the Pi-Calculus. In: Ohori, A. (eds) Programming Languages and Systems. APLAS 2003. Lecture Notes in Computer Science, vol 2895. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-40018-9_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-40018-9_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20536-4
Online ISBN: 978-3-540-40018-9
eBook Packages: Springer Book Archive