Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/777388.777397acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article

Extending sized type with collection analysis

Published: 07 June 2003 Publication History

Abstract

Many program optimizations and analyses, such as array-bounds checking, termination analysis, depend on knowing the size of a function's input and output. However, size information can be difficult to compute. Firstly, accurate size computation requires detecting a size relation between different inputs of a function. Secondly, size information may also be contained inside a collection (data structure with multiple elements). In this paper, we introduce some techniques to derive universal and existential size properties over collections of elements of recursive data structures. We shall show how a mixed constraint system could support the enhanced size type, and highlight examples where collection analysis are useful.

References

[1]
Wei-Ngan Chin and Siau-Cheng Khoo. Calculating sized types. Higher-Order and Symbolic Computation, 14(2-3):261--300, 2001.]]
[2]
W.N. Chin and S.C. Khoo. Calculating sized types. In 2000 ACM Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 62--72, Boston, Massachusetts, United States, January 2000.]]
[3]
P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In Symposium on Principles of Programming Languages, pages 84--96. ACM Press, 1978.]]
[4]
D Dussart, F Henglein, and C Mossin. Polymorphic recursion and subtype qualifications: Polymorphic binding-time analysis in polynomial time. In Static Analysis Symposium, (LNCS, vol 983, pp. 118--135) Springer-Verlag, 1995.]]
[5]
M Fahndrich and J Rehof. Type-based flow analysis: From polymorphic subtyping to cfl reachability. In ACM Conference on Principles of Programming Languages, 2001.]]
[6]
Kevin Glynn, Peter J. Stuckey, Martin Sulzmann, and Harald Sondergaard. Boolean constraints for binding-time analysis. In Programs as Data Objects (PADO II), pages 39--62, Aarhus, Denmark, May 2001.]]
[7]
J Gustavsson and J Svenningsson. Constraint abstractions. In Programs as Data Objects (PADO II), pages 63--83, Aarhus, Denmark, May 2001.]]
[8]
N. Halbwachs. About synchronous programming and abstract interpretation. Science of Computer Programming, Special Issue on SAS'94, 31(1), May 1998.]]
[9]
N. Halbwachs, Y.E. Proy, and P. Roumanoff. Verification of real-time systems using linear relation analysis. Formal Methods in System Design, 11(2):157--185, 1997.]]
[10]
L. Henkin, J.D. Monk, and A. Tarski. Cylindric Algebras: Part I. North-Holland, 1971.]]
[11]
J. Hughes, L. Pareto, and A. Sabry. Proving the correctness of reactive systems using sized types. In 23rd ACM Principles of Programming Languages Conference, pages 410--423. ACM Press, January 1996.]]
[12]
N Kobayashi. Type-based useless variable elimination. In 2000 PEPM, pages 84--93, 2000.]]
[13]
Daniel Le Metayer. Proving properties of programs defined over recursive data structure. In ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 88--99, La Jolla, California, June 1995. ACM Press.]]
[14]
S. Nishimura. Parametric polymorphic type inference in constraint form. In Second JSSST Workshop on Programming and Programming Languages, pages 38--49, March 2000.]]
[15]
M. Odersky, M. Sulzmann, and M. Wehr. Type inference with constrained types. Theory and Practice of Object Systems, 5(1):35--55, 1999.]]
[16]
W. Pugh. The Omega Test: A fast practical integer programming algorithm for dependence analysis. Communications of ACM, 8:102--114, 1992.]]
[17]
David N. Turner, Philip Wadler, and Christian Mossin. Once upon a type. In 4th ACM Conference on Functional programming Languages and Computer Architecture, pages 1--11, California, June 1995. ACM Press.]]
[18]
K Wansbrough and S. L. Peyton Jones. Once upon a polymorphic type. In ACM Conference on Principles of Programming Languages, pages 15--28, 1999.]]
[19]
H. Xi and F. Pfenning. Eliminating array bound checking through dependent types. In ACM Conference on Programming Language Design and Implementation, pages 249--257. ACM Press, June 1998.]]
[20]
H. Xi and F. Pfenning. Dependent types in practical programming. In Symposium on Principles of Programming Languages, pages 214--227. ACM Press, January 1999.]]

Cited By

View all
  • (2013)Towards a scalable software model checker for higher-order programsProceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation10.1145/2426890.2426900(53-62)Online publication date: 21-Jan-2013
  • (2010)Dependent types from counterexamplesACM SIGPLAN Notices10.1145/1707801.170631545:1(119-130)Online publication date: 17-Jan-2010
  • (2010)Dependent types from counterexamplesProceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/1706299.1706315(119-130)Online publication date: 17-Jan-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PEPM '03: Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
June 2003
100 pages
ISBN:1581136676
DOI:10.1145/777388
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 10
    Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003) and workshop on partial evaluation and semantics-based program manipulation (PEPM 2003)
    October 2003
    331 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/966049
    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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 June 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. collection analysis
  2. fix-point
  3. mixed constraints
  4. polymorphism
  5. sized type

Qualifiers

  • Article

Conference

PEPM03
Sponsor:

Acceptance Rates

Overall Acceptance Rate 66 of 120 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2013)Towards a scalable software model checker for higher-order programsProceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation10.1145/2426890.2426900(53-62)Online publication date: 21-Jan-2013
  • (2010)Dependent types from counterexamplesACM SIGPLAN Notices10.1145/1707801.170631545:1(119-130)Online publication date: 17-Jan-2010
  • (2010)Dependent types from counterexamplesProceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/1706299.1706315(119-130)Online publication date: 17-Jan-2010
  • (2009)Dependent type inference with interpolantsProceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming10.1145/1599410.1599445(277-288)Online publication date: 7-Sep-2009
  • (2008)On-demand refinement of dependent typesProceedings of the 9th international conference on Functional and logic programming10.5555/1788446.1788458(81-96)Online publication date: 14-Apr-2008
  • (2008)A practical and precise inference and specializer for array bound checks eliminationProceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/1328408.1328434(177-187)Online publication date: 7-Jan-2008
  • (2008)On-Demand Refinement of Dependent TypesFunctional and Logic Programming10.1007/978-3-540-78969-7_8(81-96)Online publication date: 2008
  • (2006)Deciding Boolean Algebra with Presburger ArithmeticJournal of Automated Reasoning10.1007/s10817-006-9042-136:3(213-239)Online publication date: 1-Apr-2006
  • (2005)An algorithm for deciding BAPAProceedings of the 20th international conference on Automated Deduction10.1007/11532231_20(260-277)Online publication date: 22-Jul-2005

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media