Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

On the complexity of partially-flow-sensitive alias analysis

Published: 21 May 2008 Publication History

Abstract

We introduce the notion of a partially-flow-sensitive analysis based on the number of read and write operations that are guaranteed to be analyzed in a sequential manner. We study the complexity of partially-flow-sensitive alias analysis and show that precise alias analysis with a very limited flow-sensitivity is as hard as precise flow-sensitive alias analysis, both when dynamic memory allocation is allowed, as well as in the absence of dynamic memory allocation.

References

[1]
Andersen, L. O. 1994. Program analysis and specialization for the C programming language. Ph.D. dissertation, DIKU, Univ. of Copenhagen. (DIKU report 94/19).
[2]
Chakaravarthy, V. 2003. New results on the computability and complexity of points--to analysis. In POPL '03: Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, New York, NY, USA, 115--125.
[3]
Horwitz, S. 1997. Precise flow-insensitive may-alias analysis is NP-hard. ACM Trans. Prog. Lang. Syst. 19, 1(Jan.), 1--6.
[4]
Kernighan, B. W. and Ritchie, D. M. 1988. The C programming language. Prentice Hall, Upper Saddle River, NJ.
[5]
Landi, W. 1992a. Interprocedural aliasing in the presence of pointers. Ph.D. dissertation, Rutgers University.
[6]
Landi, W. 1992b. Undecidability of static analysis. Let. on Prog. Lang. and Syst. 1, 4, 323--337.
[7]
Milne, R. and Strachey, C. 1977. A Theory of Programming Language Semantics. Halsted Press, New York, NY.
[8]
Muth, R. and Debray, S. K. 2000. On the complexity of flow-sensitive dataflow analyses. In Proceedings of the Symposium on Principles of Programming Languages. 67--80.
[9]
Ramalingam, G. 1994. The undecidability of aliasing. Trans. Prog. Lang. Syst. 16, 5, 1467--1471.
[10]
Reynolds, J. 2002. Separation logic: A logic for shared mutable data structures. In Logic in Computer Science. 55--74.
[11]
Strachey, C. 1966. Towards a formal semantics. In Formal Language Description Languages for Computer Programming, T. B. Steel, Ed. North Holland, Amsterdam, The Netherlands, 198--220.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 30, Issue 3
May 2008
245 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/1353445
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 May 2008
Accepted: 01 April 2007
Revised: 01 December 2006
Received: 01 March 2006
Published in TOPLAS Volume 30, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Alias analysis
  2. flow-insensitive
  3. flow-sensitive

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)67
  • Downloads (Last 6 weeks)12
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2016)From Shape Analysis to Termination Analysis in Linear TimeComputer Aided Verification10.1007/978-3-319-41528-4_23(426-446)Online publication date: 13-Jul-2016
  • (2015)Pointer AnalysisFoundations and Trends in Programming Languages10.1561/25000000142:1(1-69)Online publication date: 1-Apr-2015
  • (2014)EnVMProceedings of the 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems10.1145/2656106.2656121(1-10)Online publication date: 12-Oct-2014
  • (2013)Automatic generation of parallel unit testsProceedings of the 8th International Workshop on Automation of Software Test10.5555/2662413.2662423(40-46)Online publication date: 18-May-2013
  • (2013)DeAliaserACM SIGPLAN Notices10.1145/2499368.245113648:4(167-180)Online publication date: 16-Mar-2013
  • (2013)DeAliaserACM SIGARCH Computer Architecture News10.1145/2490301.245113641:1(167-180)Online publication date: 16-Mar-2013
  • (2013)DeAliaserProceedings of the eighteenth international conference on Architectural support for programming languages and operating systems10.1145/2451116.2451136(167-180)Online publication date: 16-Mar-2013
  • (2013)Automatic generation of parallel unit tests2013 8th International Workshop on Automation of Software Test (AST)10.1109/IWAST.2013.6595789(40-46)Online publication date: May-2013
  • (2011)The flow-insensitive precision of Andersen's analysis in practiceProceedings of the 18th international conference on Static analysis10.5555/2041552.2041561(60-76)Online publication date: 14-Sep-2011
  • (2011)The Flow-Insensitive Precision of Andersen’s Analysis in PracticeStatic Analysis10.1007/978-3-642-23702-7_9(60-76)Online publication date: 2011

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media