X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=cacao.git;a=blobdiff_plain;f=doc%2Fabc_optimization%2Fbibfile.bib;fp=doc%2Fabc_optimization%2Fbibfile.bib;h=15bbf481df7ed32cf7501f87cc83ed7aaf6fe8d0;hp=0000000000000000000000000000000000000000;hb=d78645adcbad2ba7424154595e5390745f645a6d;hpb=20b3a23bede272aa58b85dad9b0d7f927a51ff75 diff --git a/doc/abc_optimization/bibfile.bib b/doc/abc_optimization/bibfile.bib new file mode 100644 index 000000000..15bbf481d --- /dev/null +++ b/doc/abc_optimization/bibfile.bib @@ -0,0 +1,854 @@ +# General books and articles that cover the topic over all and are necessary for understanding the whole problem. +############################################################################### + +@Manual{JavaVMSpecification1.0:1995, + title = "The {Java} Virtual Machine Specification", + month = aug, + added-by = "sti", + URL = "http://java.sun.com/doc/vmspec/VMSpec.ps", + keywords = "java, virtual machine, bytecode", + edition = "1.0 Beta", + annote = "a virtual machine similar to UCSD p-code or smalltalk. + stack-machine. dynamic loading. direct support for + object orientation (e.g. virtual method calls)", + organization = "Sun Microsystems", + year = "1995", +} + +@Book{JavaLanguageSpecificationv3.0:2005, + author = "James Gosling and Bill Joy and Guy Steele and Gilad + Bracha", + address = "Boston, Mass.", + title = "The {Java} Language Specification, Third Edition", + publisher = "Addison-Wesley", + series = "The Java Series", + year = "2005", +} + +@Article{CompilingJavaJustInTime:1997, + author = "Timothy Cramer and Richard Friedman and Terrence + Miller and David Seherger and Robert Wilson and Mario + Wolczko", + title = "Compiling {Java} Just in Time: Using runtime + compilation to improve {Java} program performance", + journal = "IEEE Micro", + volume = "17", + number = "3", + pages = "36--??", + month = may # "\slash " # jun, + year = "1997", + CODEN = "IEMIDZ", + ISSN = "0272-1732", + bibdate = "Tue Aug 12 12:35:06 MDT 1997", + URL = "http://pascal.computer.org/mi/books/mi1997/pdf/m3036.pdf", + acknowledgement = "Nelson H. F. Beebe, University of Utah, Department + of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake + City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 + 801 581 4148, e-mail: \path|beebe@math.utah.edu|, + \path|beebe@acm.org|, \path|beebe@computer.org| + (Internet), URL: + \path|http://www.math.utah.edu/~beebe/|", +} + +@InProceedings{FastEffectiveCodeGenerationInAJustInTimeJavaCompiler:1998, + title = "Fast, Effective Code Generation in a Just-In-Time Java + Compiler", + author = "Ali-Reza Adl-Tabatabai and Michal Cierniak and + Guei-Yuan Lueh and Vishesh M. Parikh and James M. + Stichnoth", + year = "1998", + bibdate = "2010-01-10", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/pldi/pldi98.html#Adl-TabatabaiCLPS98", + booktitle = "PLDI", + pages = "280--290", + URL = "http://doi.acm.org/10.1145/277650.277740", +} + +@InProceedings{TheDesignAndImplementationOfACertifyingCompiler:1998, + author = "G. Necula and P. Lee", + title = "The {D}esign and {I}mplementation of a {C}ertifying + {C}ompiler", + booktitle = "Proc. of PLDI'98", + year = "1998", + publisher = "ACM Press", +} + +@InProceedings{DesignImplementationAndEvaluationOfOptimizationsInAJavaJustInTimeCompiler:1999, + title = "Design, Implementation, and Evaluation of + Optimizations in a Just-in-Time Compiler", + author = "Kazuaki Ishizaki and Motohiro Kawahito and Toshiaki + Yasue and Mikio Takeuchi and Takeshi Ogasawara and + Toshio Suganuma and Tamiya Onodera and Hideaki Komatsu + and Toshio Nakatani", + year = "1999", + bibdate = "2002-12-17", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/java/java1999.html#IshizakiKYTOSOKN99", + booktitle = "Java Grande", + pages = "119--128", + URL = "http://doi.acm.org/10.1145/304065.304111", +} + +@Article{CacaoA64BitJavaVMJustInTimeCompiler:1997, + author = "Andreas Krall and Reinhard Grafl", + title = "{CACAO} -- {A} 64-bit Java{VM} Just-in-Time Compiler", + journal = "Concurrency: Practice and Experience", + volume = "9", + number = "11", + pages = "1017--1030", + month = nov, + year = "1997", + keywords = "computational science \& engineering Java: simulation + \& modeling,", +} + +@book{HandbookForJavaCacaoVirtualMachine:1996, + title= {Handbook for Java Cacao Virtual Machine}, + author= {Andreas Krall and Reinhard Grafl et al.}, + publisher= {http://www.cacaovm.org}, + year= {1996}, + pages= {116} +} + +@Article{MarmotAnOptimizingCompilerForJava:2000, + title = "Marmot: an optimizing compiler for Java", + author = "Robert P. Fitzgerald and Todd B. Knoblock and Erik Ruf + and Bjarne Steensgaard and David Tarditi", + journal = "Softw, Pract. Exper", + year = "2000", + number = "3", + volume = "30", + bibdate = "2003-11-25", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/journals/spe/spe30.html#FitzgeraldKRST00", + pages = "199--232", +} + +@InProceedings{VerifiableAnnotationsForEmbeddedJavaEnvironments:2005, + title = "Verifiable annotations for embedded java + environments", + author = "Guangyu Chen and Mahmut T. Kandemir", + bibdate = "2006-02-15", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/cases/cases2005.html#ChenK05", + booktitle = "CASES", + booktitle = "Proceedings of the 2005 International Conference on + Compilers, Architecture, and Synthesis for Embedded + Systems, {CASES} 2005, San Francisco, California, + {USA}, September 24-27, 2005", + publisher = "ACM", + year = "2005", + editor = "Thomas M. Conte and Paolo Faraboschi and William H. + Mangione-Smith and Walid A. Najjar", + ISBN = "1-59593-149-X", + pages = "105--114", + URL = "http://doi.acm.org/10.1145/1086297.1086312", +} + +@Book{ModernCompilerImplementationInC:1998, + author = "Andrew W. Appel", + title = "Modern Compiler Implementation in {C}", + publisher = "Cambridge University Press", + ISBN = "0-521-58390-X", + year = "1998", +} + +############################################################################### +# Now some references are presented that deal with intermediate representations especially with several SSA forms. +############################################################################### + +@Article{EfficientlyComputingSSAFormAndTheControlDependenceGraph:1991, + author = "Ron Cytron and Jeanne Ferrante and Barry K. Rosen and + Mark N. Wegman and F. Kenneth Zadeck", + title = "Efficiently computing static single assignment form + and the control dependence graph", + number = "4", + volume = "13", + month = oct, + added-by = "msteiner", + URL = "http://doi.acm.org/10.1145/115372.115320", + added-at = "Sat Jul 29 09:22:31 2006", + annote = "Classical paper on the SSA (Static Single Assignment) + form for intermediary code representation in + (optimizing) compilers. See + \url{http://www.cs.man.ac.uk/~jsinger/ssa.html} for + bibliography of SSA related work.", + pages = "451--490", + journal = "TOPLAS", + year = "1991", +} + +@Article{AVerifiableSSAProgramRepresentationForAgressiveCompilerOptimization:2006, + author = "Menon and Glew and Murphy and McCreight and Shpeisman + and Adl-Tabatabai and Petersen", + title = "A Verifiable {SSA} Program Representation for + Aggressive Compiler Optimization", + journal = "SPNOTICES: ACM SIGPLAN Notices", + volume = "41", + year = "2006", +} + +@Article{SafeTSAATypeSafeAndReferentiallySecureMobileCodeRepresentationBasedOnStaticSingleAssignmentForm:2001, + author = "Wolfram Amme and Niall Dalton and Jeffery von Ronne + and Michael Franz", + title = "{SafeTSA}: {A} Type Safe and Referentially Secure + Mobile-Code Representation Based on Static Single + Assignment Form", + journal = "ACM SIG{\-}PLAN Notices", + volume = "36", + number = "5", + pages = "137--147", + month = may, + year = "2001", + CODEN = "SINODQ", + ISSN = "0362-1340", + bibdate = "Sun Dec 14 09:18:26 MST 2003", + bibsource = "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html; + http://portal.acm.org/", + acknowledgement = "Nelson H. F. Beebe, University of Utah, Department + of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake + City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 + 801 581 4148, e-mail: \path|beebe@math.utah.edu|, + \path|beebe@acm.org|, \path|beebe@computer.org| + (Internet), URL: + \path|http://www.math.utah.edu/~beebe/|", +} + +@Misc{UsingTheSafeTSARepresentationToBoostThePerformanceOfAnExistingJavaVirtualMachine:2002, + title = "Using the Safe{TSA} Representation to Boost the + Performance of an Existing Java Virtual Machine", + author = "Wolfram Amme and Jeffery Von Ronne and Michael Franz", + year = "2003", + month = dec # "~07", + abstract = "High-performance just-in-time compilers for Java need + to invest considerable effort before actual code + generation can commence. SafeTSA, a typed intermediate + representation based on SSA form, was designed to ease + this burden, decreasing the time required for dynamic + compilation, without sacrificing safety or code + quality.", + citeseer-references = "oai:CiteSeerPSU:2678; oai:CiteSeerPSU:717751; + oai:CiteSeerPSU:284691; oai:CiteSeerPSU:554814; + oai:CiteSeerPSU:114398; oai:CiteSeerPSU:328282; + oai:CiteSeerPSU:89224", + annote = "Wolfram Amme (Friedrich-Schiller-Universit at Jena; + Institut f ur Informatik; Ernst-Abbe-Platz 1-4; D-07743 + Jena , Germany); Jeffery Von Ronne (Information and + Computer Science; 127B Computer Science Trailer); + Michael Franz (Information and Computer Science; 444 + Computer Science Bldg);", + bibsource = "OAI-PMH server at cs1.ist.psu.edu", + language = "en", + oai = "oai:CiteSeerPSU:599324", + rights = "unrestricted", + URL = "http://citeseer.ist.psu.edu/599324.html; + http://www.ics.uci.edu/~jronne/pubs/cpc2003-safetsa5.pdf", +} + +############################################################################### +# The following documents now deal with the special topic of array bound check optimization. +# The order is chronologic from the real beginning to the most recent publications. +############################################################################### + +@Article{CompilerAnalysisOfTheValueRangesForVariables:1977, + author = "W. Harrison", + title = "Compiler analysis of the value ranges for variables", + journal = "IEEE Transactions on Software Engineering", + volume = "SE-3", + number = "3", + month = may, + year = "1977", + keywords = "data flow analysis,", +} + +@InProceedings{ImplementationOfAnArrayBoundChecker:1977, + title = "Implementation of an Array Bound Checker", + author = "Norihisa Suzuki and Kiyoshi Ishihata", + year = "1977", + bibdate = "2010-01-28", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/popl/popl77.html#SuzukiI77", + booktitle = "POPL", + cdrom = "POPL/00001437.PDF", + pages = "132--143", + URL = "http://doi.acm.org/10.1145/512950.512963", +} + +@Article{EconomicRangeChecksInPascal:1978, + author = "J. Welsh", + title = "Economic range checks in {Pascal}", + journal = "Software -- Practice \& Experience", + volume = "8", + pages = "85--97", + year = "1978", +} + +@Article{GlobalOptimizationBySuppressionOfPartialRedundancies:1979, + author = "E. Morel and C. Renvoise", + title = "Global optimization by suppression of partial + redundancies", + journal = "Communications of the ACM", + volume = "22", + number = "2", + pages = "96--103", + month = feb, + year = "1979", +} + +@InProceedings{OptimizationOfRangeChecking:1982, + author = "Victoria Markstein and John Cocke and Peter + Markstein", + title = "Optimization of Range Checking", + booktitle = "Proceedings of the {SIGPLAN} '82 Symposium on Compiler + Construction", + address = "Boston, Massachusetts", + month = jun # " 23--25,", + year = "1982", + pages = "114--119", +} + +@Article{OptimizationOfRangeChecking:1987, + author = "Victoria Markstein and Peter Markstein and John + Cocke", + title = "Optimization of range checking", + journal = "ACM SIG{\-}PLAN Notices", + volume = "39", + number = "4", + pages = "58--65", + month = apr, + year = "2004", + CODEN = "SINODQ", + ISSN = "0362-1340", + bibdate = "Tue Apr 12 09:38:13 MDT 2005", + bibsource = "http://portal.acm.org/", + acknowledgement = "Nelson H. F. Beebe, University of Utah, Department + of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake + City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 + 801 581 4148, e-mail: \path|beebe@math.utah.edu|, + \path|beebe@acm.org|, \path|beebe@computer.org| + (Internet), URL: + \path|http://www.math.utah.edu/~beebe/|", +} + +@Article{AFreshLookAtOptimizingArrayBoundChecking:1990, + author = "Rajiv Gupta", + title = "A fresh look at optimizing array bound checking", + journal = "ACM SIG{\-}PLAN Notices", + volume = "25", + number = "6", + pages = "272--282", + month = jun, + year = "1990", + CODEN = "SINODQ", + ISSN = "0362-1340", + bibdate = "Sun Dec 14 09:15:53 MST 2003", + bibsource = "http://portal.acm.org/", + acknowledgement = "Nelson H. F. Beebe, University of Utah, Department + of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake + City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 + 801 581 4148, e-mail: \path|beebe@math.utah.edu|, + \path|beebe@acm.org|, \path|beebe@computer.org| + (Internet), URL: + \path|http://www.math.utah.edu/~beebe/|", +} + +@Article{OptimizationOfArraySubscriptRangeChecks:1992, + title = "Optimization of Array Subscript Range Checks", + author = "Johnathan M. Asuru", + journal = "ACM Letters on Programming Languages and Systems", + pages = "109--118", + month = jun, + year = "1992", + volume = "1", + number = "2", +} + +@Article{OptimizingArrayBoundChecksUsingFlowAnalysis:1993, + title = "Optimizing Array Bound Checks Using Flow Analysis", + author = "Rajiv Gupta", + journal = "LOPLAS", + year = "1993", + number = "1-4", + volume = "2", + bibdate = "2002-12-02", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/journals/loplas/loplas2.html#Gupta93", + pages = "135--150", + URL = "http://doi.acm.org/10.1145/176454.176507", +} + +@InProceedings{EliminationOfRedundantArraySubscriptRangeChecks:1995, + title = "Elimination of Redundant Array Subscript Range + Checks", + author = "Priyadarshan Kolte and Michael Wolfe", + year = "1995", + bibdate = "2010-01-10", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/pldi/pldi95.html#KolteW95", + booktitle = "PLDI", + pages = "270--278", + URL = "http://doi.acm.org/10.1145/207110.207160", +} + +@InProceedings{EliminatingArrayBoundCheckingThroughDependentTypes:1998, + title = "Eliminating Array Bound Checking Through Dependent + Types", + author = "Hongwei Xi and Frank Pfenning", + year = "1998", + bibdate = "2010-01-10", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/pldi/pldi98.html#XiP98", + booktitle = "PLDI", + pages = "249--257", + URL = "http://doi.acm.org/10.1145/277650.277732", +} + +@Article{OptimizingArrayReferenceCheckingInJavaPrograms:1998, + title = "Optimizing Array Reference Checking in Java Programs", + author = "Samuel P. Midkiff and Jos{\'e} E. Moreira and Marc + Snir", + journal = "IBM Systems Journal", + year = "1998", + number = "3", + volume = "37", + bibdate = "2002-01-03", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj37.html#MidkiffMS98", + pages = "409--453", +} + +@InProceedings{TowardsArrayBoundCheckEliminationInJavaTMVirtualMachineLanguage:1999, + title = "Towards array bound check elimination in Java $^{TM}$ + virtual machine language", + author = "Hongwei Xi and Songtao Xia", + bibdate = "2006-02-15", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/cascon/cascon1999.html#XiX99", + booktitle = "CASCON", + booktitle = "Proceedings of the 1999 conference of the Centre for + Advanced Studies on Collaborative Research, November + 8-11, 1999, Mississauga, Ontario, Canada", + publisher = "IBM", + year = "1999", + editor = "Stephen A. MacKay and J. Howard Johnson", + pages = "14", + URL = "http://doi.acm.org/10.1145/781995.782009", +} + +@InProceedings{ABCDEliminatingArrayBoundsChecksOnDemand:2000, + author = "Rastislav Bodik and Rajiv Gupta and Vivek Sarkar", + title = "{ABCD}: eliminating array bounds checks on demand", + booktitle = "Proceedings of the ACM SIGPLAN 2000 Conference on + Programming Language Design and Implementation", + year = "2000", + pages = "321--333", + abstract = "similar to SSI, has phi functions, and also pi + functions to rename at conditional branches and after + array bounds checks", + URL = "http://doi.acm.org/10.1145/349299.349342", +} + +@book{ProcessorWithAcceleratedArrayAcessBoundsChecking:2000, + title= {USPatent: Processor with Accelerated Array Acess Bounds Checking}, + author= {Marc Tremblay and James M. O'Connor and William N. Joy}, + publisher= {Sun Microsystems, Inc.}, + year= {2000}, + pages= {31} +} + +@InProceedings{AFrameworkForOptimizingJavaUsingAttributes:2000, + title = "A framework for optimizing Java using attributes", + author = "Patrice Pominville and Feng Qian and Raja + Vall{\'e}e-Rai and Laurie J. Hendren and Clark + Verbrugge", + bibdate = "2006-02-15", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/cascon/cascon2000.html#PominvilleQVHV00", + booktitle = "CASCON", + booktitle = "Proceedings of the 2000 conference of the Centre for + Advanced Studies on Collaborative Research, November + 13-16, 2000, Mississauga, Ontario, Canada", + publisher = "IBM", + year = "2000", + editor = "Stephen A. MacKay and J. Howard Johnson", + pages = "8", + URL = "http://doi.acm.org/10.1145/782034.782042", +} + +@book{ApparatusAndMethodForArrayBoundsCheckingWithAShadowFile:2001, + title= {USPatent: Apparatus and Method for Array Bounds Checking with a Shadow File}, + author= {Gautam Dewan}, + publisher= {Sun Microsystems, Inc.}, + address= {}, + year= {2001}, + volume= {6}, + pages= {} +} + +@InProceedings{DerivingPreconditionsForArrayBoundCheckElimination:2001, + title = "Deriving Pre-Conditions for Array Bound Check + Elimination", + author = "Wei-Ngan Chin and Siau-Cheng Khoo and Dana N. Xu", + year = "2000", + bibdate = "2004-06-01", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/aplas/aplas2000.html#ChinKX00", + booktitle = "APLAS", + pages = "9--21", +} + +@InProceedings{AComparisonOfArrayBoundsCheckingOnSuperscalarAndVLIWArchitectures:2002, + author = {Chris Bentley and Scott A. Watterson and David K. Lowenthal}, + title = {A Comparison of Array Bounds Checking on Superscalar and VLIW Architectures}, + booktitle = {IEEE Workshop on Workload Characterization}, + year = {2002} +} + +@Article{AComprehensiveApproachToArrayBoundsCheckEliminationForJava:2002, + author = "Feng Qian and Laurie Hendren and Clark Verbrugge", + title = "A Comprehensive Approach to Array Bounds Check + Elimination for {Java}", + journal = "Lecture Notes in Computer Science", + volume = "2304", + pages = "325--??", + year = "2002", + CODEN = "LNCSD9", + ISSN = "0302-9743", + bibdate = "Tue Sep 10 19:09:22 MDT 2002", + bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2304.htm", + URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2304/23040325.htm; + http://link.springer-ny.com/link/service/series/0558/papers/2304/23040325.pdf", + acknowledgement = "Nelson H. F. Beebe, Center for Scientific + Computing, University of Utah, Department of + Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake + City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 + 801 581 4148, e-mail: \path|beebe@math.utah.edu|, + \path|beebe@acm.org|, \path|beebe@computer.org|, + \path|beebe@ieee.org| (Internet), URL: + \path|http://www.math.utah.edu/~beebe/|", +} + +@InProceedings{EliminationOfJavaArrayBoundsChecksInThePresenceOfIndirection:2002, + author = "Mikel Luj{\'a}n and John R. Gurd and T. L. Freeman and + Jos{\'e} Migue", + title = "Elimination of Java array bounds checks in the + presence of indirection", + pages = "76--85", + booktitle = "Proceedings of the 2002 joint {ACM}-{ISCOPE} + conference on Java Grande ({JGI}-02)", + month = nov # " ~3--5", + publisher = "ACM Press", + address = "New York", + year = "2002", +} + +@book{MethodForOptimizingArrayBoundsChecksInPrograms:2002, + title= {USPatent: Method for Optimizing Array Bounds Checks in Programs}, + author= {Manish Gupta and Samuel Pratt Midkiff and Jose Eduardo Moreira}, + publisher= {IBM Corporation}, + year= {2002}, + pages= {58} +} + +@Article{ArrayBoundsCheckEliminationUtilizingAPageProtectionMechanism:2003, + title= {Array Bounds Check Elimination Utilizing a Page Protection Mechanism}, + author= {Motohiro Kawahito}, + publisher= {IBM Research, Tokyo Research Laboratory}, + journal= {RT0550 Computer Science}, + address= {1623-14, Shimotsuruma, Yamato, Kanagawa, 242-8502, Japan}, + year= {2003}, + pages= {6} +} + +@Article{EfficientAndEffectiveArrayBoundChecking:2005, + author = "Thi Viet Nga Nguyen and Fran{\c{c}}ois Irigoin", + title = "Efficient and effective array bound checking", + journal = "ACM Transactions on Programming Languages and + Systems", + volume = "27", + number = "3", + pages = "527--570", + month = may, + year = "2005", + CODEN = "ATPSDT", + ISSN = "0164-0925", + bibdate = "Thu Jul 7 12:37:29 MDT 2005", + bibsource = "http://www.acm.org/pubs/contents/journals/toplas/", + acknowledgement = "Nelson H. F. Beebe, University of Utah, Department + of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake + City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 + 801 581 4148, e-mail: \path|beebe@math.utah.edu|, + \path|beebe@acm.org|, \path|beebe@computer.org| + (Internet), URL: + \path|http://www.math.utah.edu/~beebe/|", + fjournal = "ACM Transactions on Programming Languages and + Systems", +} + +@Article{SymbolicBoundsAnalysisOfPointersArrayIndicesAndAccessedMemoryRegions:2005, + author = "Rugina and Rinard", + title = "Symbolic Bounds Analysis of Pointers, Array Indices, + and Accessed Memory Regions", + journal = "ACMTOPLAS: ACM Transactions on Programming Languages + and Systems", + volume = "27", + year = "2005", +} + +@InProceedings{ArrayBoundsCheckEliminationForTheJavaHotSpotTMClientCompiler:2007, + title = "Array bounds check elimination for the Java + HotSpot{\texttrademark} client compiler", + author = "Thomas W{\"u}rthinger and Christian Wimmer and + Hanspeter M{\"o}ssenb{\"o}ck", + bibdate = "2007-10-22", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/pppj/pppj2007.html#WurthingerWM07", + booktitle = "PPPJ", + booktitle = "Proceedings of the 5th International Symposium on + Principles and Practice of Programming in Java, {PPPJ} + 2007, Lisboa, Portugal, September 5-7, 2007", + publisher = "ACM", + year = "2007", + volume = "272", + editor = "Vasco Amaral and Luis Marcelino and Lu{\'i}s Veiga and + H. Conrad Cunningham", + ISBN = "978-1-59593-672-1", + pages = "125--133", + series = "ACM International Conference Proceeding Series", + URL = "http://doi.acm.org/10.1145/1294325.1294343", +} + +@Misc{VerifiableRangeAnalysisAnnotationsForArrayBoundsCheckElimination:2007, + author = {Jeffery Von Ronne and Kleanthis Psarris and David Niedzielski}, + title = {Verifiable Range Analysis Annotations for Array Bounds Check Elimination}, + year = {} +} + +@InProceedings{APracticalAndPreciseInferenceAndSpecializerForArrayBoundChecksElimination:2008, + title = "A practical and precise inference and specializer for + array bound checks elimination", + author = "Corneliu Popeea and Dana N. Xu and Wei-Ngan Chin", + bibdate = "2008-04-04", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/pepm/pepm2008.html#PopeeaXC08", + booktitle = "PEPM", + booktitle = "Proceedings of the 2008 {ACM} {SIGPLAN} Symposium on + Partial Evaluation and Semantics-based Program + Manipulation, {PEPM} 2008, San Francisco, California, + {USA}, January 7-8, 2008", + publisher = "ACM", + year = "2008", + editor = "Robert Gl{\"u}ck and Oege de Moor", + ISBN = "978-1-59593-977-7", + pages = "177--187", + URL = "http://doi.acm.org/10.1145/1328408.1328434", +} + +@Misc{EfficientIntraproceduralArrayBoundChecking:2008, + title = "Efficient Intraprocedural Array Bound Checking", + author = "Thi Viet and Nga Nguyenfranc and Ois Irigoin and Ronan + Keryelllit and Enst Bretagne", + year = "2008", + month = feb # "~07", + abstract = "Array bound checking is critical for code safety and + debugging but users are not ready to trade much + execution time for it. A considerable research work has + been carried out during the past 25 years but + experimental results are scarce. Commercial + implementations are limited to intraprocedural array + bound checking and are not really fulfilling user + expectations fot compilation and execution times. + Instead of designing a new specific algorithm, we + implemented two algorithms representative of the main + published approaches by re-using automatic + parallelization techniques available in PIPS, an + interprocedural parallelizer. The first algorithm is + based on redundant bound checking elimination. The + second one is based on insertion of unavoidable tests. + Results with the SPEC CFP95 benchmarks show that + commercial products could easily be improved using + automatic parallelization techniques and that user + expectations can be fulfilled for most benchmarks. + However, additional techniques would have be used to + obtain excellent results for all benchmarks. Our + approach to optimize bound checking can also be applied + to other imperative languages such as Fortran, Pascal, + Java when used for scientific applications.", + bibsource = "OAI-PMH server at citeseerx.ist.psu.edu", + contributor = "CiteSeerX", + language = "en", + oai = "oai:CiteSeerXPSU:10.1.1.80.9869", + relation = "10.1.1.19.5510; 10.1.1.36.3970; 10.1.1.33.6934; + 10.1.1.127.8252; 10.1.1.121.8818; 10.1.1.44.8796; + 10.1.1.53.9852; 10.1.1.141.4211; 10.1.1.85.5471; + 10.1.1.34.2234; 10.1.1.41.326; 10.1.1.18.3004; + 10.1.1.30.1142; 10.1.1.34.7836", + rights = "Metadata may be used without restrictions as long as + the oai identifier remains attached to it.", + subject = "array bound checking; range checking; subscript out of + range; bound violation; program verification", + URL = "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.80.9869; + http://www.cri.ensmp.fr/classement/doc/A-316.ps", +} + +@Article{SafeBoundsCheckAnnotations:2008, + title = "Safe bounds check annotations", + author = "Jeffery von Ronne and Andreas Gampe and David + Niedzielski and Kleanthis Psarris", + journal = "Concurrency and Computation: Practice and Experience", + year = "2009", + number = "1", + volume = "21", + bibdate = "2009-05-07", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/journals/concurrency/concurrency21.html#RonneGNP09", + pages = "41--57", + URL = "http://dx.doi.org/10.1002/cpe.1341", +} + +@InProceedings{SpeculativeImprovementsToVerfifiableBoundsCheckElimination:2008, + title = "Speculative improvements to verifiable bounds check + elimination", + author = "Andreas Gampe and Jeffery von Ronne and David + Niedzielski and Kleanthis Psarris", + bibdate = "2008-09-23", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/pppj/pppj2008.html#GampeRNP08", + booktitle = "PPPJ", + booktitle = "Proceedings of the 6th International Symposium on + Principles and Practice of Programming in Java, {PPPJ} + 2008, Modena, Italy, September 9-11, 2008", + publisher = "ACM", + year = "2008", + volume = "347", + editor = "Lu{\'i}s Veiga and Vasco Amaral and R. Nigel Horspool + and Giacomo Cabri", + ISBN = "978-1-60558-223-8", + pages = "85--94", + series = "ACM International Conference Proceeding Series", + URL = "http://doi.acm.org/10.1145/1411732.1411745", +} + +@InProceedings{ArrayBoundsCheckEliminationForJavaBasedOnSparseRepresentation:2009, + title = "Array Bounds Check Elimination for Java Based on + Sparse Representation", + author = "Keqiao Yang and Zeng Huang and Min Yang", + bibdate = "2010-04-23", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/sera/sera2009.html#YangHY09", + booktitle = "SERA", + booktitle = "Proceedings of the Seventh {ACIS} International + Conference on Software Engineering Research, Management + and Applications, {SERA} 2009, Haikou, China, 2-4 + December 2009", + publisher = "IEEE Computer Society", + year = "2009", + editor = "Roger Y. Lee and Wencai Du and Haeng-Kon Kim and + Shaochun Xu", + ISBN = "978-0-7695-3903-4", + pages = "189--196", + URL = "http://doi.ieeecomputersociety.org/10.1109/SERA.2009.11", +} + +@Article{ArrayBoundsCheckEliminationInTheContextOfDeoptimization:2009, + title = "Array bounds check elimination in the context of + deoptimization", + author = "Thomas W{\"u}rthinger and Christian Wimmer and + Hanspeter M{\"o}ssenb{\"o}ck", + journal = "Sci. Comput. Program", + year = "2009", + number = "5-6", + volume = "74", + bibdate = "2009-06-15", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/journals/scp/scp74.html#WurthingerWM09", + pages = "279--295", + URL = "http://dx.doi.org/10.1016/j.scico.2009.01.002", +} + +@InProceedings{AVerifiableControlFlowAwareConstraintAnalyzerForBoundsCheckElimination:2009, + title = "A Verifiable, Control Flow Aware Constraint Analyzer + for Bounds Check Elimination", + author = "David Niedzielski and Jeffery von Ronne and Andreas + Gampe and Kleanthis Psarris", + bibdate = "2009-08-20", + bibsource = "DBLP, + http://dblp.uni-trier.de/db/conf/sas/sas2009.html#NiedzielskiRGP09", + booktitle = "SAS", + booktitle = "Static Analysis, 16th International Symposium, {SAS} + 2009, Los Angeles, {CA}, {USA}, August 9-11, 2009. + Proceedings", + publisher = "Springer", + year = "2009", + volume = "5673", + editor = "Jens Palsberg and Zhendong Su", + ISBN = "978-3-642-03236-3", + pages = "137--153", + series = "Lecture Notes in Computer Science", + URL = "http://dx.doi.org/10.1007/978-3-642-03237-0", +} + +@Misc{SafeMultiphaseBondsCheckEliminationInJava:2010, + author = {Andreas Gampe and David Niedzielski and Jeffery Von Ronne and Kleanthis Psarris}, + title = {Safe, Multiphase Bounds Check Elimination in Java}, + year = {2010} +} + +############################################################################### +# Documents that cover important auxiliary information! +############################################################################### + +@Article{AFastAlgorithmForFindingDominatorsInAFlowGraph:1979, + author = "Thomas Lengauer and Robert E. Tarjan", + title = "A Fast Algorithm for Finding Dominators in a Flow + Graph", + journal = "ACM Transactions on Programming Languages and + Systems", + volume = "1", + number = "1", + pages = "121--141", + month = jul, + year = "1979", + reffrom = "Touzeau:acm:cc:1984", +} + +@Misc{ASImpleFastDominanceAlgorithm:2001, + title = "A Simple, Fast Dominance Algorithm", + author = "Keith D. Cooper and Timothy J. Harvey and Ken + Kennedy", + year = "2001", + month = aug # "~12", + abstract = "This paper returns to a simple formulation of + dominance as a global data-flow problem. Some insights + into the nature of dominance lead to an implementation + of an O(N ) algorithm that runs faster, in practice, + than the classic Lengauer-Tarjan algorithm, which has a + timebound of O(E log(N)).Wecompare the algorithm to + Lengauer-Tarjan because it is the best known and most + widely used of the fast algorithms for dominance. + Working from the same implementation insights, we also + rederive (from earlier work on control dependence by + Ferrante, et al.)amethod Contract/grant sponsor: This + research was supported, in part, by Darpa through + Usafrl contract F30602-97-2-298, and the State of Texas + through its Advanced Technology Program, grant number + 3604-0122-1999", + citeseer-references = "oai:CiteSeerPSU:472597; oai:CiteSeerPSU:87236; + oai:CiteSeerPSU:87236; oai:CiteSeerPSU:106151; + oai:CiteSeerPSU:54768", + annote = "Keith D. Cooper (Rice University; Houston , TX); Ken + Kennedy (SUMMARY);", + bibsource = "OAI-PMH server at cs1.ist.psu.edu", + language = "en", + oai = "oai:CiteSeerPSU:573270", + rights = "unrestricted", + URL = "http://citeseer.ist.psu.edu/573270.html; + http://www.cs.rice.edu/~keith/EMBED/dom.pdf", +} + + + +############################################################################### +# End +###############################################################################