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

Resource usage analysis

Published: 01 January 2002 Publication History

Abstract

It is an important criterion of program correctness that a program accesses resources in a valid manner. For example, a memory region that has been allocated should be eventually deallocated, and after the deallocation, the region should no longer be accessed. A file that has been opened should be eventually closed. So far, most of the methods to analyze this kind of property have been proposed in rather specific contexts (like studies of memory management and verification of usage of lock primitives), and it was not so clear what is the essence of those methods or how methods proposed for individual problems are related. To remedy this situation, we formalize a general problem of analyzing resource usage as a resource usage analysis problem, and propose a type-based method as a solution to the problem.

References

[1]
A.Aiken,M.Fahndrich,and R.Levien.Improving region-based analysis of higher-order languages.In Proc.of PLDI,pages 174 -185,1995.]]
[2]
G.Bigliardi and C.Laneve.A type system for JVM threads.In Proc.of 3rd ACM SIGPLAN Workshop on Types in Compilation (TIC2000),2000.]]
[3]
L.Birkedal,M.Tofte,and M.Vejlstrup.From region inference to von neumann machines via region representation inference.In Proc.of POPL,pages 171 -183,1996.]]
[4]
B.Blanchet.Escape analysis:Correctness,proof, implementation and experimental results.In Proc.of POPL,pages 25 -37,1998.]]
[5]
R.DeLine and M.Fahndrich.Enforcing high-level protocols in low-level software.In Proc.of PLDI, pages 59 -69,2001.]]
[6]
E.A.Emerson.Temporal and modal logic.In J.V. Leeuwen,editor,Handbook of Theoretical Computer Science Volume B,chapter 16,pages 995 -1072.The MIT press/Elsevier,1990.]]
[7]
C.Flanagan and M.Abadi.Object types against races.In CONCUR '99,LNCS 1664,pages 288 -303. Springer-Verlag,1999.]]
[8]
C.Flanagan and M.Abadi.Types for safe locking.In Proc.of ESOP 1999,LNCS 1576,pages 91 -108,1999.]]
[9]
S.N.Freund and J.C.Mitchell.The type system for object initialization in the Java bytecode language. ACM Trans.Prog.Lang.Syst.,21(6):1196 -1250,1999.]]
[10]
J.Gischer.Shu .e languages,Petri nets,and context-sensitive grammars.Comm.ACM, 24(9):597 -605,1981.]]
[11]
J.Gustavsson and J.Svenningsson.A usage analysis with bounded usage polymorphism and subtyping.In Proceedings of IFL '00,Implementation of Functional Languages,LNCS 2011,pages 140 -157,2000.]]
[12]
J.Hannan.A type-based analysis for stack allocation in functional languages.In Proceedings of SAS '95, LNCS 983,pages 172 -188,1995.]]
[13]
A.Igarashi and N.Kobayashi.Garbage collection based on a linear type system.In Proc.of 3rd ACM SIGPLAN Workshop on Types in Compilation (TIC2000),2000.]]
[14]
A.Igarashi and N.Kobayashi.Type reconstruction for linear pi-calculus with I/O subtyping.Info.Comput., 161:1 -44,2000.]]
[15]
A.Igarashi and N.Kobayashi.A generic type system for the pi-calculus.In Proc.of POPL, pages 128 -141, 2001.]]
[16]
J.Jedrzejowicz and A.Szepietowski.Shuffle languages are in P.Theor.Comput.Sci.,250(1-2):31 -53,2001.]]
[17]
P.C.Kanellakis,H.G.Mairson,and J.C.Mitchell. Uni .cation and ML Type Reconstruction.In J.-L. Lassez and G.D.Plotkin,editors,Computational Logic:Essays in Honor of Alan Robinson, pages 444 -478.The MIT Press,1991.]]
[18]
N.Kobayashi.Quasi-linear types.In Proc.of POPL, pages 29 -42,1999.]]
[19]
N.Kobayashi.Type-based useless variable elimination.In Proc.of PEPM, pages 84 -93,2000.]]
[20]
N.Kobayashi.Type systems for concurrent processes: From deadlock-freedom to livelock-freedom, time-boundedness.In Proc.of IFIP International Conference on Theoretical Computer Science (TCS2000),LNCS 1872,pages 365 -389,2000.]]
[21]
N.Kobayashi,E.Sumii,and S.Saito.An implicitly-typed deadlock-free process calculus.In Proc.of CONCUR2000,LNCS 1877,pages 489 -503. Springer-Verlag,2000.]]
[22]
G.Morrisett,M.Felleisen,and R.Harper.Abstract models of memory management.In Proc.of Functional Programming Languages and Computer Architecture, pages 66 -76,1995.]]
[23]
F.Nielson,H.R.Nielson,and C.Hankin.Principles of Program Analysis .Springer-Verlag,1999.]]
[24]
E.Sumii and N.Kobayashi.A generalized deadlock-free process calculus.In Proc.of Workshop on High-Level Concurrent Language (HLCL '98), ENTCS 16(3),pages 55 -77,1998.]]
[25]
M.Tofte and J.-P.Talpin.Implementation of the call-by-value lambda-calculus using a stack of regions. In Proc.of POPL, pages 188 -201,1994.]]
[26]
D.N.Turner,P.Wadler,and C.Mossin.Once upon a type.In Proceedings of Functional Programming Languages and Computer Architecture, pages 1 -11, 1995.]]
[27]
P.Wadler.Linear types can change the world. In Programming Concepts and Methods. North Holland, 1990.]]
[28]
D.Walker,K.Crary,and J.G.Morrisett.Typed memory management via static capabilities.ACM Trans.Prog.Lang.Syst.,22(4):701 -771,2000.]]
[29]
D.Walker and K.Watkins.On linear types and regions.In Proc.of ICFP, 2001.]]
[30]
K.Wansbrough and S.L.P.Jones.Once upon a polymorphic type.In Proc.of POPL, pages 15 -28, 1999.]]

Cited By

View all
  • (2025)Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order ProgramsProceedings of the ACM on Programming Languages10.1145/37049149:POPL(2306-2336)Online publication date: 9-Jan-2025
  • (2024)Law and Order for Typestate with BorrowingProceedings of the ACM on Programming Languages10.1145/36897638:OOPSLA2(1475-1503)Online publication date: 8-Oct-2024
  • (2023)Temporal Verification with Answer-Effect Modification: Dependent Temporal Type-and-Effect System with Delimited ContinuationsProceedings of the ACM on Programming Languages10.1145/35712647:POPL(2079-2110)Online publication date: 11-Jan-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '02: Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2002
351 pages
ISBN:1581134509
DOI:10.1145/503272
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: 01 January 2002

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

POPL02

Acceptance Rates

POPL '02 Paper Acceptance Rate 28 of 128 submissions, 22%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)31
  • Downloads (Last 6 weeks)1
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order ProgramsProceedings of the ACM on Programming Languages10.1145/37049149:POPL(2306-2336)Online publication date: 9-Jan-2025
  • (2024)Law and Order for Typestate with BorrowingProceedings of the ACM on Programming Languages10.1145/36897638:OOPSLA2(1475-1503)Online publication date: 8-Oct-2024
  • (2023)Temporal Verification with Answer-Effect Modification: Dependent Temporal Type-and-Effect System with Delimited ContinuationsProceedings of the ACM on Programming Languages10.1145/35712647:POPL(2079-2110)Online publication date: 11-Jan-2023
  • (2023)Comparing TensorFlow.js and TensorFlow in Python: An Accessibility and Usage Analysis2023 6th International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I59117.2023.10397702(250-254)Online publication date: 14-Sep-2023
  • (2021)Theorems for free from separation logic specificationsProceedings of the ACM on Programming Languages10.1145/34735865:ICFP(1-29)Online publication date: 19-Aug-2021
  • (2021)Polymorphic Iterable Sequential Effect SystemsACM Transactions on Programming Languages and Systems10.1145/345027243:1(1-79)Online publication date: 17-Apr-2021
  • (2016)State-Taint Analysis for Detecting Resource Bugs2016 10th International Symposium on Theoretical Aspects of Software Engineering (TASE)10.1109/TASE.2016.17(168-175)Online publication date: Jul-2016
  • (2014)Rate types for stream programsACM SIGPLAN Notices10.1145/2714064.266022549:10(213-232)Online publication date: 15-Oct-2014
  • (2014)Rate types for stream programsProceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications10.1145/2660193.2660225(213-232)Online publication date: 15-Oct-2014
  • (2014)Resource Usage Analysis of Logic Programs via Abstract Interpretation Using Sized TypesTheory and Practice of Logic Programming10.1017/S147106841400057X14:4-5(739-754)Online publication date: 21-Jul-2014
  • Show More Cited By

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