Valid HTML 4.0! Valid CSS!
%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "2.177",
%%%     date            = "17 May 2023",
%%%     time            = "08:50:36 MDT",
%%%     filename        = "java2000.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "http://www.math.utah.edu/~beebe",
%%%     checksum        = "57045 86249 373114 3781427",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography; BibTeX; HotJava; HotJava;
%%%                        HotJavaBean; HTML; Java; Java3D; JavaBean;
%%%                        JavaChip; JavaCUP; JavaDev; JavaDump;
%%%                        JavaEngine; JavaLanche; JavaLex; JavaMan;
%%%                        JavaManagement; JavaOne; JavaOS; JavaPVM;
%%%                        JavaQ; JavaScript; JavaSoft; JavaSpace;
%%%                        JavaStation; JavaStations; JavaStudio;
%%%                        JavaTalk; JBuilder; JChat; JClass; Jcon;
%%%                        JDKs; JetAssist; JetForm; JFactory; JLex;
%%%                        JPython; JRes; JSafe; JScape; JScript;
%%%                        JScriptTest; JSpace; JTable; JTAPI; KJPrice;
%%%                        MacJava; MetaJava; NexusJava; PersonalJava;
%%%                        picoJava; PJAmi; PowerJ; SpecJava; TclJava;
%%%                        TowerJ; World Wide Web; WWW",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This bibliography records books and other
%%%                        publications about the Java programming
%%%                        language, and related software, for the years
%%%                        2000--date.  The companion bibliography,
%%%                        java.bib, covers the years 1995--1999.
%%%
%%%                        At version 2.177, year coverage looked
%%%                        like this:
%%%
%%%                             1997 (   1)    2002 ( 454)    2007 ( 156)
%%%                             1998 (   1)    2003 ( 530)    2008 ( 164)
%%%                             1999 (   1)    2004 ( 450)    2009 ( 122)
%%%                             2000 ( 462)    2005 ( 294)    2010 (   1)
%%%                             2001 ( 526)    2006 ( 171)
%%%
%%%                             Article:       2561
%%%                             Book:           581
%%%                             InCollection:     1
%%%                             InProceedings:  106
%%%                             Manual:           6
%%%                             MastersThesis:    8
%%%                             Misc:             6
%%%                             PhdThesis:        5
%%%                             Proceedings:     46
%%%                             TechReport:      13
%%%
%%%                             Total entries: 3333
%%%
%%%                        Further information on Java development and
%%%                        the HotJava WorldWideWeb browser can be
%%%                        found at the URL http://java.sun.com/.
%%%                        Netscape versions 2.03-beta or later
%%%                        support Java as well.
%%%
%%%                        A Java applet index and repository is
%%%                        available at http://www.gamelan.com/.
%%%
%%%                        Visix has extended their
%%%                        platform-independent window systems support
%%%                        to include Java; details are at
%%%                        http://www.visix.com/
%%%
%%%                        A tutorial on Java is available at
%%%                        http://java.sun.com/tutorial, a white paper
%%%                        on the Java language is at
%%%                        http://java.sun.com/1.0alpha3/doc/overview/
%%%                        java/index.html, and a white paper on the
%%%                        HotJava browser is at http://java.sun.com/
%%%                        1.0alpha3/doc/overview/hotjava/index.html.
%%%
%%%                        A status report on Java security problems
%%%                        is available at http://java.sun.com/sfaq;
%%%                        a good discussion of these issues can be
%%%                        found in the reference Hamilton:1996:JSN
%%%                        below.
%%%
%%%                        John December maintains a Java bibliography
%%%                        that includes press releases and online
%%%                        references at http://www.december.com/john//
%%%                        works/java/bib.html; a snapshot of that
%%%                        collection was incorporated in this
%%%                        bibliography on 17-Dec-1995.
%%%
%%%                        The Web site for Java World magazine is at
%%%                        http://www.javaworld.com/; many entries in
%%%                        this bibliography were found in resources
%%%                        there.
%%%
%%%                        An interesting press release detailing
%%%                        plans about Java-on-a-chip is available
%%%                        at http://www.sun.com:80/sparc/newsreleases/nr95-042.html.
%%%
%%%                        LINPACK benchmark results for Java on a
%%%                        number of different machines have recently
%%%                        been offered at
%%%                        http://www.netlib.org/benchmark/linpackjava/.
%%%                        If you use a Java-aware browser to visit
%%%                        that URL, you can run the benchmark on your
%%%                        own machine, and report the results back to
%%%                        the LINPACK developers.
%%%
%%%                        Other Java sites on the Internet include
%%%                        (see entry DeRoest:1996:PHP below):
%%%
%%%                        Java FAQS:
%%%                            http://www-net.com/java/faq
%%%                            http://lightyear.ncsa.uiuc.edu/~srp/java/javabooks.html
%%%                            http://www.digitalfocus.com/faq/
%%%                            http://www.afu.com/javafaq.html
%%%
%%%                        JavaScript handbook:
%%%                            http://home.netscape.com/eng/mozilla/2.0/handbook/javascript/index.html
%%%
%%%                        Java tutorials:
%%%                            http://www.neca.com/~vmis/java.html
%%%                            http://sunsite.unc.edu/javafaq/javafaq.html
%%%                            http://www.phrantic.com/scoop/onjava.html
%%%
%%%                        JavaScript tutorials:
%%%                            http://www.freqgrafx.com/411/tutorial.html
%%%                            http://ourworld.compuserve.com/homepages/voodoo/script.html
%%%
%%%                        Java and porting projects:
%%%                            http://www.javasoft.com/
%%%                            ftp://ftp4.netscape.com/pub/MacJava
%%%                            http://java.blackdown.org/java-linux.html
%%%                            http://www.osf.org/mall/web/javaport.htm
%%%                            http://www.lls.se/~matjo/PJAmi/PJAmi.html
%%%                            http://ncc.hursley.ibm.com/javainfo/ (IBM's
%%%                            official Java home page)
%%%                            http://www.hp.com/go/JAVA (Hewlett--Packard'
%%%                            official Java home page)
%%%
%%%                        Java books in languages other than English:
%%%                            http://lightyear.ncsa.uiuc.edu/~srp/java/japanese.html
%%%                            http://wwwiz.com/books/european.html
%%%
%%%                        Java books at Amazon bookstore (warning:
%%%                        also contains many entries for books about
%%%                        the island of Java in Indonesia):
%%%                            http://www.wholesaleproducts.com/computer-javascript.html
%%%                            http://www.wholesaleproducts.com/computer-java.html
%%%
%%%                        This bibliography was initially built from
%%%                        searches in the OCLC Content1st database.
%%%                        Additions were then made from all of the
%%%                        bibliographies in the TeX User Group
%%%                        collection, from bibliographies in the
%%%                        author's personal files, from the IEEE
%%%                        INSPEC CD-ROM database (1995--Sept 1996),
%%%                        from the Compendex database, from the
%%%                        UnCover database, and from the OCLC
%%%                        BooksInPrint database.
%%%
%%%                        Numerous errors in the sources noted above
%%%                        have been corrected.  Spelling has been
%%%                        verified with the UNIX spell and GNU ispell
%%%                        programs using the exception dictionary
%%%                        stored in the companion file with extension
%%%                        .sok.
%%%
%%%                        BibTeX citation tags are uniformly chosen as
%%%                        name:year:abbrev, where name is the family
%%%                        name of the first author or editor, year is a
%%%                        4-digit number, and abbrev is a 3-letter
%%%                        condensation of important title
%%%                        words. Citation tags were automatically
%%%                        generated by software developed for the
%%%                        BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted
%%%                        first by ascending year, and within each
%%%                        year, alphabetically by author or editor, and
%%%                        then, if necessary, by the 3-letter
%%%                        abbreviation at the end of the BibTeX
%%%                        citation tag, using the bibsort -byyear
%%%                        utility.  Year order has been chosen to make
%%%                        it easier to identify the most recent work.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================
@Preamble{"\input bibnames.sty " #
          "\input path.sty " #
          "\ifx \undefined \acro \def \acro #1{{\sc #1}} \fi" #
          "\ifx \undefined \booktitle \def \booktitle#1{{{\em #1}}} \fi" #
          "\ifx \undefined \circled \def \circled #1{(#1)}\fi" #
          "\ifx \undefined \k \let \k = \c \fi" #
          "\ifx \undefined \reg \def \reg {\circled{R}}\fi" #
          "\ifx \undefined \TM \def \TM {${}^{\sc TM}$} \fi" #
          "\hyphenation{
                        Aero-space
                        Gur-e-wich
                        Horst-mann
                        ROAST-ER
                        Rich-ard
                        Sep-tem-ber
                        data-bases
                        roast-er
          }"
}

%%% ====================================================================
%%% Acknowledgement abbreviations:
@String{ack-nhfb = "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/|"}

%%% ====================================================================
%%% Institution abbreviations:
@String{inst-CSC                = "Center for Scientific Computing, Department
                                  of Mathematics, University of Utah"}

@String{inst-CSC:adr            = "Salt Lake City, UT 84112, USA"}

%%% ====================================================================
%%% Journal abbreviations:
@String{j-ACM-COMM-COMP-ALGEBRA = "ACM Communications in Computer Algebra"}

@String{j-ACTA-INFO             = "Acta Informatica"}

@String{j-ADA-USER-J            = "Ada User Journal"}

@String{j-ADV-ENG-SOFTWARE      = "Advances in Engineering Software"}

@String{j-ADV-EXP-MED-BIO       = "Advances in experimental medicine and
                                  biology"}

@String{j-ADV-IMAGING           = "Advanced Imaging"}

@String{j-AMER-STAT             = "The American Statistician"}

@String{j-APL-QUOTE-QUAD        = "APL Quote Quad"}

@String{j-APPL-MATH-COMP        = "Applied Mathematics and Computation"}

@String{j-BEHAV-RES-METH-INSTR-COMP = "Behavior Research Methods, Instruments,
                                  and Computers"}

@String{j-BELL-LABS-TECH-J      = "Bell Labs Technical Journal"}

@String{j-BIOINFORMATICS        = "Bioinformatics"}

@String{j-BIOSYSTEMS            = "Biosystems (A6E)"}

@String{j-BUSINESS-WEEK         = "Business week"}

@String{j-CACM                  = "Communications of the ACM"}

@String{j-CCCUJ                 = "C/C++ Users Journal"}

@String{j-CCPE                  = "Concurrency and Computation: Prac\-tice and
                                  Experience"}

@String{j-CHEMO-INTELL-LAB      = "Chemometrics and Intelligent Laboratory
                                  Systems"}

@String{j-COMP-ARCH-NEWS        = "ACM SIGARCH Computer Architecture News"}

@String{j-COMP-CIVIL-ENG        = "Journal of Computing in Civil Engineering"}

@String{j-COMP-EDU-J            = "Computers in education journal"}

@String{j-COMP-GEOSCI           = "Computers and Geosciences"}

@String{j-COMP-J                = "The Computer Journal"}

@String{j-COMP-LANGS            = "Computer Languages"}

@String{j-COMP-LANGS-SYS-STRUCT = "Computer Languages, Systems and Structures"}

@String{j-COMP-NET-AMSTERDAM    = "Computer Networks (Amsterdam, Netherlands:
                                  1999)"}

@String{j-COMP-PHYS-COMM        = "Computer Physics Communications"}

@String{j-COMP-STANDARDS-INTERFACES = "Computer Standards and Interfaces"}

@String{j-COMP-STAT             = "Computational Statistics"}

@String{j-COMP-STRUCTURES       = "Computers and Structures"}

@String{j-COMP-SURV             = "ACM Computing Surveys"}

@String{j-COMPUT-APPL-ENG-EDUC  = "Computer Applications in Engineering
                                  Education"}

@String{j-COMPUT-MATH-APPL      = "Computers and Mathematics with Applications"}

@String{j-COMPUT-BULL           = "The Computer Bulletin"}

@String{j-COMPUT-HUM-BEHAV      = "Computers in Human Behavior"}

@String{j-COMPUT-MATH-APPL      = "Computers and Mathematics with Applications"}

@String{j-COMPUT-METH-PROG-BIOMED = "Computer Methods and Programs in
                                  Biomedicine"}

@String{j-COMPUT-SCI-ENG        = "Computing in Science and Engineering"}

@String{j-COMPUT-SECUR          = "Computers and Security"}

@String{j-COMPUTER              = "Computer"}

@String{j-COMPUTERS-AND-GRAPHICS = "Computers and Graphics"}

@String{j-CONTROL-ENG           = "Control Engineering"}

@String{j-CPE                   = "Concurrency: Prac\-tice and Experience"}

@String{j-DDJ                   = "Dr. Dobb's Journal of Software Tools"}

@String{j-EDN                   = "EDN"}

@String{j-ELECT-NOTES-THEOR-COMP-SCI = "Electronic Notes in Theoretical
                                  Computer Science"}

@String{j-ELECTRONIC-DESIGN     = "Electronic Design"}

@String{j-ELECTRONIC-ENG-TIMES  = "Electronic Engineering Times"}

@String{j-ELECTRONIC-LIBRARY    = "Electronic Library"}

@String{j-ELECTRONIK            = "Elektronik"}

@String{j-ELETTRONICA-OGGI      = "Elettronica Oggi"}

@String{j-EMBED-SYS-PROG        = "Embedded Systems Programming"}

@String{j-EMBEDDED-LINUX-J      = "Embedded Linux Journal"}

@String{j-EMPIR-SOFTWARE-ENG    = "Empirical Software Engineering"}

@String{j-EXPERT-SYST-APPL      = "Expert Systems with Applications"}

@String{j-FORM-METHODS-SYST-DES = "Formal Methods in System Design"}

@String{j-FORM-ASP-COMPUT       = "Formal Aspects of Computing"}

@String{j-FRONTIERS-EDU-CONF    = "Frontiers in Education Conference"}

@String{j-FUND-INFO             = "Fundamenta Informaticae"}

@String{j-FUT-GEN-COMP-SYS      = "Future Generation Computer Systems"}

@String{j-HIGHER-ORDER-SYMB-COMPUT = "Higher-Order and Symbolic Computation"}

@String{j-IBM-JRD               = "IBM Journal of Research and Development"}

@String{j-IBM-SYS-J             = "IBM Systems Journal"}

@String{j-IEE-PROC-COMPUT-DIGIT-TECH = "IEE Proceedings. Computers and Digital
                                  Techniques"}

@String{j-IEEE-CGA              = "IEEE Computer Graphics and Applications"}

@String{j-IEEE-COMPUT-ARCHIT-LETT = "IEEE Computer Architecture Letters"}

@String{j-IEEE-CONCURR          = "IEEE Concurrency"}

@String{j-IEEE-DISTRIB-SYST-ONLINE = "IEEE Distributed Systems Online"}

@String{j-IEEE-INTERNET-COMPUT  = "IEEE Internet Computing"}

@String{j-IEEE-MICRO            = "IEEE Micro"}

@String{j-IEEE-MULTIMEDIA       = "IEEE MultiMedia"}

@String{j-IEEE-POT              = "IEEE Potentials"}

@String{j-IEEE-SEC-PRIV         = "IEEE Security \& Privacy"}

@String{j-IEEE-SIGNAL-PROCESS-MAG = "IEEE signal processing magazine"}

@String{j-IEEE-SOFTWARE         = "IEEE Software"}

@String{j-IEEE-SPECTRUM         = "IEEE Spectrum"}

@String{j-IEEE-TRANS-CONSUMER-ELECTRONICS = "IEEE Transactions on Consumer
                                  Electronics"}

@String{j-IEEE-TRANS-COMPUT     = "IEEE Transactions on Computers"}

@String{j-IEEE-TRANS-EDUC       = "IEEE transactions on education"}

@String{j-IEEE-TRANS-IND-ELECTRON = "IEEE Transactions on Industrial
                                  Electronics"}

@String{j-IEEE-TRANS-INSTRUM-MEAS = "IEEE Transactions on Instrumentation and
                                  Measurement"}

@String{j-IEEE-TRANS-PAR-DIST-SYS = "IEEE Transactions on Parallel and
                                  Distributed Systems"}

@String{j-IEEE-TRANS-SOFTW-ENG  = "IEEE Transactions on Software Engineering"}

@String{j-IETE-TECH-REV         = "IETE Technical Review"}

@String{j-IJHPCA                = "The International Journal of High Performance
                                  Computing Applications"}

@String{j-INF-CONTROL           = "Information and Control"}

@String{j-INFO-PROC-LETT        = "Information Processing Letters"}

@String{j-INFO-RETRIEVAL-LIB-AUTO = "Information Retrieval and Library
                                  Automation"}

@String{j-INFO-SOFTWARE-TECH    = "Information and Software Technology"}

@String{j-INFORMATION-WEEK      = "Information Week"}

@String{j-INFORMS-J-COMPUT      = "INFORMS Journal on Computing"}

@String{j-INFOWORLD             = "InfoWorld"}

@String{j-INT-J-COMPUT-APPL     = "International Journal of Computer
                                   Applications"}

@String{j-INT-J-COMPUT-SYST-SCI-ENG = "International Journal of Computer Systems
                                  Science and Engineering"}

@String{j-INT-J-ENG-EDUC        = "International Journal of Engineering
                                  Education"}

@String{j-INT-J-PARALLEL-PROG   = "International Journal of Parallel
                                  Programming"}

@String{j-INT-J-ROBOTICS-AUTOMATION = "International Journal of Robotics and
                                  Automation"}

@String{j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER = "International Journal on
                                  Software Tools for Technology Transfer
                                  (STTT)"}

@String{j-INT-J-SYST-SCI        = "International Journal of Systems Science"}

@String{j-INT-TRANS-OPL-RES     = "International Transactions in Operational
                                  Research"}

@String{j-INTEL-TECH-J          = "Intel Technology Journal"}

@String{j-J-ACM                 = "Journal of the ACM"}

@String{j-J-AM-SOC-INF-SCI      = "Journal of the American Society for
                                  Information Science"}

@String{j-J-AM-SOC-INF-SCI-TECHNOL = "Journal of the American Society for
                                  Information Science and Technology: JASIST"}

@String{j-J-AUTOM-REASON        = "Journal of Automated Reasoning"}

@String{j-J-BIOMED-INF          = "Journal of Biomedical Informatics"}

@String{j-J-COMP-INFO-SYS       = "The Journal of Computer Information
                                  Systems"}

@String{j-J-COMP-SCI-TECH       = "Journal of Computer Science and Technology"}

@String{j-J-COMP-SYS-SCI        = "Journal of Computer and System Sciences"}

@String{j-J-COMPUT-APPL-MATH    = "Journal of Computational and Applied
                                  Mathematics"}

@String{j-J-COMPUT-GRAPH-STAT   = "Journal of Computational and Graphical
                                  Statistics"}

@String{j-J-DIGITAL-IMAGING     = "Journal of Digital Imaging"}

@String{j-J-GEOPHYS-RES         = "Journal of Geophysical Research"}

@String{j-J-GRID-COMP           = "Journal of Grid Computing"}

@String{j-J-INFO-SCI-ENG        = "Journal of Information Science and
                                  Engineering"}

@String{j-J-LOGIC-ALG-PROG      = "Journal of Logic and Algebraic Programming"}

@String{j-J-NETW-COMPUT-APPL    = "Journal of Network and Computer
                                  Applications"}

@String{j-J-OPER-RES-SOC        = "OR: the journal of the Operational Research
                                  Society"}

@String{j-J-PAR-DIST-COMP       = "Journal of Parallel and Distributed
                                  Computing"}

@String{j-J-R-STAT-SOC-SER-A-STAT-SOC = "Journal of the Royal
                                  Statistical Society. Series A
                                  (Statistics in Society)"}

@String{j-J-SOFTW-MAINT-EVOL    = "Journal of Software Maintenance and
                                  Evolution: Research and Practice"}

@String{j-J-STAT-SOFT           = "Journal of Statistical Software"}

@String{j-J-SUPERCOMPUTING      = "The Journal of Supercomputing"}

@String{j-J-SYST-ARCH           = "Journal of Systems Architecture"}

@String{j-J-SYST-SOFTW          = "The Journal of systems and software"}

@String{j-J-UCS                 = "J.UCS: Journal of Universal Computer
                                  Science"}

@String{j-JERIC                 = "ACM Journal on Educational Resources in
                                  Computing (JERIC)"}

@String{j-LECT-NOTES-COMP-SCI   = "Lecture Notes in Computer Science"}

@String{j-LINUX-J               = "Linux Journal"}

@String{j-LIT-LING-COMP         = "Literary and Linguistic Computing"}

@String{j-LOGIN                 = ";login: the USENIX Association newsletter"}

@String{j-LOPLAS                = "ACM Letters on Programming Languages and
                                  Systems"}

@String{j-MAGMA                 = "Magma"}

@String{j-MARKUP-LANG           = "Markup languages: theory \& practice"}

@String{j-MATH-COMP-EDU         = "Mathematics and computer education"}

@String{j-MICROPROC-MICROSYS    = "Microprocessors and Microsystems"}

@String{j-MICROPROC-REP         = "Microprocessor report"}

@String{j-MINI-MICRO-SYSTEMS    = "Mini-Micro Systems"}

@String{j-MOL-SIM               = "Molecular simulation"}

@String{j-MULTIMEDIA-SYSTEMS    = "Multimedia Systems"}

@String{j-MULTIMEDIA-TOOLS-APPLIC = "Multimedia Tools and Applications"}

@String{j-NETWORK-COMPUTING     = "Network Computing"}

@String{j-NETWORK-SECURITY      = "Network Security"}

@String{j-NEURAL-PAR-SCI-COMPUT = "Neural, Parallel and Scientific
                                  Computations"}

@String{j-NEUROIMAGE            = "NeuroImage"}

@String{j-NORDIC-J-COMPUT       = "Nordic Journal of Computing"}

@String{j-OPER-SYS-REV          = "Operating Systems Review"}

@String{j-PARALLEL-ALGORITHMS-APPL = "Parallel Algorithms and Applications"}

@String{j-PARALLEL-COMPUTING    = "Parallel Computing"}

@String{j-PARALLEL-DIST-COMP-PRACT = "Parallel and Distributed Computing
                                  Practices"}

@String{j-PARALLEL-PROCESS-LETT = "Parallel Processing Letters"}

@String{j-PC-MAGAZINE           = "PC Magazine"}

@String{j-PERF-EVAL             = "Performance evaluation"}

@String{j-PERS-COMPUT-WORLD     = "Personal computer world"}

@String{j-PRAMANA               = "Pramana: Journal of Physics"}

@String{j-PRIMUS                = "PRIMUS (Problems Resources and Issues in
                                  Mathematics Undergraduate Studies)"}

@String{j-PROC-AM-CONTROL-CONF  = "Proceedings of the American Control
                                  Conference"}

@String{j-PROC-IEEE             = "Proceedings of the IEEE"}

@String{j-PROC-SPIE             = "Proceedings of the SPIE --- The
                                  International Society for Optical
                                  Engineering"}

@String{j-PROG-COMP-SOFT        = "Programming and Computer Software;
                                  translation of Programmirovaniye (Moscow,
                                  USSR) Plenum"}

@String{j-QUEUE                 = "ACM Queue: Tomorrow's Computing Today"}

@String{j-R-NEWS                = "R News: the Newsletter of the R Project"}

@String{j-REAL-TIME-SYST        = "Real-Time Systems"}

@String{j-REV-ESP-ELECT         = "Revista espa{\~n}ola de electronica"}

@String{j-SCI-COMPUT-PROGRAM    = "Science of Computer Programming"}

@String{j-SCI-PROG              = "Scientific Programming"}

@String{j-SCPE                  = "Scalable Computing: Practice and Experience"}

@String{j-SIGACT                = "ACM SIGACT News"}

@String{j-SIGADA-LETTERS        = "ACM SIGADA Ada Letters"}

@String{j-SIGAPP                = "ACM SIGAPP Applied Computing Review"}

@String{j-SIGCSE                = "SIGCSE Bulletin (ACM Special Interest Group
                                  on Computer Science Education)"}

@String{j-SIGMETRICS            = "ACM SIGMETRICS Perform. Eval. Rev."}

@String{j-SIGMOD                = "SIGMOD Record (ACM Special Interest Group
                                  on Management of Data)"}

@String{j-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

@String{j-SIGSAM                = "SIGSAM Bulletin (ACM Special Interest Group
                                  on Symbolic and Algebraic Manipulation)"}

@String{j-SIGSOFT               = "ACM SIGSOFT Software Engineering Notes"}

@String{j-SIM-SERIES            = "Simulation series"}

@String{j-SIMULATION            = "Simulation"}

@String{j-SOFTW-CONCEPTS-TOOLS  = "Software --- Concepts and Tools"}

@String{j-SPE                   = "Soft\-ware\emdash Prac\-tice and
                                  Experience"}

@String{j-SYS-ADMIN             = "SysAdmin"}

@String{j-SYS-COMP-JAPAN        = "Systems and computers in Japan"}

@String{j-SYST-CONTROL-INFO     = "Systems, Control and Information =
                                  Shisutemu Seigyo Joho Gakkai shi"}

@String{j-TACO                  = "ACM Transactions on Architecture and Code
                                  Optimization"}

@String{j-TECHNIQUE-SCI-INFORMATIQUES = "Technique et science informatiques :
                                  TSI"}

@String{j-TECHNOMETRICS         = "Technometrics"}

@String{j-TECS                  = "ACM Transactions on Embedded Computing
                                  Systems"}

@String{j-THEOR-COMP-SCI        = "Theoretical Computer Science"}

@String{j-TOCHI                 = "ACM Transactions on Computer-Human
                                  Interaction"}

@String{j-TOCS                  = "ACM Transactions on Computer Systems"}

@String{j-TODAES                = "ACM Transactions on Design Automation of
                                   Electronic Systems"}

@String{j-TOIT                  = "ACM Transactions on Internet Technology (TOIT)"}

@String{j-TOMS                  = "ACM Transactions on Mathematical Software"}

@String{j-TOPLAS                = "ACM Transactions on Programming Languages
                                  and Systems"}

@String{j-TOSEM                 = "ACM Transactions on Software Engineering
                                  and Methodology"}

@String{j-TUGboat               = "TUGboat"}

@String{j-TWEB                  = "ACM Transactions on the Web (TWEB)"}

@String{j-VLDB-J                = "VLDB Journal: Very Large Data Bases"}

@String{j-WIRTSCHAFTSINFORMATIK = "Wirtschaftsinformatik"}

%%% ====================================================================
%%% Publishers and their addresses:
@String{pub-ACM                 = "ACM Press"}
@String{pub-ACM:adr             = "New York, NY 10036, USA"}

@String{pub-AIP                 = "American Institute of Physics"}
@String{pub-AIP:adr             = "Woodbury, NY, USA"}

@String{pub-APRESS              = "Apress"}
@String{pub-APRESS:adr          = "Berkeley, CA, USA"}

@String{pub-ARTECH              = "Artech House Inc."}
@String{pub-ARTECH:adr          = "Norwood, MA, USA"}

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
@String{pub-AW:adr              = "Reading, MA, USA"}

@String{pub-AW-LONGMAN          = "Ad{\-d}i{\-s}on-Wes{\-l}ey Longman"}
@String{pub-AW-LONGMAN:adr      = "Reading, MA, USA"}

@String{pub-BIRKHAUSER          = "Birkh{\"a}user Verlag"}
@String{pub-BIRKHAUSER:adr      = "Basel, Switzerland"}

@String{pub-BROOKS-COLE         = "Brooks\slash Cole"}
@String{pub-BROOKS-COLE:adr     = "Pacific Grove, CA, USA"}

@String{pub-CAMBRIDGE           = "Cambridge University Press"}
@String{pub-CAMBRIDGE:adr       = "Cambridge, UK"}

@String{pub-CHAPMAN-HALL-CRC    = "Chapman and Hall/CRC"}
@String{pub-CHAPMAN-HALL-CRC:adr = "Boca Raton, FL, USA"}

@String{pub-CHARLES-RIVER-MEDIA = "Charles River Media, Inc."}
@String{pub-CHARLES-RIVER-MEDIA:adr = "403 VFW Drive, PO Box 417, Rockland, MA
                                  02370, USA"}

@String{pub-CORIOLIS            = "Coriolis Group Books"}
@String{pub-CORIOLIS:adr        = "Scottsdale, AZ, USA"}

@String{pub-COURSE-TECHNOLOGY   = "Course Technology"}
@String{pub-COURSE-TECHNOLOGY:adr = "Cambridge, MA, USA"}

@String{pub-CRC                 = "CRC Press"}
@String{pub-CRC:adr             = "2000 N.W. Corporate Blvd., Boca Raton, FL
                                  33431-9868, USA"}

@String{pub-HUNGRY-MINDS        = "Hungry Minds"}
@String{pub-HUNGRY-MINDS:adr    = "909 Third Avenue, New York, NY 10022, USA"}

@String{pub-HUNGRY-MINDS-IN     = "Hungry Minds"}
@String{pub-HUNGRY-MINDS-IN:adr = "Indianapolis, IN, USA"}

@String{pub-IBM-PRESS           = "IBM Press"}
@String{pub-IBM-PRESS:adr       = ""}

@String{pub-IDG                 = "IDG Books"}
@String{pub-IDG:adr             = "San Mateo, CA, USA"}

@String{pub-IDG-WORLDWIDE       = "I D G Books Worldwide"}
@String{pub-IDG-WORLDWIDE:adr   = "Indianapolis, IN, USA"}

@String{pub-IEEE                = "IEEE Computer Society Press"}
@String{pub-IEEE:adr            = "1109 Spring Street, Suite 300, Silver
                                  Spring, MD 20910, USA"}

@String{pub-IOS                 = "IOS Press"}
@String{pub-IOS:adr             = "Amsterdam, The Netherlands"}

@String{pub-IRWIN-MCGRAW-HILL   = "Irwin\slash McGraw Hill"}
@String{pub-IRWIN-MCGRAW-HILL:adr = "Boston, MA, USA"}

@String{pub-ISO                 = "International Organization for Standardization"}
@String{pub-ISO:adr             = "Geneva, Switzerland"}

@String{pub-ITP                 = "International Thomson Publishing"}
@String{pub-ITP:adr             = "London, New York, Boston, Madrid,
                                  \\ldots{}"}

@String{pub-JONES-BARTLETT      = "Jones and Bartlett"}
@String{pub-JONES-BARTLETT:adr  = "Boston, MA, USA"}

@String{pub-KLUWER              = "Kluwer Academic Publishers Group"}
@String{pub-KLUWER:adr          = "Norwell, MA, USA, and Dordrecht, The
                                  Netherlands"}

@String{pub-MANNING             = "Manning Publications"}
@String{pub-MANNING:adr         = "Greenwich, CT, USA"}

@String{pub-MCGRAW-HILL         = "Mc{\-}Graw-Hill"}
@String{pub-MCGRAW-HILL:adr     = "New York, NY, USA"}

@String{pub-MIT                 = "MIT Press"}
@String{pub-MIT:adr             = "Cambridge, MA, USA"}

@String{pub-MORGAN-KAUFMANN     = "Morgan Kaufmann Publishers"}
@String{pub-MORGAN-KAUFMANN:adr = "Los Altos, CA 94022, USA"}

@String{pub-MT                  = "M\&T Books"}
@String{pub-MT:adr              = "M\&T Publishing, Inc., 501 Galveston Drive,
                                  Redwood City, CA 94063, USA"}

@String{pub-NASA                = "National Aeronautics and Space
                                  Administration"}
@String{pub-NASA:adr            = "Washington, DC, USA"}

@String{pub-NEW-RIDERS          = "New Riders Publishing"}
@String{pub-NEW-RIDERS:adr      = "Carmel, IN, USA"}

@String{pub-NIST                = "National Institute for Standards and
                                  Technology"}
@String{pub-NIST:adr            = "Gaithersburg, MD, USA"}

@String{pub-NO-STARCH           = "No Starch Press"}
@String{pub-NO-STARCH:adr       = "San Francisco, CA, USA"}

@String{pub-NORTON              = "W. W. Norton \& Co."}
@String{pub-NORTON:adr          = "New York, NY, USA"}

@String{pub-ORA                 = "O'Reilly \& {Associates, Inc.}"}
@String{pub-ORA:adr             = "981 Chestnut Street, Newton, MA 02164, USA"}

@String{pub-ORA-MEDIA           = "O'Reilly Media, Inc."}
@String{pub-ORA-MEDIA:adr       = "1005 Gravenstein Highway North, Sebastopol,
                                  CA 95472, USA"}

@String{pub-OSBORNE             = "Osborne/McGraw-Hill"}
@String{pub-OSBORNE:adr         = "Berkeley, CA, USA"}

@String{pub-PEACHPIT            = "Peachpit Press, Inc."}
@String{pub-PEACHPIT:adr        = "1085 Keith Avenue, Berkeley, CA 94708, USA"}

@String{pub-PH                  = "Pren{\-}tice-Hall"}
@String{pub-PH:adr              = "Englewood Cliffs, NJ 07632, USA"}

@String{pub-PHPTR               = "P T R Pren{\-}tice-Hall"}
@String{pub-PHPTR:adr           = "Englewood Cliffs, NJ 07632, USA"}

@String{pub-POGUE-PRESS-OREILLY = "Pogue Press/O'Reilly"}
@String{pub-POGUE-PRESS-OREILLY:adr = "Sebastopol, CA, USA; Beijing, China"}

@String{pub-PRAGMATIC-BOOKSHELF = "Pragmatic Bookshelf"}
@String{pub-PRAGMATIC-BOOKSHELF:adr = "Raleigh, NC, USA"}

@String{pub-PRINCETON           = "Princeton University Press"}
@String{pub-PRINCETON:adr       = "Princeton, NJ, USA"}

@String{pub-QUE                 = "Que Corporation"}
@String{pub-QUE:adr             = "Indianapolis, IN, USA"}

@String{pub-R-D-BOOKS           = "R\&D Books"}
@String{pub-R-D-BOOKS:adr       = "Lawrence, KS, USA; Berkeley, CA, USA"}

@String{pub-SAE                 = "Society of Automotive Engineers"}
@String{pub-SAE:adr             = "Warrendale, PA, USA"}

@String{pub-SAMS                = "Howard W. Sams"}
@String{pub-SAMS:adr            = "Indianapolis, IN 46268, USA"}

@String{pub-SAS                 = "SAS Institute"}
@String{pub-SAS:adr             = "SAS Circle, Box 8000, Cary, NC
                                  27512-8000, USA"}

@String{pub-SCOTT-JONES         = "Scott\slash Jones"}
@String{pub-SCOTT-JONES:adr     = "El Granada, CA, USA"}

@String{pub-SITEPOINT           = "SitePoint Pty. Ltd."}
@String{pub-SITEPOINT:adr       = "Collingwood, VIC, Australia"}

@String{pub-SPIE                = "SPIE Optical Engineering Press"}
@String{pub-SPIE:adr            = "Bellingham, WA, USA"}

@String{pub-SUN-MICROSYSTEMS-PRESS = "Sun Microsystems Press"}
@String{pub-SUN-MICROSYSTEMS-PRESS:adr = "Palo Alto, CA, USA"}

@String{pub-SUNSOFT             = "SunSoft Press"}
@String{pub-SUNSOFT:adr         = "2550 Garcia Avenue, Mountain View, CA
                                  94043-1100, USA"}

@String{pub-SV                  = "Spring{\-}er-Ver{\-}lag"}
@String{pub-SV:adr              = "Berlin, Germany~/ Heidelberg, Germany~/
                                  London, UK~/ etc."}

@String{pub-SYBEX               = "Sybex, Inc."}
@String{pub-SYBEX:adr           = "2021 Challenger Driver, Suite 100, Alameda,
                                  CA 94501, USA"}

@String{pub-UNICODE             = "The Unicode Consortium"}
@String{pub-UNICODE-CAMBRIDGE:adr = "Cambridge, MA, USA"}
@String{pub-UNICODE-SAN-JOSE:adr = "P.O. Box 700519, San Jose, CA 95170-0519,
                                  USA, Phone: +1-408-777-5870, Fax:
                                  +1-408-777-5082, E-mail:
                                  \path=unicode-inc@unicode.org="}
@String{pub-UNICODE:adr         = "Mountain View, CA, USA"}

@String{pub-USENIX              = "USENIX Association"}
@String{pub-USENIX:adr          = "Berkeley, CA, USA"}

@String{pub-WILEY               = "John Wiley and Sons"}
@String{pub-WILEY:adr           = "New York, NY, USA; London, UK; Sydney,
                                  Australia"}

@String{pub-WILEY-COMPUTER      = "Wiley Computer Publishers"}
@String{pub-WILEY-COMPUTER:adr  = "New York, NY, USA"}

@String{pub-WORLD-SCI           = "World Scientific Publishing
                                  Co. Pte. Ltd."}
@String{pub-WORLD-SCI:adr       = "P. O. Box 128, Farrer Road,
                                  Singapore 9128"}

@String{pub-WROX                = "Wrox Press"}
@String{pub-WROX:adr            = "Chicago, IL, USA"}

%%% ====================================================================
%%% Series abbreviations:
@String{ser-LNCS                = "Lecture Notes in Computer Science"}

@String{ser-LNCSE               = "Lecture Notes in Computational
                                   Science and Engineering"}

%%% ====================================================================
%%% Bibliography entries, sorted by year, and then by citation key.
@Book{Goodrich:1997:DSA,
  author =       "Michael T. Goodrich and Roberto Tamassia",
  title =        "Data Structures and Algorithms in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xviii + 738",
  year =         "1997",
  ISBN =         "0-471-19308-9 (paperback)",
  ISBN-13 =      "978-0-471-19308-1 (paperback)",
  LCCN =         "QA76.73.J38 G66 1997",
  bibdate =      "Thu Mar 22 12:04:32 MDT 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigact.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0706/97039794-d.html;
                 http://www.loc.gov/catdir/toc/onix01/97039794.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Data structures
                 (Computer science); Computer algorithms",
}

@Book{Pedrick:1998:PVC,
  author =       "Doug Pedrick and others",
  title =        "Programming with {VisiBroker} ({CORBA} \& {JDBC})",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xvi + 435",
  month =        feb,
  year =         "1998",
  ISBN =         "0-471-23901-1",
  ISBN-13 =      "978-0-471-23901-7",
  LCCN =         "QA76.73.J38 P79 1998",
  bibdate =      "Wed Jun 17 22:05:06 MDT 1998",
  bibsource =    "http://www.javaworld.com/javaworld/books/jw-books-alphabytitle.html;
                 http://www.math.utah.edu/pub/tex/bib/java.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.wiley.com/",
  price =        "US\$45",
  URL =          "http://www.wiley.com/compbooks/catalog/23901-1.htm",
  acknowledgement = ack-nhfb,
}

@Book{Larman:1999:JPI,
  author =       "Craig Larman and Rhett Guthrie",
  title =        "{Java 2} Performance and Idiom Guide",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xvii + 299",
  year =         "1999",
  ISBN =         "0-13-014260-3",
  ISBN-13 =      "978-0-13-014260-3",
  LCCN =         "QA76.73.J38 L359 2000",
  bibdate =      "Wed Feb 21 05:38:39 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130142603.html",
  acknowledgement = ack-nhfb,
}

@Article{Abraham-Mumm:2000:POT,
  author =       "Erika {\'A}brah{\'a}m-Mumm and Frank S. de Boer",
  title =        "Proof-Outlines for Threads in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1877",
  pages =        "229--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:54 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1877.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1877/18770229.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1877/18770229.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Alexander:2000:CJP,
  author =       "Roger T. Alexander and James M. Bieman and John
                 Viega",
  title =        "Coping with {Java} Programming Stress",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "4",
  pages =        "30--38",
  month =        apr,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon Apr 17 16:15:27 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r4030.pdf;
                 http://www.computer.org/computer/co2000/r4030abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Alexander:2000:UAP,
  author =       "W. P. Alexander and R. F. Berry and F. E. Levine and
                 R. J. Urquhart",
  title =        "A unifying approach to performance analysis in the
                 {Java} environment",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "118--134",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/alexander.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{Allison:2000:IJA,
  author =       "Chuck Allison",
  title =        "{\tt import java.*}: Arrays",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "3",
  pages =        "46--??",
  month =        mar,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:25 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java arrays are very much like those in C/C++, except
                 where they're not.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Allison:2000:IJB,
  author =       "Chuck Allison",
  title =        "{\tt import java.*}: Basic Stream {I/O}",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "11",
  pages =        "58--??",
  month =        nov,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:28 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java supports input/output of streams with a gazillion
                 combinations of options.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Allison:2000:IJC,
  author =       "Chuck Allison",
  title =        "{\tt import java.*}: Collections and Algorithms",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "9",
  pages =        "76--??",
  month =        sep,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:28 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java lacks both a standard and templates, but it
                 nevertheless offers something resembling the C++
                 Standard Template Library.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Allison:2000:IJF,
  author =       "Chuck Allison",
  title =        "{\tt import java.*}: Formatted Text and Locales",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "7",
  pages =        "60--??",
  month =        jul,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:27 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java offers more formatting power than C, but not
                 necessarily in a more convenient package.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Allison:2000:IJI,
  author =       "Chuck Allison",
  title =        "{\tt import java.*}: Interfaces and Inner Classes",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "1",
  pages =        "??--??",
  month =        jan,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:24 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "A Java interface is a weak substitute for multiple
                 inheritance in C++, but it still manages to do a lot of
                 what needs doing.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Allison:2000:IJS,
  author =       "Chuck Allison",
  title =        "{\tt import java.*}: Strings",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "6",
  pages =        "??--??",
  month =        jun,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:26 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Every language lets you manipulate text to some
                 degree. Java is stronger in this regard than most.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Alpern:2000:JAV,
  author =       "B. Alpern and C. R. Attanasio and J. J. Barton and M.
                 G. Burke and P. Cheng and J.-D. Choi and A. Cocchi and
                 S. J. Fink and D. Grove and M. Hind and S. F. Hummel
                 and D. Lieber and V. Litvinov and M. F. Mergen and T.
                 Ngo and J. R. Russell and V. Sarkar and M. J. Serrano
                 and J. C. Shepherd and S. E. Smith and V. C. Sreedhar
                 and H. Srinivasan and J. Whaley",
  title =        "The {Jalape{\~n}o} virtual machine",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "211--238",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/alpern.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  keywords =     "Java",
}

@Article{Amsterdam:2000:JR,
  author =       "Jonathan Amsterdam",
  title =        "{Java} References",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "42, 44, 46, 48, 50, 52",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/jrefer.txt",
  abstract =     "Java lets a program refer to objects without
                 preventing those objects from being garbage collected.
                 Jonathan explains how references work and presents
                 useful abstractions that make working with them easier.
                 Additional resources include jrefer.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Ancona:2000:JSE,
  author =       "Davide Ancona and Giovanni Lagorio and Elena Zucca",
  title =        "{Jam} --- {A} Smooth Extension of {Java} with Mixins",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1850",
  pages =        "154--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1850.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1850/18500154.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1850/18500154.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Angell:2000:PSPa,
  author =       "Kirby W. Angell",
  title =        "{Python} Server Pages: Part 1",
  journal =      j-DDJ,
  volume =       "25",
  number =       "1",
  pages =        "44, 46--47, 50",
  month =        jan,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_01/psp1.txt;
                 http://www.ddj.com/ftp/2000/2000_01/psp100.zip",
  abstract =     "Python Server Pages (PSP) is a server-side scripting
                 engine designed along the lines of Microsoft's Active
                 Server Pages (ASP) and Sun's Java Server Pages (JSP).
                 Additional resources include psp1.txt (listings) and
                 psp100.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Angell:2000:PSPb,
  author =       "Kirby W. Angell",
  title =        "{Python} Server Pages: {Part II}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "54, 57--61",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/psp2.txt",
  abstract =     "Last month, Kirby introduced Python Server Pages and
                 looked at how HTML pages with embedded scripts are
                 translated into compilable JPython code. This month, he
                 examines the Java Servlet side of PSP. Additional
                 resources include psp2.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Annunziato:2000:STY,
  author =       "Jose Annunziato and Stephanie Fesler Kaminaris",
  title =        "{Sams} teach yourself {JavaServer Pages} in 24 hours",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xiii + 433",
  year =         "2000",
  ISBN =         "0-672-32023-1",
  ISBN-13 =      "978-0-672-32023-1",
  LCCN =         "TK5105.8885.J38 A56 2001",
  bibdate =      "Sat Jul 17 07:23:57 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Edited by Rosemarie Graham.",
  acknowledgement = ack-nhfb,
  xxauthor =     "James Goodwill",
}

@Article{Anonymous:2000:AJV,
  author =       "Anonymous",
  title =        "Announcement: {{\em Java Virtual Machine Research and
                 Technology Symposium (JVM '01)}}",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "3",
  pages =        "??--??",
  month =        jun,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:42:33 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-6/index.html",
  URL =          "http://www.usenix.org/events/jvm01",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Anonymous:2000:BRJa,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{Java enterprise in a
                 nutshell: a desktop quick reference}}: By David
                 Flanagan, Jim Farlye, William Crawford and Kris
                 Magnusson. O'Reilly, Sebastopol, CA. (1999). 604 pages.
                 \$29.95}",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "39",
  number =       "3--4",
  pages =        "263--263",
  month =        feb,
  year =         "2000",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Wed Mar 1 21:49:06 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computmathappl2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0898122100900373",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/08981221",
}

@Article{Anonymous:2000:BRJb,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{JavaScript application
                 cookbook}}: By Jerry Bradenbaugh. O'Reilly, Sebastopol,
                 CA. (1999). 462 pages. \$34.95}",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "39",
  number =       "3--4",
  pages =        "266--266",
  month =        feb,
  year =         "2000",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Wed Mar 1 21:49:06 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computmathappl2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0898122100900798",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/08981221",
}

@Article{Anonymous:2000:BRL,
  author =       "Anonymous",
  title =        "Book Reviews: {Linux Red Hat Certified Engineer Exam
                 Cram by Andrew G. Feinberg; JavaScript Application
                 Cookbook by Ralph Krause; Programming Pearls, Second
                 Edition by Harvey Friedman}",
  journal =      j-LINUX-J,
  volume =       "73",
  pages =        "??--??",
  month =        may,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Sep 21 07:44:12 MDT 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue73/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://noframes.linuxjournal.com/lj-issues/issue73/3831.html;
                 http://noframes.linuxjournal.com/lj-issues/issue73/3833.html;
                 http://noframes.linuxjournal.com/lj-issues/issue73/3846.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Book{Anonymous:2000:J,
  author =       "Anonymous",
  title =        "{Java 2}",
  publisher =    "ENI Publishing",
  address =      "????",
  pages =        "????",
  year =         "2000",
  ISBN =         "2-7460-0559-X",
  ISBN-13 =      "978-2-7460-0559-4",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:48:50 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$25",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:JAR,
  author =       "Anonymous",
  title =        "{Java} applets read protected resources",
  journal =      j-NETWORK-SECURITY,
  volume =       "2000",
  number =       "9",
  pages =        "3--3",
  day =          "1",
  month =        sep,
  year =         "2000",
  CODEN =        "NTSCF5",
  DOI =          "https://doi.org/10.1016/S1353-4858(00)09005-X",
  ISSN =         "1353-4858 (print), 1872-9371 (electronic)",
  ISSN-L =       "1353-4858",
  bibdate =      "Mon Dec 4 16:58:01 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/network-security.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S135348580009005X",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Security",
  journal-URL =  "https://www.sciencedirect.com/journal/network-security",
}

@Article{Anonymous:2000:JBS,
  author =       "Anonymous",
  title =        "{Java}-based secure application environment created",
  journal =      j-NETWORK-SECURITY,
  volume =       "2000",
  number =       "4",
  pages =        "6--6",
  day =          "1",
  month =        apr,
  year =         "2000",
  CODEN =        "NTSCF5",
  DOI =          "https://doi.org/10.1016/S1353-4858(00)88620-1",
  ISSN =         "1353-4858 (print), 1872-9371 (electronic)",
  ISSN-L =       "1353-4858",
  bibdate =      "Mon Dec 4 16:57:53 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/network-security.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1353485800886201",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Security",
  journal-URL =  "https://www.sciencedirect.com/journal/network-security",
}

@Article{Anonymous:2000:NAS,
  author =       "Anonymous",
  title =        "News: Supercomputing, Teraflop performance, Embedded
                 {Java}, Middleware",
  journal =      j-IEEE-CONCURR,
  volume =       "8",
  number =       "1",
  pages =        "5--??",
  month =        jan # "\slash " # mar,
  year =         "2000",
  CODEN =        "IECMFX",
  ISSN =         "1092-3063 (print), 1558-0849 (electronic)",
  ISSN-L =       "1092-3063",
  bibdate =      "Tue Apr 25 10:24:24 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/pd/books/pd2000/pdf/p1005.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Concurrency",
}

@Article{Anonymous:2000:NPH,
  author =       "Anonymous",
  title =        "New Products: {Heavy Gear II, Loki Entertainment
                 Software; Compaq Power Management Software, Compaq
                 Computer Corporation; Open Motif Everywhere, Integrated
                 Computer Solutions; VXA RakPak, Ecrix Corporation;
                 Embedix SDK, Lineo, Inc.; Gaussian on Linux NetworX,
                 Linux NetworX, Inc.; HELIOS EtherShare 2.6, HELIOS
                 Software GmbH; NUMA-Q E410 and Netfinity 3500 M20, Shop
                 IBM; InstallShield Java Edition 3.5, InstallShield
                 Software Corporation; NetMAX IA Software, Cybernet
                 Systems Corporation; Teamware Office 5.3 for Linux,
                 Teamware Group Oy; TimeSys Linux/RT 1.0, TimeSys
                 Corporation; Linux 1-2-3 Fundamentals CD, OmniLinux}",
  journal =      j-LINUX-J,
  volume =       "77",
  pages =        "??--??",
  month =        sep,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Sep 21 07:44:13 MDT 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue77/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Anonymous:2000:NPI,
  author =       "Anonymous",
  title =        "New Products: {IQ2 NetCONNECT, BASCOM Global Internet
                 Services, Inc.; OpenLinux eServer 2.3, Caldera Systems,
                 Inc.; CommuniGate Pro, Super-Symmetric Dynamic Cluster
                 Version, Stalker Software, Inc.; Embedix Linux 1.0,
                 Lineo, Inc.; white dwarf linux 1.0, EMJ Embedded
                 Systems; Linux-based Internal G.lite Modem, SAS;
                 IntraLinux, STS International, Inc.; Linux End-to-End
                 Security Solution, JAWS Technologies; JetForm Central
                 for Linux, JetForm Corporation; JWAVE version 3.0,
                 Visual Numerics, Inc.; RTEL, Lantronix; Japanese
                 WordMage v.5.7, Lava Software Pty. Ltd.; TotalView 4.0
                 Parallel Debugger, Etnus; iNUX Consumer Linux Personal
                 Computer systems, iNUX Inc.}",
  journal =      j-LINUX-J,
  volume =       "73",
  pages =        "??--??",
  month =        may,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Sep 21 07:44:12 MDT 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue73/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Anonymous:2000:NPL,
  author =       "Anonymous",
  title =        "New Products: {Linux Office Solutions, VistaSource
                 Inc.; CodeWizard 3.1, ParaSoft; eEMU, Jarrix Systems
                 Pty Ltd; RIA Server, Crystal Group Inc.; Exile III:
                 Ruined World, Spiderweb Software; User Management in
                 MandrakeSoft 7.1, MandrakeSoft, Inc.; HostML and
                 ViewML, Century Software; Flipper Graph Control 2.0,
                 ProWorks LLC; RTAI v1.3, RTAI; eServer.group, Technauts
                 Inc.; VCOM on Linux, NetSys Software Group; RM1U-AXe
                 and RM2U-AXi-C, Rave Computer Association, Inc.; TowerJ
                 3.5, Tower Technology Corporation; X-Win32 v5.0,
                 StarNet Communications Corporation}",
  journal =      j-LINUX-J,
  volume =       "76",
  pages =        "??--??",
  month =        aug,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Sep 21 07:44:13 MDT 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue76/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Anonymous:2000:NPP,
  author =       "Anonymous",
  title =        "New Products: {PerfectBACKUP+ 6.1, Merlin Software
                 Technologies; Linux Driver for HIPPI 800, Essential
                 Communication Corporation; Linux by Libranet, Libra
                 Computer Systems Ltd.; Programming Development Kit,
                 Macmillan Computer Publishing; Linux Anti-Virus
                 Solution, DOLFIN.COM Inc.; OpenDesk.com version 1.0,
                 HBE Software; UnForm v4.0, Synergetic Data Systems; Max
                 for Linux, PlugSys International LLC; PizzaBox Linux
                 Distribution, KYZO Ltd, Little Streams, The
                 Abbotsbrook, Bourne End, Bucks; Appgen Linux Java
                 Client and PowerWindows Applications, Appgen Business
                 Software, Inc.; IVR Server, Open Source Telecom;
                 Photogenics, Paul Nolan Ltd.}",
  journal =      j-LINUX-J,
  volume =       "70",
  pages =        "??--??",
  month =        feb,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Sep 21 16:40:51 MDT 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue70/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Anonymous:2000:PBA,
  author =       "Anonymous",
  title =        "Products: {Broadcom} Adds {VoIP} and Home Networking
                 to Cable Modem Chip; {CodeWarrior 6.0} for the {Mac};
                 {Inprise\slash Borland JBuilder 4}; {WinDK} Extension
                 for {Bluetooth}; {System Mechanic Mobile Toolkit};
                 {ActiveState Perl Dev Kit 2.0} for {Perl 5.6}; {Pentium
                 III} with {SpeedStep}; {Progress Software Apptivity}
                 Version 3",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "11",
  pages =        "116--117",
  month =        nov,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Tue Nov 7 15:11:30 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/ry116.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2000:POR,
  author =       "Anonymous",
  title =        "Products: {Oracle} Releases {XDK} Update; {Starbase}'s
                 Code Editing System; {Arc Second}'s Palm {PC CAD}
                 Viewer; {Minolta}'s Network Document Server for
                 {Windows 2000}; {Borland}'s {Java} Development Tools
                 for {Palm OS}; {Rational}'s Code Management Tools;
                 {Blaxxun Interactive}'s {Web} Communications Platform
                 Tools; {Informix Software}'s {Linux} Database Engine;
                 {ActiveState} Updates Free {Python} Distribution; {KDE
                 2.0} Released",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "12",
  pages =        "144--146",
  month =        dec,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Dec 6 18:12:09 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/rz144.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2000:TSJ,
  author =       "Anonymous",
  title =        "Tool Set for the {Java Card} Platform",
  journal =      j-IEEE-MICRO,
  volume =       "20",
  number =       "3",
  pages =        "87--87",
  month =        may # "\slash " # jun,
  year =         "2000",
  CODEN =        "IEMIDZ",
  ISSN =         "0272-1732 (print), 1937-4143 (electronic)",
  ISSN-L =       "0272-1732",
  bibdate =      "Thu Dec 14 06:08:58 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Science Citation Index database (1980--2000)",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Micro",
  journal-URL =  "http://www.computer.org/csdl/mags/mi/index.html",
}

@Article{Antoniu:2000:IJC,
  author =       "Gabriel Antoniu and Luc Boug{\'e} and Philip Hatcher
                 and Mark MacBeth and Keith McGuigan and Raymond
                 Namyst",
  title =        "Implementing {Java} Consistency Using a Generic,
                 Multithreaded {DSM} Runtime System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1800",
  pages =        "560--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1800.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1800/18000560.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1800/18000560.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Aridor:2000:TOS,
  author =       "Yariv Aridor and Michael Factor and Avi Teperman and
                 Tamar Eilam and Assaf Schuster",
  title =        "Transparently Obtaining Scalability for {Java}
                 Applications on a Cluster",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1159--1193",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1649",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1649;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1649/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1649/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Arnold:2000:AOJ,
  author =       "Matthew Arnold and Stephen Fink and David Grove and
                 Michael Hind and Peter F. Sweeney",
  title =        "Adaptive optimization in the {Jalape{\~n}o} {JVM}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "47--65",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p47-arnold/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Arnold:2000:JPL,
  author =       "Ken Arnold and James Gosling and David Holmes",
  title =        "The {Java} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "xxiv + 595",
  year =         "2000",
  ISBN =         "0-201-70433-1 (paperback)",
  ISBN-13 =      "978-0-201-70433-4 (paperback)",
  LCCN =         "QA76.73.J38 A76 2000",
  bibdate =      "Sat Nov 24 17:48:00 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$37.95",
  abstract =     "This Third Edition of \booktitle{The Java Programming
                 Language} is a valuable resource for both novice and
                 advanced programmers. More than 100,000 developers who
                 programmed with C, C++, Smalltalk, or other high-level
                 languages have used this book to get a concise,
                 intelligent, and deep understanding of the Java
                 programming language. This book is what you need to
                 understand the basic design goals of the language and
                 the application of the language in real-world
                 development. It provides unique insights into why and
                 how the language was designed and intended to be used.
                 The authors describe the latest version of the
                 language, as defined in the Java Language
                 Specification, Second Edition and implemented in
                 version 1.3 of the Java 2 SDK, Standard Edition. This
                 third edition has been structured to give more in-depth
                 treatment of the newer language features, as well as
                 informative examples on using some of the new APIs. New
                 and/or revised in this edition: more details on
                 language features, including an expanded section on
                 nested classes; more comprehensive treatment of garbage
                 collection and related programming issues; and coverage
                 of new APIs, such as collections and
                 internationalization. Thoroughly revised from start to
                 finish, this edition fully covers the features of the
                 current release of the Java programming language and
                 class libraries. The book serves as a tutorial
                 introduction to the language and essential libraries as
                 well as a reference. Experienced programmers will find
                 this new edition to be a valuable reference, and will
                 gain new insights into the subtleties of the language.
                 Novice and intermediate programmers will benefit from
                 the valuable examples and clear explanations of
                 language and library features. Make sure you understand
                 the contents of this book before you begin any serious
                 development for the Java platform.",
  acknowledgement = ack-nhfb,
  tableofcontents = "A Quick Tour / 1 \\
                 Getting Started / 1 \\
                 Variables / 3 \\
                 1.2: Variables / 3 \\
                 1.3: Comments in Code / 6 \\
                 1.4: Named Constants / 6 \\
                 1.5: Unicode Characters / 8 \\
                 1.6: Flow of Control / 9 \\
                 1.7: Classes and Objects / 11 \\
                 1.7.1: Creating Objects / 12 \\
                 1.7.2: Static or Class Fields / 13 \\
                 1.7.3: Garbage Collector / 14 \\
                 1.8: Methods and Parameters / 14 \\
                 1.8.1: Invoking a Method / 15 \\
                 1.8.2: This Reference / 16 \\
                 1.8.3: Static or Class Methods / 17 \\
                 1.9: Arrays / 17 \\
                 1.10: String Objects / 20 \\
                 1.11: Extending a Class / 22 \\
                 1.11.1: Invoking Methods from the Superclass / 23 \\
                 1.11.2: Object Class / 24 \\
                 1.11.3: Type Casting / 25 \\
                 1.12: Interfaces / 25 \\
                 1.13: Exceptions / 27 \\
                 1.14: Packages / 30 \\
                 1.15: Java Platform / 32 \\
                 1.16: Other Topics Briefly Noted / 33 \\
                 2: Classes and Objects / 35 \\
                 2.1: A Simple Class / 36 \\
                 2.1.1: Class Members / 36 \\
                 2.1.2: Class Modifiers / 37 \\
                 2.2: Fields / 38 \\
                 2.2.1: Field Initialization / 38 \\
                 2.2.2: Static Fields / 39 \\
                 2.2.3: final Fields / 40 \\
                 2.3: Access Control / 41 \\
                 2.4: Creating Objects / 42 \\
                 2.5: Construction and Initialization / 43 \\
                 2.5.1: Constructors / 44 \\
                 2.5.2: Initialization Blocks / 48 \\
                 2.5.3: Static Initialization / 49 \\
                 2.6: Methods / 50 \\
                 2.6.1: Static Methods / 51 \\
                 2.6.2: Method Invocations / 51 \\
                 2.6.3: Method Execution and Return / 53 \\
                 2.6.4: Parameter Values / 54 \\
                 2.6.5: Using Methods to Control Access / 57 \\
                 2.7: this / 59 \\
                 2.8: Overloading Methods / 61 \\
                 2.9: Main Method / 62 \\
                 2.10: Native Methods / 63 \\
                 3: Extending Classes / 65 \\
                 3.1: An Extended Class / 66 \\
                 3.2: Constructors in Extended Classes / 69 \\
                 3.2.1: Constructor Order Dependencies / 71 \\
                 3.3: Inheriting and Redefining Members / 73 \\
                 3.3.1: Overriding / 73 \\
                 3.3.2: Hiding Fields / 74 \\
                 3.3.3: Accessing Inherited Members / 75 \\
                 3.3.4: Accessibility and Overriding / 77 \\
                 3.3.5: Hiding Static Members / 77 \\
                 3.3.6: Super Keyword / 78 \\
                 3.4: Type Compatibility and Conversion / 79 \\
                 3.4.1: Compatibility / 79 \\
                 3.4.2: Explicit Type Casting / 80 \\
                 3.4.3: Testing for Type / 80 \\
                 3.5: What protected Really Means / 81 \\
                 3.6: Marking Methods and Classes final / 84 \\
                 3.7: Abstract Classes and Methods / 85 \\
                 3.8: Object Class / 87 \\
                 3.9: Cloning Objects / 89 \\
                 3.9.1: Strategies for Cloning / 89 \\
                 3.9.2: Correct Cloning / 91 \\
                 3.9.3: Shallow versus Deep Cloning / 94 \\
                 3.10: Extending Classes: How and When / 95 \\
                 3.11: Designing a Class to Be Extended / 96 \\
                 3.11.1: Designing an Extensible Framework / 97 \\
                 3.12: Single Inheritance versus Multiple Inheritance /
                 102 \\
                 4: Interfaces / 105 \\
                 4.1: A Simple Interface Example / 106 \\
                 4.2: Interface Declarations / 108 \\
                 4.2.1: Interface Constants / 109 \\
                 4.2.2: Interface Methods / 109 \\
                 4.2.3: Interface Modifiers / 110 \\
                 4.3: Extending Interfaces / 110 \\
                 4.3.1: Inheriting and Hiding Constants / 111 \\
                 4.3.2: Inheriting, Overriding, and Overloading Methods
                 / 112 \\
                 4.4: Working with Interfaces / 113 \\
                 4.4.1: Implementing Interfaces / 114 \\
                 4.4.2: Using an Implementation / 116 \\
                 4.5: Marker Interfaces / 117 \\
                 4.6: When to Use Interfaces / 118 \\
                 5: Nested Classes and Interfaces / 121 \\
                 5.1: Static Nested Types / 121 \\
                 5.1.1: Static Nested Classes / 122 \\
                 5.1.2: Nested Interfaces / 123 \\
                 5.2: Inner Classes / 123 \\
                 5.2.1: Accessing Enclosing Objects / 125 \\
                 5.2.2: Extending Inner Classes / 126 \\
                 5.2.3: Inheritance, Scoping, and Hiding / 127 \\
                 5.3: Local Inner Classes / 129 \\
                 5.4: Anonymous Inner Classes / 131 \\
                 5.5: Inheriting Nested Types / 132 \\
                 5.6: Nesting in Interfaces / 134 \\
                 5.6.1: Modifiable Variables in Interfaces / 135 \\
                 5.7: Implementation of Nested Types / 136 \\
                 6: Tokens, Operators, and Expressions / 137 \\
                 6.1: Lexical Elements / 137 \\
                 6.1.1: Character Set / 138 \\
                 6.1.3: Tokens / 139 \\
                 6.1.4: Identifiers / 140 \\
                 6.1.5: Keywords / 141 \\
                 6.2: Types and Literals / 141 \\
                 6.2.1: Reference Literals / 142 \\
                 6.2.2: Boolean Literals / 142 \\
                 6.2.3: Character Literals / 142 \\
                 6.2.4: Integer Literals 143 \\
                 6.2.5: Floating-Point Literals / 143 \\
                 6.2.6: String Literals / 144 \\
                 6.2.7: Class Literals / 144 \\
                 6.3: Variables / 144 \\
                 6.3.1: Field and Local Variable Declarations / 145 \\
                 6.3.2: Parameter Variables / 146 \\
                 6.3.3: final Variables / 146 \\
                 6.4: Array Variables / 148 \\
                 6.4.1: Array Modifiers / 149 \\
                 6.4.2: Arrays of Arrays / 149 \\
                 6.4.3: Array Initialization / 150 \\
                 6.4.4: Arrays and Types / 151 \\
                 6.5: Meanings of Names / 152 \\
                 6.6: Arithmetic Operations / 156 \\
                 6.6.1: Integer Arithmetic / 156 \\
                 6.6.2: Floating-Point Arithmetic / 156 \\
                 6.6.3: Strict and non-Strict Floating-Point Arithmetic
                 / 158 \\
                 6.7: General Operators / 159 \\
                 6.7.1: Increment and Decrement Operators / 159 \\
                 6.7.2: Relational and Equality Operators / 160 \\
                 6.7.3: Logical Operators / 161 \\
                 6.7.4: instanceof / 162 \\
                 6.7.5: Bit Manipulation Operators / 163 \\
                 6.7.6: Conditional Operator?: / 164 \\
                 6.7.7: Assignment Operators / 165 \\
                 6.7.8: String Concatenation Operator / 167 \\
                 6.7.9: new / 167 \\
                 6.8: Expressions / 168 \\
                 6.8.1: Order of Evaluation / 168 \\
                 6.8.2: Expression Type / 169 \\
                 6.8.3: Implicit Type Conversions / 169 \\
                 6.8.4: Explicit Type Casts / 171 \\
                 6.8.5: String Conversions / 172 \\
                 6.9: Member Access / 173 \\
                 6.9.1: Finding the Right Method / 173 \\
                 6.10: Operator Precedence and Associativity / 176 \\
                 7: Control Flow / 179 \\
                 7.1: Statements and Blocks / 179 \\
                 7.2: if-else / 180 \\
                 7.3: switch / 182 \\
                 7.4: while and do-while / 185 \\
                 7.5: for / 186 \\
                 7.6: Labels / 189 \\
                 7.7: break / 189 \\
                 7.8: continue / 192 \\
                 7.9: return / 193 \\
                 7.10: What, No goto? / 193 \\
                 8: Exceptions / 195 \\
                 8.1: Creating Exception Types / 196 \\
                 8.2: throw / 197 \\
                 8.2.1: Transfer of Control / 198 \\
                 8.2.2: Asynchronous Exceptions / 198 \\
                 8.3: Throws Clause / 199 \\
                 8.3.1: throws Clauses and Method Overriding / 200 \\
                 8.3.2: throws Clauses and Native Methods / 201 \\
                 8.4: try, catch, and finally / 202 \\
                 8.4.1: finally / 204 \\
                 8.5: When to Use Exceptions / 206 \\
                 9: Strings / 209 \\
                 9.1: Basic String Operations / 209 \\
                 9.2: String Comparisons / 211 \\
                 9.2.1: String Literal Equivalence / 214 \\
                 9.3: Utility Methods / 215 \\
                 9.4: Making Related Strings / 215 \\
                 9.5: String Conversions / 217 \\
                 9.6: Strings and char Arrays / 218 \\
                 9.7: Strings and byte Arrays / 220 \\
                 9.7.1: Character Encodings / 221 \\
                 9.8: StringBuffer Class / 222 \\
                 9.8.1: Modifying the Buffer / 223 \\
                 9.8.2: Getting Data Out / 225 \\
                 9.8.3: Capacity Management / 226 \\
                 10: Threads / 227 \\
                 10.1: Creating Threads / 229 \\
                 10.2: Using Runnable / 231 \\
                 10.3: Synchronization / 235 \\
                 10.3.1: synchronized Methods / 235 \\
                 10.3.2: Static Synchronized Methods / 238 \\
                 10.3.3: synchronized Statements / 238 \\
                 10.3.4: Synchronization Designs / 242 \\
                 10.4: wait, notifyAll, and notify / 244 \\
                 10.5: Details of Waiting and Notification / 246 \\
                 10.6: Thread Scheduling / 248 \\
                 10.6.1: Voluntary Rescheduling / 249 \\
                 10.7: Deadlocks / 252 \\
                 10.8: Ending Thread Execution / 254 \\
                 10.8.1: Cancelling a Thread / 255 \\
                 10.8.2: Waiting for a Thread to Complete / 257 \\
                 10.9: Ending Application Execution / 259 \\
                 10.10: volatile / 260 \\
                 10.11: Thread Management, Security and ThreadGroup /
                 261 \\
                 10.12: Threads and Exceptions / 266 \\
                 10.12.1: Don't stop / 266 \\
                 10.13: ThreadLocal Variables / 267 \\
                 10.14: Debugging Threads / 269 \\
                 11: Programming with Types / 271 \\
                 11.1: Wrapper Classes / 272 \\
                 11.1.1: Void / 274 \\
                 11.1.2: Boolean / 274 \\
                 11.1.3: Character / 275 \\
                 11.1.4: Number / 279 \\
                 11.1.5: Integer Wrappers / 279 \\
                 11.1.6: Floating-Point Wrapper Classes / 281 \\
                 11.2: Reflection / 282 \\
                 11.2.1: Class class / 283 \\
                 11.2.2: Naming Classes / 287 \\
                 11.2.3: Examining Class Members / 288 \\
                 11.2.4: Modifier Class / 292 \\
                 11.2.5: Field Class / 292 \\
                 11.2.6: Method Class / 294 \\
                 11.2.7: Creating New Objects and the Constructor Class
                 / 296 \\
                 11.2.8: Access Checking and AccessibleObject / 299 \\
                 11.2.9: Arrays / 299 \\
                 11.2.10: Packages / 301 \\
                 11.2.11: Proxy Classl / 301 \\
                 11.3: Loading Classes / 304 \\
                 11.3.1: ClassLoader Class / 307 \\
                 11.3.2: Preparing a Class for use / 309 \\
                 11.3.3: Loading Related Resources / 310 \\
                 12: Garbage Collection and Memory / 313 \\
                 12.1: Garbage Collection / 313 \\
                 12.2: A Simple Model / 314 \\
                 12.3: Finalization / 316 \\
                 12.3.1: Resurrecting Objects during finalize / 318 \\
                 12.4: Interacting with the Garbage Collector / 318 \\
                 12.5: Reachability States and Reference Objects / 320
                 \\
                 12.5.1: Reference Class / 321 \\
                 12.5.2: Strengths of Reference and Reachability / 321
                 \\
                 12.5.3: Reference Queues / 325 \\
                 13: Packages / 329 \\
                 13.1: Package Naming / 330 \\
                 13.2: Type Imports / 331 \\
                 13.3: Package Access / 332 \\
                 13.3.1: Accessibility and Overriding Methods / 333 \\
                 13.4: Package Contents / 336 \\
                 13.5: Package Objects and Specifications / 337 \\
                 14: Documentation Comments / 341 \\
                 14.1: Anatomy of a Doc Comment / 342 \\
                 14.2: Tags / 343 \\
                 14.2.1: <at>see / 343 \\
                 14.2.2: <at>link / 344 \\
                 14.2.3: <at>param / 345 \\
                 14.2.4: <at>return / 345 \\
                 14.2.5: <at>throws and <at>exception / 345 \\
                 14.2.6: <at>deprecated / 345 \\
                 14.2.7: <at>author / 346 \\
                 14.2.8: <at>version / 346 \\
                 14.2.9: <at>since / 346 \\
                 14.2.10: <at>docRoot / 347 \\
                 14.3: An Example / 347 \\
                 14.4: External Conventions / 352 \\
                 14.4.1: Overview and Package Documentation / 352 \\
                 14.4.2: Doc-files Directory / 353 \\
                 14.5: Notes on Usage / 353 \\
                 15: I/O Package / 355 \\
                 15.1: Byte Streams / 357 \\
                 15.1.1: InputStream / 357 \\
                 15.1.2: OutputStream / 360 \\
                 15.2: Character Streams / 362 \\
                 15.2.1: Reader / 363 \\
                 15.2.2: Writer / 366 \\
                 15.2.3: Character Streams and the Standard Streams /
                 367 \\
                 15.3: InputStreamReader and OutputStreamWriter / 367
                 \\
                 15.4: A Quick Tour of The Stream Classes / 369 \\
                 15.4.1: Synchronization and Concurrency / 370 \\
                 15.4.2: Filter Streams / 371 \\
                 15.4.3: Buffered Streams / 374 \\
                 15.4.4: Piped Streams / 375 \\
                 \ldots{} [section numbers unavailable] \\
                 Piped Streams / 375 \\
                 ByteArray Byte Streams / 377 \\
                 CharArray Character Streams / 378 \\
                 String Character Streams / 379 \\
                 Print Streams / 380 \\
                 LineNumberReader / 381 \\
                 SequenceInputStream / 383 \\
                 Pushback Streams / 384 \\
                 StreamTokenizer / 386 \\
                 The Data Byte Streams / 391 \\
                 DataInput and DataOutput / 392 \\
                 The Data Stream Classes / 393 \\
                 Working with Files / 395 \\
                 File Streams and FileDescriptor / 395 \\
                 RandomAccessFile / 396 \\
                 The File Class / 398 \\
                 FilenameFilter and FileFilter / 404 \\
                 Object Serialization / 405 \\
                 The Object Byte Streams / 405 \\
                 Making Your Classes Serializable / 406 \\
                 Serialization and Deserialization Order / 408 \\
                 Customized Serialization / 409 \\
                 Object Versioning / 413 \\
                 Serialized Fields / 414 \\
                 The Externalizable Interface / 416 \\
                 Documentation Comment Tags / 417 \\
                 The IOException Classes / 418 \\
                 Collections / 421 \\
                 Collections / 421 \\
                 Exception Conventions / 424 \\
                 Iteration / 425 \\
                 Ordering using Comparable and Comparator / 427 \\
                 The Collection Interface / 428 \\
                 Set and SortedSet / 430 \\
                 HashSet / 432 \\
                 TreeSet / 432 \\
                 List / 433 \\
                 ArrayList / 435 \\
                 LinkedList / 436 \\
                 Map and SortedMap / 437 \\
                 HashMap / 440 \\
                 TreeMap / 441 \\
                 WeakHashMap / 442 \\
                 Wrapped Collections and the Collections Class / 442 \\
                 The Synchronization Wrappers / 443 \\
                 The Unmodifiable Wrappers / 444 \\
                 The Collections Utilities / 445 \\
                 The Arrays Utility Class / 448 \\
                 Writing Iterator Implementations / 448 \\
                 Writing Collection Implementations / 451 \\
                 The Legacy Collection Types / 456 \\
                 Enumeration / 457 \\
                 Vector / 457 \\
                 Stack / 459 \\
                 Dictionary / 459 \\
                 Hashtable / 460 \\
                 Properties / 460 \\
                 Miscellaneous Utilities / 463 \\
                 BitSet / 464 \\
                 Observer/Observable / 466 \\
                 Random / 470 \\
                 StringTokenizer / 472 \\
                 Timer and TimerTask / 473 \\
                 Math and StrictMath / 477 \\
                 System Programming / 479 \\
                 The System Class / 480 \\
                 Standard I/O Streams / 480 \\
                 System Properties / 481 \\
                 Utility Methods / 483 \\
                 Creating Processes / 484 \\
                 The Process Class / 485 \\
                 Process Environments / 487 \\
                 Portability / 488 \\
                 Shutdown / 488 \\
                 Shutdown Hooks / 489 \\
                 The Shutdown Sequence / 490 \\
                 Shutdown Strategies / 491 \\
                 The Rest of the Runtime / 492 \\
                 Loading Native Code / 492 \\
                 Debugging / 493 \\
                 Security / 493 \\
                 The SecurityManager Class / 494 \\
                 Permissions / 496 \\
                 Security Policies / 497 \\
                 Access Controllers and Privileged Execution / 497 \\
                 Internationalization and Localization / 501 \\
                 Locale / 502 \\
                 Resource Bundles / 504 \\
                 ListResourceBundle / 507 \\
                 PropertyResourceBundle / 508 \\
                 Subclassing ResourceBundle / 509 \\
                 Time, Dates, and Calendars / 509 \\
                 Calendars / 510 \\
                 Time Zones / 514 \\
                 GregorianCalendar and SimpleTimeZone / 515 \\
                 Formatting and Parsing Dates and Times / 517 \\
                 Internationalization and Localization for Text / 520
                 \\
                 Collation / 520 \\
                 Formatting and Parsing / 522 \\
                 Text Boundaries / 524 \\
                 Standard Packages / 527 \\
                 java.awt --- The Abstract Window Toolkit / 529 \\
                 java.applet --- Applets / 532 \\
                 java.beans --- Components / 533 \\
                 java.math --- Mathematics / 534 \\
                 java.net --- The Network / 535 \\
                 java.rmi --- Remote Method Invocation / 538 \\
                 java.security --- Security Tools / 543 \\
                 java.sql --- Relational Database Access / 544 \\
                 Utility Subpackages / 544 \\
                 Archive Files --- java.util.jar / 544 \\
                 ZIP Files --- java.util.zip / 545 \\
                 javax.* --- Standard Extensions / 546 \\
                 javax.accessibility --- Accessibility for GUIs / 546
                 \\
                 javax.naming --- Directory and Naming Services / 547
                 \\
                 javax.sound --- Sound Manipulation / 548 \\
                 javax.swing --- Swing GUI Components / 549 \\
                 org.omg.CORBA --- CORBA APIs / 549 \\
                 Runtime Exceptions / 551 \\
                 RuntimeException Classes / 552 \\
                 Error Classes / 554 \\
                 Useful Tables / 557 \\
                 Keywords / 557 \\
                 Operator Precedence / 558 \\
                 Unicode Digits / 558 \\
                 Unicode Letters and Digits / 559 \\
                 Special Characters Using / 560 \\
                 Documentation Comment Tags / 560 \\
                 Unicode Character Blocks / 561 \\
                 Further Reading / 563 \\
                 Index / 569",
}

@Book{Arnow:2000:IPU,
  author =       "David M. Arnow and Gerald Weiss",
  title =        "Introduction to programming using {Java}: an
                 object-oriented approach",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxxv + 805",
  year =         "2000",
  ISBN =         "0-201-61272-0",
  ISBN-13 =      "978-0-201-61272-1",
  LCCN =         "QA76.73.J38 A77 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Java 2 update",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer programming language); object-oriented
                 program (computer science)",
}

@InProceedings{Arthur:2000:JES,
  author =       "John K. Arthur",
  title =        "{Java} as an Environment for Scientific Computing",
  crossref =     "Langtangen:2000:AST",
  volume =       "10",
  pages =        "179--196",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/978-3-642-57172-5_5",
  bibdate =      "Sat Dec 22 08:36:29 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/lncse.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-57172-5_5/",
  acknowledgement = ack-nhfb,
  book-DOI =     "https://doi.org/10.1007/978-3-642-57172-5",
  book-URL =     "http://www.springerlink.com/content/978-3-642-57172-5",
}

@Article{Artigas:2000:ALT,
  author =       "P. V. Artigas and M. Gupta and S. P. Mikiff and J. E.
                 Moreira",
  title =        "Automatic Loop Transformations and Parallelization for
                 {Java}",
  journal =      j-PARALLEL-PROCESS-LETT,
  volume =       "10",
  number =       "2/3",
  pages =        "153--??",
  month =        sep,
  year =         "2000",
  CODEN =        "PPLTEE",
  ISSN =         "0129-6264 (print), 1793-642X (electronic)",
  bibdate =      "Wed Apr 18 07:29:37 2001",
  bibsource =    "http://ejournals.wspc.com.sg/ppl/10/1002_03/S01296264001002_03.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ejournals.wspc.com.sg/ppl/10/1002_03/S0129626400000160.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Parallel Processing Letters",
  journal-URL =  "http://www.worldscientific.com/loi/ppl",
}

@Book{Atkinson:2000:CPP,
  author =       "Leon Atkinson",
  title =        "Core {PHP} Programming: using {PHP} to build dynamic
                 {Web} sites",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  edition =      "Second",
  pages =        "xxv + 769",
  year =         "2000",
  ISBN =         "0-13-089398-6",
  ISBN-13 =      "978-0-13-089398-7",
  LCCN =         "QA76.73.P22 A85 2001",
  bibdate =      "Wed Feb 21 05:41:47 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Book{Austin:2000:WAA,
  author =       "Calvin Austin",
  title =        "Writing advanced applications for the {Java 2}
                 platform",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvi + 381",
  year =         "2000",
  ISBN =         "0-201-71501-5",
  ISBN-13 =      "978-0-201-71501-9",
  LCCN =         "A76.76.A65 A95 2000",
  bibdate =      "Thu Jan 18 05:54:47 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.95",
  acknowledgement = ack-nhfb,
  xxtitle =      "Advanced Programming for the {Java 2} Platform",
}

@Article{Azevedo:2000:AAJ,
  author =       "Ana Azevedo and Alex Nicolau and Joe Hummel",
  title =        "An annotation-aware {Java} virtual machine
                 implementation",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "423--444",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<423::AID-CPE483>3.0.CO;2-L",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515731/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515731&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@InProceedings{Back:2000:PKI,
  author =       "Godmar Back and Wilson H. Hsieh and Jay Lepreau",
  title =        "Processes in {KaffeOS}: Isolation, Resource
                 Management, and Sharing in {Java}",
  crossref =     "USENIX:2000:PFSb",
  pages =        "??--??",
  year =         "2000",
  bibdate =      "Wed Oct 16 05:17:16 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/osdi2000/back.html",
  acknowledgement = ack-nhfb,
}

@InProceedings{Back:2000:TDJ,
  author =       "Godmar Back and Patrick Tullmann and Leigh Stoller and
                 Wilson C. Hsieh and Jay Lepreau",
  title =        "Techniques for the Design of {Java} Operating
                 Systems",
  crossref =     "USENIX:2000:UAT",
  pages =        "197--210",
  year =         "2000",
  bibdate =      "Tue Oct 15 09:53:32 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/events/usenix2000/general/back.html",
  acknowledgement = ack-nhfb,
}

@Article{Bacon:2000:GDJ,
  author =       "David F. Bacon and Robert E. Strom and Ashis
                 Tarafdar",
  title =        "{Guava}: a dialect of {Java} without data races",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "382--400",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p382-bacon/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Badros:2000:JML,
  author =       "Greg J. Badros",
  title =        "{JavaML}: a markup language for {Java} source code",
  journal =      j-COMP-NET-AMSTERDAM,
  volume =       "33",
  number =       "1--6",
  pages =        "159--177",
  month =        jun,
  year =         "2000",
  CODEN =        "????",
  ISSN =         "1389-1286 (print), 1872-7069 (electronic)",
  ISSN-L =       "1389-1286",
  bibdate =      "Sat Oct 21 17:37:23 MDT 2000",
  bibsource =    "http://www.elsevier.com/locate/issn/13891286;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/15/22/48/25/37/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/15/22/48/25/37/article.pdf;
                 http://www9.org/w9cdrom/342/342.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Networks (Amsterdam, Netherlands: 1999)",
  journal-URL =  "http://www.sciencedirect.com/science/journal/13891286",
}

@Book{Bailey:2000:JEP,
  author =       "Duane A. Bailey",
  title =        "{Java} elements: principles of programming in {Java}",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xiv + 333",
  year =         "2000",
  ISBN =         "0-07-228357-2",
  ISBN-13 =      "978-0-07-228357-0",
  LCCN =         "QA76.73.J38 B33 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Baker:2000:MPJ,
  author =       "Mark Baker and Bryan Carpenter",
  title =        "{MPJ}: a Proposed {Java} Message Passing {API} and
                 Environment for High Performance Computing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1800",
  pages =        "552--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1800.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1800/18000552.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1800/18000552.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Baker:2000:SIM,
  author =       "Mark Baker",
  title =        "Special Issue: {Message} passing interface-based
                 parallel programming with {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "11",
  pages =        "1017--1018",
  month =        sep,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200009)12:11<1017::AID-CPE537>3.0.CO;2-N",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sat Apr 7 06:56:10 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76000190/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76000190&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Baran:2000:NVN,
  author =       "Nicholas Baran",
  title =        "News and Views: Neural Net Crowned King; Smart Shirts
                 Monitor Vital Signs; {McMaster} Team Wins College
                 Design Contest; {Java} Applet Tracks Space Station;
                 {Sandia Red Team} Batting 1000; New Digital Geometry
                 Compression Algorithm",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "18--18",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Barnes:2000:OOP,
  author =       "David Barnes",
  title =        "Object-Oriented Programming with {Java}: an
                 Introduction",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxvii + 1028",
  year =         "2000",
  ISBN =         "0-13-086900-7",
  ISBN-13 =      "978-0-13-086900-5",
  LCCN =         "QA76.64 .B38 2000",
  bibdate =      "Wed Feb 21 05:44:40 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$56",
  acknowledgement = ack-nhfb,
  xxtitle =      "Object-Oriented Programming with {Java}: a First
                 Programming Text",
}

@Book{Barrilleaux:2000:UIJ,
  author =       "Jon Barrilleaux",
  title =        "{$3$D} User Interfaces With {Java $3$D}",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxvi + 499",
  year =         "2000",
  ISBN =         "1-884777-90-2",
  ISBN-13 =      "978-1-884777-90-5",
  LCCN =         "QA76.9.U83 B363 2001",
  bibdate =      "Tue Feb 20 19:05:27 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$45",
  acknowledgement = ack-nhfb,
}

@Article{Baylor:2000:JSB,
  author =       "S. J. Baylor and M. Devarakonda and S. Fink and E.
                 Gluzberg and M. Kalantar and P. Muttineni and E.
                 Barsness and R. Arora and R. Dimpsey and S. J. Munroe",
  title =        "{Java} server benchmarks",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "57--81",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/baylor.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{Becker:2000:JSCa,
  author =       "Pete Becker",
  title =        "The Journeyman's Shop: Common Design Mistakes, Part
                 1",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "1",
  pages =        "??--??",
  month =        jan,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:24 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Pete provides several cautionary tales from the
                 volatile world of Java libraries. Rapid development is
                 not always compatible with good design.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Becker:2000:JSCb,
  author =       "Pete Becker",
  title =        "The Journeyman's Shop: Common Design Mistakes, Part
                 2",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "2",
  pages =        "77--??",
  month =        feb,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:25 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Pete offers more examples of how not to rush code to
                 market, from the wonderful world of Java Standard
                 Libraries.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@TechReport{Beebe:2000:BPAa,
  author =       "Nelson H. F. Beebe",
  title =        "A Bibliography of Publications about the {{\em Java
                 Programming Language\/}}: 2000--date",
  institution =  inst-CSC,
  address =      inst-CSC:adr,
  pages =        "13",
  day =          "11",
  month =        mar,
  year =         "2000",
  bibdate =      "Tue Nov 14 06:14:41 2000",
  bibsource =    "ftp://ftp.math.utah.edu/pub/bibnet/authors/b/beebe-nelson-h-f.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "This report is updated frequently.",
  URL =          "http://www.math.utah.edu/pub/tex/bib/index-table-j.html#java2000",
}

@Article{Benson:2000:JR,
  author =       "Brent W. {Benson, Jr.}",
  title =        "{Java} reflections",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "14--18",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:21 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Benson:2000:JRJ,
  author =       "Brent W. {Benson, Jr.}",
  title =        "{Java} Reflections: {Java} Server Pages: Servlets,
                 Inside Out",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "14--18",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jan 03 19:00:52 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Benson:2000:JRS,
  author =       "Brent W. {Benson, Jr.}",
  title =        "{Java} Reflections: Servlets: {Web}-Based Applications
                 You Can Live With",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "21--24",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Berg:2000:AJD,
  author =       "Clifford J. Berg",
  title =        "Advanced {Java 2} Development for Enterprise
                 Applications",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "xxiv + 785",
  year =         "2000",
  ISBN =         "0-13-084875-1",
  ISBN-13 =      "978-0-13-084875-8",
  LCCN =         "QA76.73.J38B478 2000",
  bibdate =      "Fri Apr 11 15:03:43 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun Microsystems Press Java series",
  URL =          "http://www.sun.com/books/catalog/berg/",
  acknowledgement = ack-nhfb,
}

@Article{Bertelsen:2000:DSJ,
  author =       "Peter Bertelsen",
  title =        "Dynamic semantics of {Java} bytecode",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "16",
  number =       "7",
  pages =        "841--850",
  month =        may,
  year =         "2000",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:20 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/41/30/32/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Book{Bishop:2000:JGE,
  author =       "J. M. (Judith Mary) Bishop and Nigel Bishop",
  title =        "{Java} gently for engineers and scientists",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xix + 436",
  year =         "2000",
  ISBN =         "0-201-34304-5",
  ISBN-13 =      "978-0-201-34304-5",
  LCCN =         "QA76.76.J38 B57 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "International computer science series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Bishop:2000:OOJ,
  author =       "Judith Bishop and Nigel Bishop",
  title =        "Object-orientation in {Java} for scientific
                 programmers",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "357--361",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331885",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Scientific programmers have traditionally programmed
                 in entirely sequential languages such as Fortran, C or
                 Pascal and it could be argued that object-orientation
                 is not a concept that they would need. Yet computer
                 science departments that give courses to scientists and
                 engineers would like to consider teaching them in Java,
                 rather than in one of the older languages. This paper
                 addresses the dual issues of how Java can best supply
                 everything that the older languages do, and then what
                 it can meaningfully give in added value, especially in
                 the networking and parallel area. Experience with
                 developing solutions in Java to some fifty typical
                 numerical problems has led to a coherent
                 object-oriented approach and a couple of essential
                 support classes for teaching and production work.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bogda:2000:DRO,
  author =       "Jeff Bogda",
  title =        "Detecting Read-Only Methods in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1915",
  pages =        "143--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:08:51 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1915.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1915/19150143.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1915/19150143.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Bollella:2000:RTS,
  author =       "Gregory Bollella",
  title =        "The real-time specification for {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiii + 195",
  year =         "2000",
  ISBN =         "0-201-70323-8 (paperback)",
  ISBN-13 =      "978-0-201-70323-8 (paperback)",
  LCCN =         "QA76.73.J38 R42 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); real-time control",
}

@Book{Boone:2000:JCE,
  author =       "Barry Boone and Willam R. Stanek",
  title =        "{Java 2} certification exam guide for programmers and
                 developers",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xii + 687",
  year =         "2000",
  ISBN =         "0-07-913740-7",
  ISBN-13 =      "978-0-07-913740-1",
  LCCN =         "QA76.3 .B658 2000",
  bibdate =      "Wed Feb 21 06:51:08 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  subject =      "Electronic data processing personnel; Certification;
                 Programming languages (Electronic computers);
                 Examinations; Study guides; Java (Computer program
                 language); Java 2; Zusatzqualifikation",
  tableofcontents = "Part I : Studying for the Programmer's Exam / 13
                 \\
                 Chapter 1 : Taking the Programmer Exam / 15 \\
                 What Is the Programmer Exam Like? / 16 \\
                 How Does the Text Map to the Programmer's Exam
                 Objectives? / 20 \\
                 How the Test Is Administered / 21 \\
                 How to Sign Up and Take the Exams / 21 \\
                 Test-Taking Tips for the Programmer Exam / 23 \\
                 Sun's Take on Certification / 28 \\
                 Where Certification Is Heading / 30 \\
                 Chapter 2 : Java Programming Essentials / 31 \\
                 Object-Oriented Relationships Using ``Is a'' and ``Has
                 a'' / 33 \\
                 Review: Classes, Variables, and Methods / 36 \\
                 Creating a Package / 42 \\
                 Class Keywords / 46 \\
                 Ordering of a Java Source File / 50 \\
                 Variable and Method Keywords / 51 \\
                 Access Control Keywords / 53 \\
                 Casting Classes / 59 \\
                 Interfaces / 61 \\
                 Static Initializers / 65 \\
                 Chapter 3 : Keywords and Constructors / 79 \\
                 Organizing Classes / 82 \\
                 Keywords for Classes and Members / 83 \\
                 Simple Data Types / 85 \\
                 Values and Variables / 85 \\
                 Exception Handling / 86 \\
                 Instance Creation and Testing / 87 \\
                 Control Flow / 88 \\
                 The Default Constructor / 91 \\
                 Defining, Overloading, and Overriding a Constructor /
                 92 \\
                 Invoking Another Constructor / 94 \\
                 Chapter 4 : Memory and Garbage Collection / 103 \\
                 Garbage Collection / 105 \\
                 Finalization / 107 \\
                 Passing Parameters to a Method / 110 \\
                 What's Not on the Test \\
                 Forcing Garbage Collection / 115 \\
                 Chapter 5 : Data Types and Values / 123 \\
                 Data Types / 124 \\
                 Arrays / 130 \\
                 Initializing an Array When It is Allocated / 131 \\
                 Chapter 6 : Operators / 139 \\
                 Operators / 141 \\
                 Bitwise Operators / 145 \\
                 Testing for an Objects Class Type / 151 \\
                 Equals() and == / 152 \\
                 Operator Precedence and Evaluation Order / 154 \\
                 Chapter 7 : Control Flow / 163 \\
                 Objectives for This Chapter / 164 \\
                 Nested loops / 164 \\
                 Labels / 166 \\
                 Nested if and else Statements / 168 \\
                 Legal Values for if Statements / 169 \\
                 Switch and Case Statements / 170 \\
                 While and Do-While Statements / 172 \\
                 Using and and and / 172 \\
                 Chapter 8 : Exceptions / 179 \\
                 Rethrowing an Exception / 187 \\
                 Which Exceptions a Method Can Throw / 189 \\
                 Exceptions in an Overriding Method in a Subclass / 190
                 \\
                 Creating and Throwing an Exception / 192 \\
                 Chapter 9 : Methods / 205 \\
                 Defining a Method / 206 \\
                 Overloading a Method / 207 \\
                 Overriding a Method / 209 \\
                 Object References to Base and Derived Classes / 213 \\
                 Declaring Native Methods / 215 \\
                 Chapter 10 : Essential java.lang and java.util / 221
                 \\
                 Wrapper Classes / 222 \\
                 Working with the Math Class / 227 \\
                 The String and StringBuffer Classes / 231 \\
                 Collections / 239 \\
                 Chapter 11 : Input/Output / 253 \\
                 Objectives for This Chapter / 254 \\
                 The java.io Package / 255 \\
                 The File Class / 262 \\
                 RandomAccessFiles / 268 \\
                 File Descriptors / 270 \\
                 Chapter 12 : Passing Arguments to Programs / 277 \\
                 The main() Method / 278 \\
                 Command-Line Arguments / 280 \\
                 When main() Ends / 282 \\
                 Embedding an Applet in an HTML Page / 282 \\
                 Passing Parameters to an Applet / 284 \\
                 Retrieving Parameters / 285 \\
                 Customizing an Applet / 287 \\
                 Chapter 13 : Threads / 297 \\
                 An Overview of Threads / 298 \\
                 Creating Threads with java.lang. / 303 \\
                 Monitors and Synchronization / 308 \\
                 Why a Thread Might Not Execute / 320 \\
                 Other Useful Thread Methods / 321 \\
                 Chapter 14 : Graphics, Components, and Layout / 329 \\
                 The Abstract Windowing Toolkit (AWT) / 331 \\
                 Drawing Using a Graphics Object / 336 \\
                 The Image Class / 344 \\
                 How Java Arranges Components within Containers / 345
                 \\
                 The Component Class, Subclasses and Methods / 346 \\
                 Key Component Methods / 352 \\
                 Using Layout Managers / 356 \\
                 Default Layout Managers / 367 \\
                 Chapter 15 : Events / 373 \\
                 Event Classes / 374 \\
                 Listening for Events / 376 \\
                 The Listener Interfaces / 379 \\
                 Implementing a Listener Interface / 383 \\
                 Semantic and Low-Level Events / 384 \\
                 AWTEvent Subclasses / 386 \\
                 Extending Adapter Classes / 390 \\
                 Chapter 16 : Inner Classes / 397 \\
                 Inner Classes / 398 \\
                 Anonymous Classes / 402 \\
                 Static Inner Classes / 402 \\
                 Part II : Studying for the Developer's Exam / 409 \\
                 Chapter 17 : The Developer Exam Roadmap / 411 \\
                 Concepts You Should Know Before Getting Started / 413
                 \\
                 The Programming Assignment / 414 \\
                 The Essay Exam / 417 \\
                 How to Sign Up for and Take the Exams / 418 \\
                 How to Acquire the Programming Assignment for the
                 Developer Test / 420 \\
                 Strategies for Approaching the Developer Assignment /
                 421 \\
                 Chapter 18 : Developing With Java / 423 \\
                 Styles and Conventions / 425 \\
                 Error Handling / 426 \\
                 Java's Documentation Problem / 428 \\
                 javadoc Tags / 432 \\
                 Rules for Using javadoc Comments and Tags / 437 \\
                 Examples of javadoc Comments and Tags / 438 \\
                 Abstract Classes / 440 \\
                 Interfaces / 442 \\
                 Packages / 443 \\
                 Defining Access Methods / 446 \\
                 Chapter 19 : Accessing and Managing Databases / 455 \\
                 Create Your Own Databases / 457 \\
                 Accessing Databases from Multiple Clients / 460 \\
                 Two-Tiered and Three-Tiered Architectures / 461 \\
                 Using Java APIs / 462 \\
                 Remote Method Invocation (RMI) / 462 \\
                 Defining a Remote Interface / 463 \\
                 Defining a Remote Class / 464 \\
                 Invoking Remote Objects / 469 \\
                 Java Database Connectivity (JDBC) / 473 \\
                 An Example of Using ODBC with Microsoft Access / 477
                 \\
                 Chapter 20 : Network Programming and Communication /
                 485 \\
                 A TCP/IP Primer / 486 \\
                 Ports and Sockets / 489 \\
                 Streams / 490 \\
                 Designing Servers and Clients / 491 \\
                 Handling Multiple Clients / 492 \\
                 Client Issues / 494 \\
                 The Networking Package / 495 \\
                 Internet Streams / 499 \\
                 Client-Server Examples / 500 \\
                 Writing a Single-Client Server in Java / 501 \\
                 Writing a Multi-Client Server in Java / 510 \\
                 Uniform Resource Locator (URL) / 521 \\
                 Chapter 21 : Designing Application Interfaces / 533 \\
                 Mix and Match / 535 \\
                 Changing Your Look / 543 \\
                 Working with Frames / 546 \\
                 Part III : Practice Exam / 555 \\
                 Chapter 22 : Sun Certified Programmer Practice Exam /
                 557 \\
                 Chapter 24 : Sun Certified Developer Practice Exam /
                 613 \\
                 Chapter 25 : The Sun-Certified Developer Practice Essay
                 Exam / 651",
}

@Article{Boone:2000:UJX,
  author =       "Keith W. Boone",
  title =        "Using {Java} for {XML} Processing",
  journal =      j-MARKUP-LANG,
  volume =       "2",
  number =       "3",
  pages =        "321--330",
  month =        "Summer",
  year =         "2000",
  CODEN =        "MLTPFG",
  ISSN =         "1099-6621",
  ISSN-L =       "1099-6621",
  bibdate =      "Wed Feb 20 11:44:32 MST 2002",
  bibsource =    "http://mitpress.mit.edu/journal-home.tcl?issn=10996621;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://mitpress.mit.edu/catalog/item/default.asp?sid=3108FA5E-91BB-480F-9930-C1C27725EAB8&ttype=6&tid=7574",
  acknowledgement = ack-nhfb,
  fjournal =     "Markup languages: theory \& practice",
}

@Article{Borger:2000:IPJ,
  author =       "Egon B{\"o}rger and Wolfram Schulte",
  title =        "Initialization problems for {Java}",
  journal =      j-SOFTW-CONCEPTS-TOOLS,
  volume =       "19",
  number =       "4",
  pages =        "175--178",
  month =        oct,
  year =         "2000",
  CODEN =        "SCOTE5",
  DOI =          "https://doi.org/10.1007/s003789900003",
  ISSN =         "0945-8115 (print), 1432-2188 (electronic)",
  ISSN-L =       "0945-8115",
  bibdate =      "Sat Jul 23 06:08:38 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/structprogram.bib",
  URL =          "https://link.springer.com/article/10.1007/s003789900003",
  acknowledgement = ack-nhfb,
  fjournal =     "Software --- Concepts and Tools",
}

@Article{Borger:2000:PMS,
  author =       "E. Borger and W. Schulte",
  title =        "A practical method for specification and analysis of
                 exception handling --- a {Java\slash JVM} case study",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "26",
  number =       "9",
  pages =        "872--887",
  month =        sep,
  year =         "2000",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/32.877847",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=877847",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Boussinot:2000:JTS,
  author =       "Fr{\'e}d{\'e}ric Boussinot and Jean-Ferdy Susini",
  title =        "{Java} threads and {SugarCubes}",
  journal =      j-SPE,
  volume =       "30",
  number =       "5",
  pages =        "545--566",
  day =          "25",
  month =        apr,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/(SICI)1097-024X(20000425)30:5<545::AID-SPE308>3.0.CO;2-Q",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:45:44 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/71004433/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=71004433&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Breg:2000:PEJ,
  author =       "Fabian Breg and Mike Lew and Harry A. G. Wijshoff",
  title =        "Performance Evaluation of a {Java} Based Chat System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1940",
  pages =        "276--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:17:15 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1940.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1940/19400276.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1940/19400276.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Brookshier:2000:JSC,
  author =       "Daniel Brookshier",
  title =        "{Java} Standards for Corporate Development",
  publisher =    pub-R-D-BOOKS,
  address =      pub-R-D-BOOKS:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "1-929629-00-1",
  ISBN-13 =      "978-1-929629-00-8",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:57:30 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$40",
  acknowledgement = ack-nhfb,
}

@Article{Bruns:2000:ASD,
  author =       "Glenn R. Bruns and Alan E. Frey and Peter A. Mataga
                 and Susan J. Tripp",
  title =        "Automated software development with {XML} and the
                 {Java} language",
  journal =      j-BELL-LABS-TECH-J,
  volume =       "5",
  number =       "2",
  pages =        "32--43",
  month =        "Summer",
  year =         "2000",
  CODEN =        "BLTJFD",
  DOI =          "https://doi.org/10.1002/bltj.2220",
  ISSN =         "1089-7089 (print), 1538-7305 (electronic)",
  ISSN-L =       "1089-7089",
  bibdate =      "Fri Nov 26 17:31:28 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Bell Labs Technical Journal",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1538-7305/issues/",
  onlinedate =   "28 Aug 2002",
}

@Article{Bubak:2000:CJN,
  author =       "M. Bubak and D. Kurzyniec and P. Luszczek and V.
                 Sunderam",
  title =        "Creating {Java} to Native Code Interfaces with
                 {Janet}",
  journal =      j-SCI-PROG,
  volume =       "9",
  number =       "1",
  publisher =    "IOS Press, Nieuwe Hemweg 6B, 1013 BG Amsterdam, The
                 Netherlands",
  pages =        "39--50",
  year =         "2000",
  CODEN =        "SCIPEV",
  ISSN =         "1058-9244 (print), 1875-919X (electronic)",
  ISSN-L =       "1058-9244",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Scientific Programming",
  journal-URL =  "http://iospress.metapress.com/content/1058-9244",
  pagecount =    "12",
}

@Book{Budd:2000:UOO,
  author =       "Timothy Budd",
  title =        "Understanding object-oriented programming with
                 {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 420",
  year =         "2000",
  ISBN =         "0-201-61273-9",
  ISBN-13 =      "978-0-201-61273-8",
  LCCN =         "QA76.64 .B835 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "object-oriented programming (computer science)",
}

@Book{Bulka:2000:JPS,
  author =       "Dov Bulka",
  title =        "{Java} Performance and Scalability, Volume 1:
                 Server-Side Programming Techniques",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "272 (est.)",
  year =         "2000",
  ISBN =         "0-201-70429-3",
  ISBN-13 =      "978-0-201-70429-7",
  LCCN =         "QA76.73.J38 B84 2000",
  bibdate =      "Thu Jan 18 05:59:31 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$34.95",
  acknowledgement = ack-nhfb,
}

@Article{Bull:2000:BSH,
  author =       "J. M. Bull and L. A. Smith and M. D. Westhead and D.
                 S. Henty and R. A. Davey",
  title =        "A benchmark suite for high performance {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "375--388",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<375::AID-CPE480>3.0.CO;2-M",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515724/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515724&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@InProceedings{Bull:2000:JOL,
  author =       "J. M. Bull and M. E. Kambites",
  editor =       "????",
  booktitle =    "{Proceedings of the ACM 2000 conference on Java
                 Grande}",
  title =        "{JOMP}: an {OpenMP}-like interface for {Java}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "44--53",
  year =         "2000",
  bibdate =      "Mon Oct 07 09:19:42 2019",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Bull:2000:PPJ,
  author =       "J. Mark Bull and Mark E. Kambites and Jan Obdrzalek",
  title =        "Parallel Programming in {Java} with {OpenMP}-like
                 Directives",
  crossref =     "ACM:2000:SHP",
  pages =        "150--150",
  year =         "2000",
  bibdate =      "Sat Feb 10 14:28:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Busi:2000:PCC,
  author =       "Nadia Busi and Roberto Gorrieri and Gianluigi
                 Zavattaro",
  title =        "Process Calculi for Coordination: From {Linda} to
                 {JavaSpaces}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1816",
  pages =        "198--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:32 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1816.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1816/18160198.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1816/18160198.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Butkevich:2000:CTS,
  author =       "Sergey Butkevich and Marco Renedo and Gerald
                 Baumgartner and Michal Young",
  title =        "Compiler and tool support for debugging object
                 protocols",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "6",
  pages =        "50--59",
  month =        nov,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/357474.355052",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:02 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "We describe an extension to the Java programming
                 language that supports static conformance checking and
                 dynamic debugging of object ``protocols,'' i.e.,
                 sequencing constraints on the order in which methods
                 may be called. Our Java protocols have a statically
                 checkable subset embedded in richer descriptions that
                 can be checked at run time. The statically checkable
                 subtype conformance relation is based on Nierstrasz'
                 proposal for regular (finite-state) process types, and
                 is also very close to the conformance relation for
                 architectural connectors in the Wright architectural
                 description language by Allen and Garlan. Richer
                 sequencing properties, which cannot be expressed by
                 regular types alone, can be specified and checked at
                 run time by associating predicates with object states.
                 We describe the language extensions and their
                 rationale, and the design of tool support for static
                 and dynamic checking and debugging.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@MastersThesis{Caamano:2000:PJS,
  author =       "Paul Caamano",
  title =        "Porting a {JAVA\TM{} Virtual Machine} to an embedded
                 system",
  type =         "Thesis ({M.S.})",
  school =       "University of California, Santa Cruz",
  address =      "Santa Cruz, CA, USA",
  year =         "2000",
  LCCN =         "QA76.73.J38 C33 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "embedded computer systems; Java (computer program
                 language); masters theses -- University of California,
                 Santa Cruz -- computer science; virtual computer
                 systems",
}

@Article{Calarco:2000:BRB,
  author =       "Pascal V. Calarco",
  title =        "Book Review: {{\booktitle{Developer's guide to the
                 Java Web server: Building effective and scalable
                 server-side applications}}, by Dan Woods, Larne
                 Pekowsky, and Tom Snee}",
  journal =      j-J-AM-SOC-INF-SCI,
  volume =       "51",
  number =       "10",
  pages =        "965--966",
  month =        "????",
  year =         "2000",
  CODEN =        "AISJB6",
  DOI =          "https://doi.org/10.1002/1097-4571(2000)51:10<965::AID-ASI120>3.0.CO%3B2-U",
  ISSN =         "0002-8231 (print), 1097-4571 (electronic)",
  ISSN-L =       "0002-8231",
  bibdate =      "Fri Sep 11 09:04:35 MDT 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jasis.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of the American Society for Information
                 Science",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2330-1643",
  onlinedate =   "16 Jun 2000",
}

@Article{Calsavara:2000:JQH,
  author =       "Alexandre Pereira Calsavara",
  title =        "{Java Q\&A}: How Can {I} Extend {Java}'s Search
                 Capabilities?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "141--142, 144, 146",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/jqa0012.zip",
  abstract =     "String searching is a basic operation for just about
                 any application. Alexandre presents a small class that
                 uses regular expressions to add powerful string search
                 capabilities to Java. Additional resources include
                 jqa0012.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Caprotti:2000:JPC,
  author =       "Olga Caprotti and Arjeh M. Cohen and Manfred Riem",
  title =        "{JAVA} Phrasebooks for Computer Algebra and Automated
                 Deduction",
  journal =      j-SIGSAM,
  volume =       "34",
  number =       "2",
  pages =        "33--37",
  month =        jun,
  year =         "2000",
  CODEN =        "SIGSBZ",
  ISSN =         "0163-5824 (print), 1557-9492 (electronic)",
  ISSN-L =       "0163-5824",
  bibdate =      "Fri Feb 8 18:27:07 MST 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGSAM Bulletin",
  issue =        "132",
}

@Article{Caromel:2000:WJP,
  author =       "Denis Caromel and Serge Chaumette and Geoffrey Fox and
                 Peter Graham",
  title =        "Workshop on {Java} for Parallel and Distributed
                 Computing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1800",
  pages =        "526--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1800.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1800/18000526.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1800/18000526.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Carpenter:2000:MML,
  author =       "Bryan Carpenter and Vladimir Getov and Glenn Judd and
                 Anthony Skjellum and Geoffrey Fox",
  title =        "{MPJ}: {MPI}-like message passing for {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "11",
  pages =        "1019--1038",
  month =        sep,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200009)12:11<1019::AID-CPE518>3.0.CO;2-G",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sat Apr 7 06:56:10 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76000188/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76000188&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Carpenter:2000:OSM,
  author =       "Bryan Carpenter and Geoffrey Fox and Sung Hoon Ko and
                 Sang Lim",
  title =        "Object serialization for marshaling data in a {Java}
                 interface to {MPI}",
  journal =      j-CPE,
  volume =       "12",
  number =       "7",
  pages =        "539--553",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:7<539::AID-CPE498>3.0.CO;2-H",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516217/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516217&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Chalk:2000:CCC,
  author =       "Peter Chalk",
  title =        "Conference Corner: Conference Report: {JICC4: Java in
                 the Computing Curricula}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "18--19",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Chalk:2000:JJC,
  author =       "Peter Chalk",
  title =        "{JICC4}: {Java} in the computing curricula",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "18--19",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Chang:2000:JJI,
  author =       "Chi-Chao Chang and Thorsten von Eicken",
  title =        "{Javia}: {A Java} interface to the virtual interface
                 architecture",
  journal =      j-CPE,
  volume =       "12",
  number =       "7",
  pages =        "573--593",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:7<573::AID-CPE500>3.0.CO;2-O",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516214/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516214&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Book{Chapman:2000:JES,
  author =       "Stephen J. Chapman",
  title =        "{Java} for Engineers and Scientists",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xix + 572",
  year =         "2000",
  ISBN =         "0-13-919523-8",
  ISBN-13 =      "978-0-13-919523-5",
  LCCN =         "QA76.73.J38C477 1999",
  bibdate =      "Mon May 06 06:32:32 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$45.00",
  URL =          "http://www.phptr.com/ptrbooks/esm_0139195238.html",
  acknowledgement = ack-nhfb,
}

@Article{Chelius:2000:ING,
  author =       "Guillaume Chelius and {\'E}ric Fleury",
  title =        "An {IP} Next Generation Compliant {Java\TM} Virtual
                 Machine",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1800",
  pages =        "528--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1800.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1800/18000528.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1800/18000528.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Chen:2000:JCT,
  author =       "Zhiqun Chen",
  title =        "{Java Card} technology for {Smart Cards}: architecture
                 and programmer's guide",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxii + 368",
  year =         "2000",
  ISBN =         "0-201-70329-7",
  ISBN-13 =      "978-0-201-70329-0",
  LCCN =         "QA76.73.J38 C478 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); smart cards",
}

@Article{Chiba:2000:LTS,
  author =       "Shigeru Chiba",
  title =        "Load-Time Structural Reflection in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1850",
  pages =        "313--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1850.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1850/18500313.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1850/18500313.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Christ:2000:SFP,
  author =       "R. Christ and S. L. Halter and K. Lynne and S. Meizer
                 and S. J. Munroe and M. Pasch",
  title =        "{San Francisco} performance: a case study in
                 performance for large-scale {Java} applications",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "4--20",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/christ.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{Christian:2000:JPI,
  author =       "Wolfgang Christian",
  title =        "{Java} programming and {Internet} technologies for
                 undergraduate education",
  journal =      j-COMP-PHYS-COMM,
  volume =       "127",
  number =       "1",
  pages =        "16--22",
  day =          "1",
  month =        may,
  year =         "2000",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/S0010-4655(00)00018-7",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Mon Feb 13 23:40:39 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compphyscomm1970.bib;
                 http://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465500000187",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Book{Christopher:2000:HPJ,
  author =       "Thomas Christopher and George Thiruvathukal",
  title =        "High Performance {Java} Platform Computing:
                 Multithreaded and Networked Programming",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxii + 409",
  year =         "2000",
  ISBN =         "0-13-016164-0",
  ISBN-13 =      "978-0-13-016164-2",
  LCCN =         "QA76.73.J38 C488 2000",
  bibdate =      "Sat Jul 17 07:22:51 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  URL =          "http://www.sun.com/books/catalog/christopher/",
  acknowledgement = ack-nhfb,
}

@Article{Chung:2000:ECM,
  author =       "C.-M. Chung and P.-S. Shin and S.-D. Kim",
  title =        "An Effective Configuration Method for {Java--Internet}
                 Computing Environment",
  journal =      j-PARALLEL-PROCESS-LETT,
  volume =       "10",
  number =       "1",
  pages =        "73--??",
  month =        mar,
  year =         "2000",
  CODEN =        "PPLTEE",
  ISSN =         "0129-6264 (print), 1793-642X (electronic)",
  bibdate =      "Wed Apr 18 07:29:37 2001",
  bibsource =    "http://ejournals.wspc.com.sg/ppl/10/1001/S01296264001001.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ejournals.wspc.com.sg/ppl/10/1001/S0129626400000093.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Parallel Processing Letters",
  journal-URL =  "http://www.worldscientific.com/loi/ppl",
}

@Article{Ciancarini:2000:MCD,
  author =       "Paolo Ciancarini and Andrea Giovannini and Davide
                 Rossi",
  title =        "Mobility and Coordination for Distributed {Java}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1752",
  pages =        "402--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:07 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1752.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1752/17520402.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1752/17520402.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Cierniak:2000:PJJ,
  author =       "Micha{\l} Cierniak and Guei-Yuan Lueh and James M.
                 Stichnoth",
  title =        "Practicing {JUDO}: {Java} under dynamic
                 optimizations",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "13--26",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/pldi/349299/p13-cierniak/p13-cierniak.pdf;
                 http://www.acm.org/pubs/citations/proceedings/pldi/349299/p13-cierniak/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Clark:2000:NBG,
  author =       "David Clark and Keri Schreiner and Jennifer Ferrero
                 and Dale Strok",
  title =        "News: {Blue Gene} and the race toward petaflops
                 capacity; Embedded {Java} development moves ahead;
                 Putting teraflops to the test; {Corba 3.0} on the way",
  journal =      j-IEEE-CONCURR,
  volume =       "8",
  number =       "1",
  pages =        "5--10",
  month =        jan # "\slash " # mar,
  year =         "2000",
  CODEN =        "IECMFX",
  ISSN =         "1092-3063 (print), 1558-0849 (electronic)",
  ISSN-L =       "1092-3063",
  bibdate =      "Tue Apr 25 10:24:24 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/pd/books/pd2000/pdf/p1005.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Concurrency",
}

@Article{Clausen:2000:JBC,
  author =       "Lars R{\ae}der Clausen and Ulrik Pagh Schultz and
                 Charles Consel and Gilles Muller",
  title =        "{Java} bytecode compression for low-end embedded
                 systems",
  journal =      j-TOPLAS,
  volume =       "22",
  number =       "3",
  pages =        "471--489",
  year =         "2000",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Apr 17 10:05:24 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/toplas/2000-22-3/p471-clausen/p471-clausen.pdf;
                 http://www.acm.org/pubs/citations/journals/toplas/2000-22-3/p471-clausen/",
  abstract =     "A program executing on a low-end embedded system, such
                 as a smart-card, faces scarce memory resources and
                 fixed execution time constraints. We demonstrate that
                 factorization of common instruction sequences in Java
                 bytecode allows the memory footprint to be reduced, on
                 average, to 85\% of its original size, with a minimal
                 execution time penalty. While preserving Java
                 compatibility, our solution requires only a few
                 modifications which are straightforward to implement in
                 any JVM used in a low-end embedded system.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  generalterms = "Design; Experimentation",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "code compression; embedded systems; Java bytecode",
  subject =      "Software --- Programming Languages --- Processors
                 (D.3.4): {\bf Optimization}; Software --- Programming
                 Languages --- Processors (D.3.4): {\bf Interpreters};
                 Software --- Programming Languages --- Processors
                 (D.3.4): {\bf Run-time environments}",
}

@Article{Clifton:2000:MMO,
  author =       "Curtis Clifton and Gary T. Leavens and Craig Chambers
                 and Todd Millstein",
  title =        "{MultiJava}: modular open classes and symmetric
                 multiple dispatch for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "130--145",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p130-clifton/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Colby:2000:CCJ,
  author =       "Christopher Colby and Peter Lee and George C. Necula
                 and Fred Blau and Mark Plesko and Kenneth Cline",
  title =        "A certifying compiler for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "95--107",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/pldi/349299/p95-colby/p95-colby.pdf;
                 http://www.acm.org/pubs/citations/proceedings/pldi/349299/p95-colby/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Cooper:2000:JDP,
  author =       "James W. Cooper",
  title =        "{Java} Design Patterns: a Tutorial",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 329",
  year =         "2000",
  ISBN =         "0-201-48539-7",
  ISBN-13 =      "978-0-201-48539-4",
  LCCN =         "QA76.73.J38 C658 2000",
  bibdate =      "Mon May 06 06:33:03 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  contents =     "Section 1: What are design patterns? Introduction --
                 UML diagrams -- Section 2: Creational patterns. The
                 factory pattern -- The factory method -- The abstract
                 factory pattern -- The singleton pattern -- The builder
                 pattern -- The prototype pattern -- Section 3:
                 Structural patterns. The adapter pattern -- The bridge
                 pattern -- The composite pattern -- The decorator
                 pattern -- The facade pattern -- The flyweight pattern
                 -- The proxy pattern -- Section 4: Behavioral patterns.
                 Chain of responsibility pattern -- The command pattern
                 -- The interpreter pattern -- The iterator pattern --
                 The mediator pattern -- The memento pattern -- The
                 observer pattern -- The state pattern -- The strategy
                 pattern -- The template pattern -- The visitor pattern
                 -- Section 5: Design patterns and the Java foundation
                 classes. The JFC, or swing -- Writing a simple JFC
                 program -- Radio buttons and toolbars -- Menus and
                 actions -- The JList class -- The JTable class -- The
                 JTree class -- Case studies. Sandy and the mediator --
                 Herb's text processing tangle -- Mary's dilemma",
  keywords =     "Java (computer program language)",
}

@Article{Corbett:2000:USA,
  author =       "James C. Corbett",
  title =        "Using shape analysis to reduce finite-state models of
                 concurrent {Java} programs",
  journal =      j-TOSEM,
  volume =       "9",
  number =       "1",
  pages =        "51--93",
  month =        jan,
  year =         "2000",
  CODEN =        "ATSMER",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Fri Apr 20 08:21:35 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tosem/2000-9-1/p51-corbett/p51-corbett.pdf;
                 http://www.acm.org/pubs/citations/journals/tosem/2000-9-1/p51-corbett/",
  abstract =     "Finite-state verification (e.g., model checking)
                 provides a powerful means to detect concurrency errors,
                 which are often subtle and difficult to reproduce.
                 Nevertheless, widespread use of this technology by
                 developers is unlikely until tools provide automated
                 support for extracting the required finite-state models
                 directly from program source. Unfortunately, the
                 dynamic features of modern languages such as Java
                 complicate the construction of compact finite-state
                 models for verification. In this article, we show how
                 shape analysis, which has traditionally been used for
                 computing alias information in optimizers, can be used
                 to greatly reduce the size of finite-state models of
                 concurrent Java programs by determining which
                 heap-allocated variables are accessible only by a
                 single thread, and which shared variables are protected
                 by locks. We also provide several other state-space
                 reductions based on the semantics of Java monitors. A
                 prototype of the reductions demonstrates their
                 effectiveness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "concurrent systems; finite-state verification; Java;
                 model extraction; modeling; shape analysis; state-space
                 reductions",
  subject =      "Software --- Software Engineering --- Software/Program
                 Verification (D.2.4)",
}

@Article{Csopaki:2000:CPI,
  author =       "Gyula Csopaki and G{\'a}bor Andr{\'a}s Horv{\'a}th and
                 G{\'a}bor Kov{\'a}cs",
  title =        "Communication Protocol Implementation in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1905",
  pages =        "254--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:08:46 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1905.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1905/19050254.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1905/19050254.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Culwin:2000:LWB,
  author =       "Fintan Culwin",
  title =        "{Lecturelets}: {web} based {Java} enabled lectures",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "3",
  pages =        "5--8",
  month =        sep,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/353519.343053",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:43 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The traditional lecture has, for a long time, been
                 subject to significant criticisms regarding its
                 learning effectiveness. Despite this it remains popular
                 and several attempts have been made to transport
                 aspects of its format to the Web. Many of these
                 projects appear to have been ill informed and, like
                 many pedagogic uses of the Web, under evaluated. This
                 paper describes the design, implementation and
                 deployment of lecturelets, small low-cost Web hosted
                 lecture like presentations. One design intention was to
                 include effective support for their evaluation and the
                 mechanisms and intentions for this are described.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Czajkowski:2000:AIJ,
  author =       "Grzegorz Czajkowski",
  title =        "Application isolation in the {Java$^{TM}$} {Virtual}
                 {Machine}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "354--366",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p354-czajkowski/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Daconta:2000:JPT,
  author =       "Michael C. Daconta and others",
  title =        "{Java} pitfalls: time-saving solutions and workarounds
                 to improve programs",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xiv + 322",
  year =         "2000",
  ISBN =         "0-471-36174-7 (paperback)",
  ISBN-13 =      "978-0-471-36174-9 (paperback)",
  LCCN =         "QA76.73.J38 P3785 2000",
  bibdate =      "Wed Feb 21 05:48:57 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Daconta:2000:XDJ,
  author =       "Michael C. Daconta and Al Saganich",
  title =        "{XML} development with {Java 2}",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "ix + 429",
  year =         "2000",
  ISBN =         "0-672-31653-6",
  ISBN-13 =      "978-0-672-31653-1",
  LCCN =         "QA76.76.H94 D32 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "XML (document markup language)",
}

@Article{Dekel:2000:SIJ,
  author =       "Eliezer Dekel",
  title =        "Special Issue on {Java} on Clusters",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1155--1158",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1648",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1648;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1648/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1648/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Denney:2000:CJC,
  author =       "Ewen Denney and Thomas Jensen",
  title =        "Correctness of {Java} Card Method Lookup via Logical
                 Relations",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1782",
  pages =        "104--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:14 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1782.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1782/17820104.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1782/17820104.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{DePauw:2000:VRP,
  author =       "Wim {De Pauw} and Gary Sevitsky",
  title =        "Visualizing reference patterns for solving memory
                 leaks in {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "14",
  pages =        "1431--1454",
  day =          "10",
  month =        dec,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(20001210)12:14<1431::AID-CPE542>3.0.CO;2-2",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sat Apr 7 06:56:11 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76500722/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76500722&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Book{Deugo:2000:MJG,
  editor =       "Dwight Deugo",
  title =        "More {Java} Gems",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "xix + 484",
  year =         "2000",
  ISBN =         "0-521-77477-2",
  ISBN-13 =      "978-0-521-77477-2",
  LCCN =         "QA76 .73 J38 M657 2000",
  bibdate =      "Wed Feb 21 05:40:18 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$40",
  acknowledgement = ack-nhfb,
}

@Book{Dicken:2000:DLO,
  author =       "Hans Dicken and Gunther Hipper and Peter
                 M{\"u}{\ss}ig-Trapp",
  title =        "{Datenbanken unter Linux: Oracle 8i, MySQL, Adabas,
                 Informix, Sybase, DB2, PostgreSQL, MiniSQL, Empress;
                 [Tipps zur optimalen Installation und Konfiguration;
                 Backup, Recovery, Ausfallsicherheit; mit PHP und Java
                 ins Web]}",
  publisher =    "MITP-Verlag",
  address =      "Bonn, Germany",
  pages =        "516 (est.)",
  year =         "2000",
  ISBN =         "3-8266-0555-1",
  ISBN-13 =      "978-3-8266-0555-0",
  LCCN =         "????",
  bibdate =      "Sat Mar 09 16:01:08 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@MastersThesis{Dieckmann:2000:SOD,
  author =       "Sylvia Dieckmann",
  title =        "A study of the object demographics of large {Java}
                 applications",
  type =         "Thesis ({M.S.})",
  school =       "University of California, Santa Barbara",
  address =      "Santa Barbara, CA, USA",
  year =         "2000",
  LCCN =         "QA76.27.C2 S25 DIES 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "dissertations, academic -- UCSB -- computer science",
}

@Article{Dill:2000:MCJ,
  author =       "David Dill",
  title =        "Model checking {Java} programs (abstract only)",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "5",
  pages =        "179",
  month =        sep,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/347636.349113",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:00 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Automatic state exploration tools (model checkers)
                 have had some success when applied to protocols and
                 hardware designs, but there are fewer success stories
                 about software. This is unfortunate, since the software
                 problem is worsening even faster than the hardware and
                 protocol problems. Model checking of concurrent
                 programs is especially interesting, because they are
                 notoriously difficult to test, analyze, and debug by
                 other methods. This talk will be a description of our
                 initial efforts to check Java programs using a model
                 checker. The model checker supports dynamic allocation,
                 thread creation, and recursive procedures (features
                 that are not necessary for hardware verification), and
                 has some special optimizations and checks tailored to
                 multi-threaded Java program. I will also discuss some
                 of the challenges for future efforts in this area.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Dillenberger:2000:BJV,
  author =       "D. Dillenberger and R. Bordawekar and C. W. Clark and
                 D. Durand and D. Emmes and O. Gohda and S. Howard and
                 M. F. Oliver and F. Samuel and R. W. {St. John}",
  title =        "Building a {Java} virtual machine for server
                 applications: The {JVM} on {OS/390}",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "194--210",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/dillenberger.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{Dimpsey:2000:JSP,
  author =       "R. Dimpsey and R. Arora and K. Kuiper",
  title =        "{Java} server performance: a case study of building
                 efficient, scalable {Jvms}",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "151--174",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/dimpsey.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{DiStefano:2000:JKE,
  author =       "Antonella {Di Stefano} and Corrado Santoro",
  title =        "A {Java} Kernel for Embedded Systems in Distributed
                 Process Control",
  journal =      j-IEEE-CONCURR,
  volume =       "8",
  number =       "4",
  pages =        "55--63",
  month =        oct # "\slash " # dec,
  year =         "2000",
  CODEN =        "IECMFX",
  DOI =          "https://doi.org/10.1109/4434.895107",
  ISSN =         "1092-3063 (print), 1558-0849 (electronic)",
  ISSN-L =       "1092-3063",
  bibdate =      "Tue Jan 16 12:15:42 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/pd/books/pd2000/pdf/p4055.pdf;
                 http://www.computer.org/concurrency/pd2000/p4055abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Concurrency",
}

@Book{Doherty:2000:JU,
  author =       "Donald Doherty and Rick Leinecker",
  title =        "{JavaBeans} Unleashed",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xv + 676",
  year =         "2000",
  ISBN =         "0-672-31424-X",
  ISBN-13 =      "978-0-672-31424-7",
  LCCN =         "A76.73.J38 D627 2000",
  bibdate =      "Wed Feb 21 05:50:01 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
}

@Article{Domani:2000:GFG,
  author =       "Tamar Domani and Elliot K. Kolodner and Erez Petrank",
  title =        "A generational on-the-fly garbage collector for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "274--284",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/pldi/349299/p274-domani/p274-domani.pdf;
                 http://www.acm.org/pubs/citations/proceedings/pldi/349299/p274-domani/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@InProceedings{Dray:2000:NPA,
  author =       "Jim Dray",
  title =        "{NIST} Performance Analysis of the Final Round {Java
                 AES} Candidates",
  crossref =     "NIST:2000:TAE",
  pages =        "149--160",
  year =         "2000",
  bibdate =      "Wed Feb 07 19:03:41 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Duarte:2000:BJA,
  author =       "Carlos H. C. Duarte and Martin Fogarty and Robert C.
                 Larrabee",
  title =        "Bookshelf: Java Application Frameworks Use Case Driven
                 Object: Modeling with {UML}: a Practical Approach:
                 Chaos and Complexity in Software, Challenging the
                 Industry and the New Science",
  journal =      j-IEEE-SOFTWARE,
  volume =       "17",
  number =       "5",
  pages =        "120--123",
  month =        sep # "\slash " # oct,
  year =         "2000",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2000.10045",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Wed Nov 1 17:47:36 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/so/books/so2000/pdf/s5120.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Dwelly:2000:JXL,
  author =       "Andrew Dwelly",
  title =        "{Java}, {XML}, and Literate Programming",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "62, 64--66, 68",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/litjava.txt;
                 http://www.ddj.com/ftp/2000/2000_02/litjava.zip",
  abstract =     "Marius, the system Andrew presents here, implements
                 some of Donald Knuth's ideas about literate programs,
                 but uses Java as its programming language, with HTML as
                 the output. In the process, Marius leverages the power
                 of XML. Additional resources include litjava.txt
                 (listings) and litjava.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Dwelly:2000:XRP,
  author =       "Andrew Dwelly",
  title =        "{XML}, Reflective Pattern Matching, and {Java}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "6",
  pages =        "46, 49--52, 54",
  month =        jun,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:15 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_06/marius05.zip;
                 http://www.ddj.com/ftp/2000/2000_06/xmljava.txt",
  abstract =     "Although the pattern matching available in Hex, the
                 program Andrew presents here, is relatively simple, it
                 is still powerful enough to perform sophisticated XML
                 document processing. Additional resources include
                 xmljava.txt (listings) and marius05.zip (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Dwyer:2000:APL,
  author =       "Matthew B. Dwyer and John Hatcliff",
  title =        "Adapting programming languages technologies for
                 finite-state verification",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "1",
  pages =        "46--49",
  month =        jan,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/340855.340885",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:13:50 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Program verification and program transformation are
                 two research areas that have different goals. Program
                 verification aims to increase confidence in software
                 through the use of formal methods and systematic
                 testing. Program transformation rearranges the
                 structure of programs to increase their efficiency or
                 to make them more amenable to some other form of
                 processing. Despite being funded under different NSF
                 awards from the Software Engineering and Languages
                 program on the two different areas above the authors
                 are collaborating to apply results from both awards to
                 develop a set of tools, called Bandera, for
                 transforming Java programs into a form that is amenable
                 to verification using existing model checking tools.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Eckel:2000:TJ,
  author =       "Bruce Eckel",
  title =        "Thinking in {Java}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "1127",
  year =         "2000",
  ISBN =         "0-13-027363-5",
  ISBN-13 =      "978-0-13-027363-5",
  LCCN =         "QA76.73.J38 E25 2000",
  bibdate =      "Fri Apr 13 15:37:06 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.99",
  URL =          "http://www.jowsey.com/books-music/javabooks.html;
                 http://www.phptr.com/ptrbooks/ptr_0130273635.html",
  acknowledgement = ack-nhfb,
}

@Book{Edwards:2000:CJC,
  author =       "W. Keith Edwards",
  title =        "Core {JINI} --- The Complete Video Course",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "0-13-086386-6",
  ISBN-13 =      "978-0-13-086386-7",
  LCCN =         "????",
  bibdate =      "Wed Apr 26 17:16:45 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$129.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130863866.html;
                 http://www.sun.com/books/catalog/edwards2/",
  acknowledgement = ack-nhfb,
}

@Book{Efford:2000:DIP,
  author =       "Nick Efford",
  title =        "Digital image processing: a practical introduction
                 using {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiii + 340 + 4",
  year =         "2000",
  ISBN =         "0-201-59623-7",
  ISBN-13 =      "978-0-201-59623-6",
  LCCN =         "TA1637 .E35 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  contents =     "Ch. 1. Introduction -- Ch. 2. Image Acquisition -- Ch.
                 3. Digital images -- Ch. 4. Images in Java -- Ch. 5.
                 Basic image manipulation -- Ch. 6. Grey level and
                 colour enhancement -- Ch. 7. Neighbourhood operations
                 -- Ch. 8. The frequency domain -- Ch. 9. Geometric
                 operations -- Ch. 10. Segmentation -- Ch. 11.
                 Morphological image processing -- Ch. 12. Image
                 compression -- App. A. Glossary of Image Processing
                 Terms.",
  keywords =     "image processing -- digital techniques",
}

@Article{Ellis:2000:TMD,
  author =       "Ainslie Ellis",
  title =        "Toolbook multimedia demonstrations for {Java}
                 programming",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "3",
  pages =        "181--181",
  month =        sep,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/353519.343174",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:43 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes a set of multimedia
                 demonstrations built to facilitate the learning of
                 introductory Java programming. They provide
                 demonstrations of complex processes and concepts that
                 are difficult, if not impossible, to present using more
                 traditional media used in lectures.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{English:2000:MNCa,
  author =       "Marie English",
  title =        "Micro News: New benchmark for {Unigraphics V15};
                 Wireless applications grow; Tool set for the {Java
                 Card} platform; Biomechanical discovery affects mobile
                 applications, robots; Hard to navigate {Web}",
  journal =      j-IEEE-MICRO,
  volume =       "20",
  number =       "3",
  pages =        "3--3, 86--87",
  month =        may # "\slash " # jun,
  year =         "2000",
  CODEN =        "IEMIDZ",
  ISSN =         "0272-1732 (print), 1937-4143 (electronic)",
  ISSN-L =       "0272-1732",
  bibdate =      "Thu Dec 14 06:08:58 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Science Citation Index database (1980--2000)",
  URL =          "http://dlib.computer.org/mi/books/mi2000/pdf/m3003.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Micro",
  journal-URL =  "http://www.computer.org/csdl/mags/mi/index.html",
}

@Article{Epstein:2000:JQ,
  author =       "David Epstein and Joseph Kiniry and John Motil",
  title =        "{Java Q\&A}: What is ``{JJ}''?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "4",
  pages =        "101--106",
  month =        apr,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:14 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_04/jqa400.txt",
  abstract =     "JJ is a Java implementation originally designed as an
                 educational programming language and environment.
                 Although it's a subset of Java, JJ includes advanced
                 programming features such as support for Design by
                 Contract. Additional resources include jqa400.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  annote =       "JJ is a subset of Java, designed for learning Java.",
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Manual{Falco:2000:JBX,
  author =       "Joe Falco",
  title =        "{Java}-based {XML} utility for the {NIST} machine tool
                 data repository",
  number =       "6581",
  publisher =    "U.S. Dept. of Commerce, Technology Administration,
                 National Institute of Standards and Technology",
  address =      "????",
  pages =        "13",
  month =        nov,
  year =         "2000",
  LCCN =         "DOC C 13.58:6581 mf11",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Shipping list number 2001-0146-M.",
  series =       "NISTIR",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language)",
}

@Manual{Falco:2000:JXU,
  author =       "Joe Falco",
  title =        "{Java}-based {XML} utility for the {NIST} machine tool
                 data repository",
  number =       "6581",
  publisher =    pub-NIST,
  address =      pub-NIST:adr,
  pages =        "13",
  month =        nov,
  year =         "2000",
  LCCN =         "DOC C 13.58:6581",
  bibdate =      "Wed Mar 27 20:47:26 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Shipping list no.: 2001-0146-M.",
  series =       "NISTIR",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language)",
}

@Article{Farkas:2000:QEC,
  author =       "Keith I. Farkas and Jason Flinn and Godmar Back and
                 Dirk Grunwald and Jennifer M. Anderson",
  title =        "Quantifying the energy consumption of a pocket
                 computer and a {Java Virtual Machine}",
  journal =      j-SIGMETRICS,
  volume =       "28",
  number =       "1",
  pages =        "252--263",
  month =        jun,
  year =         "2000",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/345063.339421",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Thu Jun 26 11:31:11 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In this paper, we examine the energy consumption of a
                 state-of-the-art pocket computer. Using a data
                 acquisition system, we measure the energy consumption
                 of the Itsy Pocket Computer, developed by Compaq
                 Computer Corporation's Palo Alto Research Labs. We
                 begin by showing that the energy usage characteristics
                 of the Itsy differ markedly from that of a notebook
                 computer. Then, since we expect that flexible software
                 environments will become increasingly prevalent on
                 pocket computers, we consider applications running in a
                 Java environment. In particular, we explain some of the
                 Java design tradeoffs applicable to pocket computers,
                 and quantify their energy costs. For the design options
                 we considered and the three workloads we studied, we
                 find a maximum change in energy use of 25\%.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
}

@Book{Fields:2000:WDJ,
  author =       "Duane K. Fields and Mark A. Kolb",
  title =        "{Web} Development with {JavaServer} Pages",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxvi + 554",
  year =         "2000",
  ISBN =         "1-884777-99-6",
  ISBN-13 =      "978-1-884777-99-8",
  LCCN =         "TK5105.8885.J38 F54 2000",
  bibdate =      "Wed Feb 21 05:51:23 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  price =        "US\$44.95",
  URL =          "http://www.manning.com/fields;
                 http://www.manning.com/Fields/index.html",
  acknowledgement = ack-nhfb,
}

@PhdThesis{FigueroadelCid:2000:RFF,
  author =       "Samuel {Figueroa del Cid}",
  title =        "A Rigorous Framework for Fully Supporting the {IEEE
                 Standard} for Floating-Point Arithmetic in High-Level
                 Programming Languages",
  type =         "{Ph.D.} Thesis",
  school =       "Department of Computer Science, New York University",
  address =      "New York, NY, USA",
  pages =        "345",
  month =        jan,
  year =         "2000",
  ISBN =         "0-599-59894-8",
  ISBN-13 =      "978-0-599-59894-2",
  bibdate =      "Fri Oct 25 17:16:24 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.cs.nyu.edu/csweb/Research/theses.html;
                 http://www.cs.nyu.edu/csweb/Research/Theses/figueroa_sam.html;
                 http://www.cs.nyu.edu/csweb/Research/Theses/figueroa_sam.pdf;
                 http://www.cs.nyu.edu/csweb/Research/Theses/figueroa_sam.ps.gz;
                 http://wwwlib.umi.com/dissertations/fullcit/9956669;
                 http://wwwlib.umi.com/dissertations/preview/9956669",
  abstract =     "Processors conforming to the IEEE Standard for
                 Floating-Point Arithmetic have been commonplace for
                 some years, and now several programming languages seem
                 to support or conform to this standard, from hereon
                 referred to as ``the IEEE Standard.'' For example, The
                 Java Language Specification by Gosling, Joy, and
                 Steele, which defines the Java language, frequently
                 mentions the IEEE Standard. Indeed, Java, as do other
                 languages, supports some of the features of the IEEE
                 Standard, including a couple floating-point data
                 formats, and even requires (in section 4.2.4
                 ``Floating-Point Operations'' of the aforementioned
                 book) that ``operators on floating-point numbers behave
                 exactly as specified by IEEE 754.'' Arguing that the
                 support current languages offer is not enough, this
                 thesis establishes clear criteria for what it means to
                 fully support the IEEE Standard in a programming
                 language. Each aspect of the IEEE Standard is examined
                 in detail from the point of view of how various
                 arithmetic engines implement that aspect of the IEEE
                 Standard, how different languages (and implementations
                 thereof) support it, and what the range of options are
                 in supporting that aspect. Practical recommendations
                 are then offered (particularly, but not exclusively,
                 for Ada and Java), taking, for example, programmer
                 convenience and impact on performance into
                 consideration. A detailed model specification following
                 these recommendations is provided for the Ada language.
                 In addition, a variety of issues related to the
                 floating-point aspects of programming languages are
                 discussed, so as to serve as a more complete guide to
                 language designers. One such issue is floating-point
                 expression evaluation schemes, and, more specifically,
                 whether bit-for-bit identical results are actually
                 achievable on a variety of platforms that conform to
                 the IEEE Standard, as the Java language promises.
                 Closely tied to this issue is that of double rounding,
                 which occurs when a (possibly intermediate) result is
                 rounded more than once before subsequent use or before
                 being delivered to its final destination. So this
                 thesis discusses when double rounding makes a
                 difference, how it can be avoided, and what the
                 performance impact is in avoiding it.",
  acknowledgement = ack-nhfb,
  keywords =     "double rounding",
}

@Article{Fitzgerald:2000:MOC,
  author =       "Robert Fitzgerald and Todd B. Knoblock and Erik Ruf
                 and Bjarne Steensgaard and David Tarditi",
  title =        "{Marmot}: an optimizing compiler for {Java}",
  journal =      j-SPE,
  volume =       "30",
  number =       "3",
  pages =        "199--232",
  month =        mar,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:45:15 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/71001774/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=71001774&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Book{Flanagan:2000:JEC,
  author =       "David Flanagan and Richard Monson-Haefel and Jason
                 Hunter and Scott Oaks and Jim Farley",
  title =        "The {Java} enterprise {CD} bookshelf",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 604",
  year =         "2000",
  ISBN =         "1-56592-850-4 (set), 1-56592-483-5 (book)",
  ISBN-13 =      "978-1-56592-850-3 (set), 978-1-56592-483-3 (book)",
  LCCN =         "QA76.73.J38 J366 1999",
  bibdate =      "Thu Oct 31 17:53:51 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Title from disc label Bonus book has title: Java
                 Enterprise in a nutshell : a desktop quick reference /
                 David Flanagan \ldots{} [et al.]. 1999 Contents: Java
                 enterprise in a nutshell -- Java in a nutshell, 3rd ed.
                 -- Java foundation classes in a nutshell -- Enterprise
                 JavaBeans, 2nd ed. -- Java servlet programming -- Java
                 security -- Java distributed computing",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Flanagan:2000:JEN,
  author =       "David Flanagan",
  title =        "{Java} examples in a nutshell: a tutorial companion to
                 {Java} in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xvi + 566",
  year =         "2000",
  ISBN =         "0-596-00039-1",
  ISBN-13 =      "978-0-596-00039-4",
  LCCN =         "QA76.73.J38 F5518 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "es",
  series =       "Nutshell handbook",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Flanagan:2000:JPL,
  author =       "David Flanagan and Jim Farley and William Crawford and
                 Kris Magnusson",
  title =        "{Java} Professional Library",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  month =        nov,
  year =         "2000",
  ISBN =         "0-596-00107-X",
  ISBN-13 =      "978-0-596-00107-0",
  LCCN =         "????",
  bibdate =      "Mon Jul 30 06:50:24 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/",
  URL =          "http://www.oreilly.com/catalog/9780596001070;
                 http://www.oreilly.com/catalog/javaprolib",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2000:TBR,
  author =       "Cormac Flanagan and Stephen N. Freund",
  title =        "Type-based race detection for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "219--232",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/pldi/349299/p219-flanagan/p219-flanagan.pdf;
                 http://www.acm.org/pubs/citations/proceedings/pldi/349299/p219-flanagan/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Fleury:2000:PJS,
  author =       "Ann E. Fleury",
  title =        "Programming in {Java}: student-constructed rules",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "197--201",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331854",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Java is becoming a popular first programming language
                 for university students. One reason for its popularity
                 is its power as an object-oriented language. This study
                 examined beginning students' understanding of the
                 construction and use of objects in Java. During
                 tape-recorded interviews, students were asked to
                 predict which programs from a collection of similar
                 programs would work according to specification and
                 which would not. This paper will discuss those
                 interviews, including the most common false assumptions
                 or ``student-constructed rules'' invoked by the
                 students and the implications of the interviews for
                 instruction.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Fong:2000:PLM,
  author =       "Philip W. L. Fong and Robert D. Cameron",
  title =        "Proof linking: modular verification of mobile programs
                 in the presence of lazy, dynamic linking",
  journal =      j-TOSEM,
  volume =       "9",
  number =       "4",
  pages =        "379--409",
  month =        oct,
  year =         "2000",
  CODEN =        "ATSMER",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Fri Apr 20 08:21:35 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tosem/2000-9-4/p379-fong/p379-fong.pdf;
                 http://www.acm.org/pubs/citations/journals/tosem/2000-9-4/p379-fong/",
  abstract =     "Although mobile code systems typically employ
                 link-time code verifiers to protect host computers from
                 potentially malicious code, implementation flaws in the
                 verifiers may still leave the host system vulnerable to
                 attack. Compounding the inherent complexity of the
                 verification algorithms themselves, the need to support
                 lazy, dynamic linking in mobile code systems typically
                 leads to architectures that exhibit strong
                 interdependencies between the loader, the verifier, and
                 the linker. To simplify verifier construction and
                 provide improved assurances of verifier integrity, we
                 propose a modular architecture based on the concept of
                 proof linking. This architecture encapsulates the
                 verification process and removes dependencies between
                 the loader, the verifier, and the linker. We also
                 formally model the process of proof linking and
                 establish properties to which correct implementations
                 must conform. As an example, we instantiate our
                 architecture for the problem of Java bytecode
                 verification and assess the correctness of this
                 instantiation. Finally, we briefly discuss alternative
                 mobile code verification architectures enabled by the
                 proof-linking concept.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  generalterms = "Design; Languages; Security; Verification",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "correctness conditions; dynamic linking; Java; mobile
                 code; modularity; proof linking; safety; verification
                 protocol; virtual machine architecture",
  subject =      "Software --- Software Engineering --- Software/Program
                 Verification (D.2.4): {\bf Correctness proofs};
                 Software --- Software Engineering --- Software/Program
                 Verification (D.2.4): {\bf Formal methods}; Software
                 --- Software Engineering ---
                 Requirements/Specifications (D.2.1); Software ---
                 Programming Languages --- Processors (D.3.4): {\bf
                 Run-time environments}",
}

@Article{Forax:2000:RTP,
  author =       "R{\'e}mi Forax and Gilles Roussel",
  title =        "Recursive Types and Pattern-Matching in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1799",
  pages =        "147--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1799.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1799/17990147.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1799/17990147.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Fox:2000:CAJ,
  author =       "Joshua Fox",
  title =        "Collaborative Applications and the {Java Shared Data
                 Toolkit}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "32, 34--40",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/jsdt.txt;
                 http://www.ddj.com/ftp/2000/2000_02/jsdt.zip",
  abstract =     "The Java Shared Data Toolkit is designed to help you
                 write distributed collaborative applications so that
                 groups of users can work simultaneously on a common
                 task. Additional resources include jsdt.txt (listings)
                 and jsdt.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Fox:2000:ESIa,
  author =       "Geoffrey Fox",
  title =        "Editorial: Special Issue: {ACM 1999 Java Grande
                 Conference}",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "341--342",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<341::AID-CPE509>3.0.CO;2-F",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515722/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515722&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Fox:2000:ESIb,
  author =       "Geoffrey Fox",
  title =        "Editorial: Special Issue: {ACM 1999 Java Grande
                 Conference}",
  journal =      j-CPE,
  volume =       "12",
  number =       "7",
  pages =        "493--494",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:7<493::AID-CPE1509>3.0.CO;2-W",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516216/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516216&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Fox:2000:ESIc,
  author =       "Geoffrey Fox",
  title =        "Editorial: Special Issue: {ACM 1999 Java Grande
                 Conference}",
  journal =      j-CPE,
  volume =       "12",
  number =       "8",
  pages =        "611--612",
  month =        jul,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200007)12:8<611::AID-CPE2509>3.0.CO;2-B",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516225/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516225&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Fox:2000:JQW,
  author =       "Joshua Fox",
  title =        "{Java Q\&A}: So What is {{\tt SO\_KEEPALIVE}}?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "123--126, 128, 130",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/jqa0900.txt;
                 http://www.ddj.com/ftp/2000/2000_09/jqa0900.zip",
  abstract =     "So what is SO\_KEEPALIVE? It's a socket option that's
                 responsible for killing the socket when the remote side
                 is not available. Joshua presents Keep-Alive strategies
                 and implementations for Java. Additional resources
                 include jqa0900.txt (listings) and jqa0900.zip (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Fuentes:2000:TOM,
  author =       "Lidia Fuentes and Jos{\'e}e M. Troya",
  title =        "Towards an open multimedia service framework",
  journal =      j-COMP-SURV,
  volume =       "32",
  number =       "1es",
  month =        mar,
  year =         "2000",
  CODEN =        "CMSVAN",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Thu Jul 26 06:52:17 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Article No. 24",
  URL =          "http://www.acm.org/pubs/citations/journals/surveys/2000-32-1/p24-fuentes/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "compositional frameworks; distributed systems;
                 Java/Web; multimedia services",
  subject =      "Software --- Programming Languages --- Language
                 Constructs and Features (D.3.3): {\bf Frameworks};
                 Information Systems --- Information Interfaces and
                 Presentation --- Multimedia Information Systems
                 (H.5.1); Information Systems --- Information Interfaces
                 and Presentation --- Group and Organization Interfaces
                 (H.5.3): {\bf Web-based interaction}; Software ---
                 Programming Languages --- Language Classifications
                 (D.3.2): {\bf Java}",
}

@Article{Gamess:2000:PTE,
  author =       "Eric Gamess",
  title =        "{plapackJava}: {Towards} an efficient {Java} interface
                 for high performance parallel linear algebra",
  journal =      j-INFO-PROC-LETT,
  volume =       "75",
  number =       "5",
  pages =        "191--197",
  day =          "31",
  month =        oct,
  year =         "2000",
  CODEN =        "IFPLAT",
  ISSN =         "0020-0190 (print), 1872-6119 (electronic)",
  ISSN-L =       "0020-0190",
  bibdate =      "Thu Oct 12 06:44:40 MDT 2000",
  bibsource =    "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/23/20/64/30/26/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/23/20/64/30/26/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Processing Letters",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00200190",
}

@Article{Gaona:2000:RDC,
  author =       "Amparo L{\'o}pez Gaona",
  title =        "The relevance of design in {CS1}",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "2",
  pages =        "53--55",
  month =        jun,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/355354.355374",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:42 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Most of the papers on the experiences in teaching the
                 first object-oriented programming course are biased
                 towards the selection of the best programming language.
                 Sometimes we argue the pros and cons of particular
                 languages (C, C++, Java). My point is that teaching a
                 programming methodology is the most important element
                 for such a course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Garber:2000:NBC,
  author =       "Lee Garber",
  title =        "News Briefs: Companies Power Up Networking; Magnetic
                 {RAM} Research Reaching Critical Stage; {Micro Java} Is
                 a Platform Under Construction; {Lotus} Offers
                 On-the-Fly Translation",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "8",
  pages =        "26--28",
  month =        aug,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon Oct 30 17:20:20 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r8026.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Garti:2000:OMP,
  author =       "Dror Garti and Shem-Tov Cohen and Amnon Barak and Arie
                 Keren and Ricardo Szmit",
  title =        "Object Mobility for Performance Improvements of
                 Parallel {Java} Applications",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1311--1324",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1655",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1655;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1655/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1655/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Gasperoni:2000:MPJ,
  author =       "Franco Gasperoni and Gary Dismukes",
  title =        "Multilanguage Programming on the {JVM}: The {Ada 95}
                 Benefits",
  journal =      j-SIGADA-LETTERS,
  volume =       "20",
  number =       "4",
  pages =        "3--28",
  month =        dec,
  year =         "2000",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:09 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Special Issue: Presentations from SIGAda 2000.",
  URL =          "http://www.acm.org/sigada/ada_letters/dec2000/ada-on-jvm.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
  keywords =     "Java Virtual Machine (JVM)",
}

@Book{Geary:2000:GJV,
  author =       "David Geary",
  title =        "Graphic {Java} 2, Volume 4, {2D API}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Third",
  pages =        "????",
  year =         "2000",
  ISBN =         "0-13-079668-9",
  ISBN-13 =      "978-0-13-079668-4",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:44:33 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
}

@Article{Gelderblom:2000:OCS,
  author =       "J. Helene Gelderblom",
  title =        "{OOPtutor}: a {CBL} system for introductory
                 object-oriented programming",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "2",
  pages =        "35--38",
  month =        jun,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/355354.355368",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:42 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The author developed OOPtutor, a prototype of a system
                 that teaches entry level object-oriented programming in
                 Java. It uses a simple world of dogs to introduce the
                 important object-oriented concepts like objects,
                 classes, methods and inheritance. The prototype was
                 implemented as a set of object-oriented classes that
                 perform general CBL authoring functions. This article
                 gives a brief description of the OOPtutor prototype and
                 its implementation.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gengler:2000:JBM,
  author =       "Barbara Gengler",
  title =        "{JavaScript} ban may happen",
  journal =      j-NETWORK-SECURITY,
  volume =       "2000",
  number =       "1",
  pages =        "4--4",
  month =        jan,
  year =         "2000",
  CODEN =        "NTSCF5",
  DOI =          "https://doi.org/10.1016/S1353-4858(00)86648-9",
  ISSN =         "1353-4858 (print), 1872-9371 (electronic)",
  ISSN-L =       "1353-4858",
  bibdate =      "Mon Dec 4 16:57:49 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/network-security.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1353485800866489",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Security",
  journal-URL =  "https://www.sciencedirect.com/journal/network-security",
}

@Article{Gentleman:2000:JD,
  author =       "Robert Gentleman and Ross Ihaka",
  title =        "{Java} and {Dylan}",
  journal =      j-J-COMPUT-GRAPH-STAT,
  volume =       "9",
  number =       "3",
  pages =        "452--??",
  month =        sep,
  year =         "2000",
  CODEN =        "",
  ISSN =         "1061-8600 (print), 1537-2715 (electronic)",
  ISSN-L =       "1061-8600",
  bibdate =      "Wed Apr 18 10:23:03 MDT 2001",
  bibsource =    "http://www.amstat.org/publications/jcgs/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.amstat.org/publications/jcgs/abstracts00/Gentleman.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Computational and Graphical Statistics",
  journal-URL =  "http://www.tandfonline.com/loi/ucgs20",
}

@Article{Geppert:2000:T,
  author =       "L. Geppert and W. Sweet",
  title =        "Technology 2000",
  journal =      j-IEEE-SPECTRUM,
  volume =       "37",
  number =       "1",
  pages =        "26--31",
  month =        jan,
  year =         "2000",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2000.815435",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "Cryptography; Hardware; Home appliances; Internet;
                 Java; NIST; Open source software; Operating systems;
                 Protection",
}

@Book{Giguere:2000:JME,
  author =       "Eric Giguere",
  title =        "{Java 2} micro edition: professional developer's
                 guide",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxiii + 295",
  year =         "2000",
  ISBN =         "0-471-39065-8 (paperback)",
  ISBN-13 =      "978-0-471-39065-7 (paperback)",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Also available via the World Wide Web (Restricted to
                 NetLibrary subscribers)",
  series =       "Professional developer's guide series",
  acknowledgement = ack-nhfb,
  keywords =     "embedded computer systems -- programming; Java
                 (computer program language)",
}

@Book{Gill:2000:JVJ,
  author =       "Dudley W. Gill",
  title =        "{Java} with {Visual J++}",
  publisher =    pub-CRC,
  address =      pub-CRC:adr,
  pages =        "462",
  year =         "2000",
  ISBN =         "0-8493-2048-8",
  ISBN-13 =      "978-0-8493-2048-4",
  LCCN =         "QA76.73.J38 G56 2000",
  bibdate =      "Thu Jan 18 06:38:52 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$69.95",
  URL =          "http://www.crcpress.com/",
  acknowledgement = ack-nhfb,
}

@Book{Gilorien:2000:DJ,
  author =       "Gilorien",
  title =        "{DHTML} and {JavaScript}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xx + 1142",
  year =         "2000",
  ISBN =         "0-13-086334-3",
  ISBN-13 =      "978-0-13-086334-8",
  LCCN =         "QA76.76.H94 G55 2000",
  bibdate =      "Wed May 8 07:40:44 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "DHTML (document markup language)",
}

@Article{Gilreath:2000:BRJ,
  author =       "William F. Gilreath and Benjamin R. Seyfarth",
  title =        "Book Reviews: {{\em Java Distributed Computing}} is
                 solid but not flawless; {{\em Elements of Network
                 Protocol Design}}: Network protocol textbook is an
                 asset",
  journal =      j-IEEE-CONCURR,
  volume =       "8",
  number =       "2",
  pages =        "86--87",
  month =        apr # "\slash " # jun,
  year =         "2000",
  CODEN =        "IECMFX",
  DOI =          "https://doi.org/10.1109/MCC.2000.846199",
  ISSN =         "1092-3063 (print), 1558-0849 (electronic)",
  ISSN-L =       "1092-3063",
  bibdate =      "Tue Jan 16 11:57:08 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/pd/books/pd2000/pdf/p2086.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Concurrency",
}

@Article{Gilreath:2000:RDP,
  author =       "William Gilreath",
  title =        "Review: {Distributed Programming with Java}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "1",
  number =       "1",
  year =         "2000",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:39:35 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/archives/ds100/ds1bookprint.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Book{Gittleman:2000:OCJ,
  author =       "Art Gittleman",
  title =        "Objects to components with the {Java} platform",
  publisher =    pub-SCOTT-JONES,
  address =      pub-SCOTT-JONES:adr,
  pages =        "xv + 589",
  year =         "2000",
  ISBN =         "1-57676-035-9",
  ISBN-13 =      "978-1-57676-035-2",
  LCCN =         "QA76.73.J38 G583 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Book{Goldstein:2000:HJC,
  author =       "Mitch Goldstein",
  title =        "Hardcore {JFC}: Conquering the {Swing} Architecture",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "356",
  year =         "2000",
  ISBN =         "0-521-66489-6",
  ISBN-13 =      "978-0-521-66489-9",
  LCCN =         "QA76.73.J38 G59 2001",
  bibdate =      "Sat Apr 20 11:07:50 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$42.95",
  acknowledgement = ack-nhfb,
}

@Article{Gontmakher:2000:JCN,
  author =       "Alex Gontmakher and Assaf Schuster",
  title =        "{Java} consistency: nonoperational characterizations
                 for {Java} memory behavior",
  journal =      j-TOCS,
  volume =       "18",
  number =       "4",
  pages =        "333--386",
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2000-18-4/p333-gontmakher/p333-gontmakher.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2000-18-4/p333-gontmakher/",
  abstract =     "The Java Language Specification (JLS) [Gosling et al.
                 1996] provides an operational definition for the
                 consistency of shared variables. The definition remains
                 unchanged in the JLS 2nd edition, currently under peer
                 review, which relies on a specific abstract machine as
                 its underlying model, is very complicated. Several
                 subsequent works have tried to simplify and formalize
                 it. However, these revised definitions are also
                 operational, and thus have failed to highlight the
                 intuition behind the original specification. In this
                 work we provide a complete nonoperational specification
                 for Java and for the JVM, excluding synchronized
                 operations. We provide a simpler definition, in which
                 we clearly distinguish the consistency model that is
                 promised to the programmer from that which should be
                 implemented in the JVM. This distinction, which was
                 implicit in the original definition, is crucial for
                 building the JVM. We find that the programmer model is
                 strictly weaker than that of the JVM, and precisely
                 define their discrepancy. Moreover, our definition is
                 independent of any specific (or even abstract) machine,
                 and can thus be used to verify JVM implementations and
                 compiler optimizations on any platform. Finally, we
                 show the precise range of consistency relaxations
                 obtainable for the Java memory model when a certain
                 compiler optimization-- called {\em prescient stores\/}
                 in JLS--is applicable.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Computer Systems",
  generalterms = "Verification",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Java memory models; multithreading; nonoperational
                 specification",
  subject =      "Hardware --- Memory Structures --- Performance
                 Analysis and Design Aids** (B.3.3): {\bf Formal
                 models**}",
}

@Book{Goodwill:2000:PJJ,
  author =       "James Goodwill",
  title =        "Pure {JSP}, {Java} Server pages",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "vii + 320",
  year =         "2000",
  ISBN =         "0-672-31902-0",
  ISBN-13 =      "978-0-672-31902-0",
  LCCN =         "QA76.73.J38 G664 2000",
  bibdate =      "Thu Jan 18 06:03:48 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Edited by Steve Anglin and Tim Ryan.",
  URL =          "http://www.mcp.com/detail.cfm?item=0672319020",
  acknowledgement = ack-nhfb,
}

@Misc{Gosling:2000:JLR,
  author =       "James Gosling",
  title =        "{JAVA}: a Language for the Real World",
  year =         "2000",
  bibdate =      "Wed Oct 16 05:17:16 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Unpublished invited talk at First Workshop on
                 Industrial Experiences with Systems Software (WIESS
                 2000), October 22, 2000, Paradise Point Resort, San
                 Diego, California, USA",
  URL =          "http://www.usenix.org/publications/library/proceedings/osdi2000/wiess2000/invitedtalks/gosling_html",
  acknowledgement = ack-nhfb,
}

@Book{Gosling:2000:JLS,
  author =       "James Gosling and Bill Joy and Guy L. Steele and Gilad
                 Bracha",
  title =        "The {Java} Language Specification",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxv + 505",
  year =         "2000",
  ISBN =         "0-201-31008-2",
  ISBN-13 =      "978-0-201-31008-5",
  LCCN =         "QA76.73.J38 G68 2000",
  bibdate =      "Tue Feb 20 18:39:03 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/unicode.bib",
  series =       "Java series",
  URL =          "http://java.sun.com/people/jag/",
  abstract =     "The book provides complete, accurate, and detailed
                 coverage of the syntax and semantics of the Java
                 programming language. It describes all aspects of the
                 language, including the semantics of all types,
                 statements, and expressions, as well as threads and
                 binary compatibility.",
  acknowledgement = ack-nhfb,
  keywords =     "java (computer program language)",
  tableofcontents = "1: Introduction \\
                 2: Grammars \\
                 3: Lexical Structure \\
                 4: Types, Values, and Variables \\
                 5: Conversions and Promotions \\
                 6: Names \\
                 7: Packages \\
                 8: Classes \\
                 9: Interfaces \\
                 10: Arrays \\
                 11: Exceptions \\
                 12: Execution \\
                 13: Binary Compatibility \\
                 14: Blocks and Statements \\
                 15: Expressions \\
                 16: Definite Assignment \\
                 17: Threads and Locks \\
                 18: Syntax",
}

@Book{Gosselin:2000:JC,
  author =       "Don Gosselin",
  title =        "{JavaScript}: comprehensive",
  publisher =    pub-COURSE-TECHNOLOGY,
  address =      pub-COURSE-TECHNOLOGY:adr,
  pages =        "xvi + 710 + 46",
  year =         "2000",
  ISBN =         "0-619-01555-1",
  ISBN-13 =      "978-0-619-01555-8",
  LCCN =         "QA76.73.J39 G682 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Web warrior series",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Book{Gottleber:2000:MEH,
  author =       "Timothy T. Gottleber and Timothy N. Trainor",
  title =        "More excellent {HTML} with an introduction to
                 {JavaScript}",
  publisher =    pub-IRWIN-MCGRAW-HILL,
  address =      pub-IRWIN-MCGRAW-HILL:adr,
  pages =        "xxiii + 550",
  year =         "2000",
  ISBN =         "0-07-233745-1, 0-07-233839-3",
  ISBN-13 =      "978-0-07-233745-7, 978-0-07-233839-3",
  LCCN =         "QA76.76.H94G69 2000",
  bibdate =      "Wed May 08 09:01:50 2002",
  bibsource =    "ftp://www.math.utah.edu/pub/tex/bib/sgml.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  annote =       "Built to HTML 4.0 specifications. Accompanying CD-ROM
                 includes most of the HTML examples and JavaScripts from
                 the text as well as demo versions of different HTML
                 editors and design tools and other useful ancillary
                 tools.",
  annote2 =      "Disc contents: JavaScripts and HTML examples discussed
                 in the book -- Image collections: Arrows -- Backgrounds
                 -- Bullets -- Icons -- Lines -- Hot links to
                 collections of graphical elements on the Web --
                 Software sampler: HomeSite (HTML editor) -- Cold Fusion
                 (Web application server) -- HotDog Professional Suite
                 5.5 (HTML editing environment) -- MapEdit (imagemap
                 editor) -- Paint Shop Pro (painting and image editor)
                 -- ScriptBuilder (JavaScript development environment)
                 -- CSE HTML Validator (offline HTML validation program)
                 -- Netscape Communicator 4.6 and Internet Explorer 5.0
                 (Internet browsers) --lynx (a non-graphical browser) --
                 WinZip (file compressor) -- CuteFTP (FTP program)",
  keywords =     "HTML (Document markup language); JavaScript (Computer
                 program language)",
}

@Article{Gourley:2000:BWB,
  author =       "Don Gourley and Wei Wu",
  title =        "Building a {Web}-based {Java} Application Server with
                 {Apache JServ}",
  journal =      j-SYS-ADMIN,
  volume =       "9",
  number =       "2",
  pages =        "59--65",
  month =        feb,
  year =         "2000",
  CODEN =        "SYADE7",
  ISSN =         "1061-2688",
  bibdate =      "Sat Mar 11 17:41:34 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.samag.com/",
  abstract =     "The authors describe how to install and configure
                 JServ to provide system developers in your organization
                 with a full-featured, reliable, and scalable platform
                 for developing Web-based server-side applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "Sys admin: the journal for UNIX system
                 administrators",
}

@InProceedings{Govindaraju:2000:RER,
  author =       "Madhusudhan Govindaraju and Aleksander Slominski and
                 Venkatesh Choppella and Randall Bramley and Dennis
                 Gannon",
  title =        "Requirements for and Evaluation of {RMI} Protocols for
                 Scientific Computing",
  crossref =     "ACM:2000:SHP",
  pages =        "76--76",
  year =         "2000",
  bibdate =      "Mon Feb 12 11:57:46 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc2000.org/proceedings/techpapr/papers/pap261.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java Remote Method Invocation (RMI)",
}

@Article{Green:2000:JC,
  author =       "Marcus Green and David Hecksel",
  title =        "{Java} Certification",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InCollection{Griesemer:2000:CJH,
  author =       "Robert Griesemer and Srdjan Mitrovic",
  title =        "A Compiler for the {Java HotSpot} Virtual Machine",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "??--??",
  year =         "2000",
  bibdate =      "Fri Jan 19 06:02:04 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Grissom:2000:PFI,
  author =       "Scott Grissom",
  title =        "A pedagogical framework for introducing {Java I/O} in
                 {CS1}",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "4",
  pages =        "57--59",
  month =        dec,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/369295.369326",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:45 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The role of Java for teaching CS1 has received
                 considerable attention. A common concern of many
                 educators is that the Java I/O paradigm is too
                 challenging for novice programmers and that significant
                 time must be devoted to the subject. This additional
                 time may take away from the traditional CS1 content.
                 Four strategies for teaching Java I/O in CS1 are
                 reviewed herein. Text-based versus GUI-based
                 applications represent the two extremes. Advantages and
                 disadvantages are provided for each approach. A
                 description of preliminary work to develop a Java
                 package that makes implementing GUI applications simple
                 is given, with the objective of preparing students for
                 the eventual transition to the Java AWT.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@InProceedings{Gschwind:2000:BTA,
  author =       "Michael Gschwind and Kemal Ebcio{\u{g}}lu and Erik
                 Altman and Sumedh Sathaye",
  booktitle =    "Conference proceedings of the 2000 International
                 Conference on Supercomputing: Santa Fe, New Mexico, May
                 8--11, 2000 [ICS '00]",
  title =        "Binary translation and architecture convergence issues
                 for {IBM System\slash 390}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  bookpages =    "xi + 509",
  pages =        "336--347",
  year =         "2000",
  DOI =          "https://doi.org/10.1145.335264",
  ISBN =         "1-58113-270-0",
  ISBN-13 =      "978-1-58113-270-0",
  LCCN =         "????",
  bibdate =      "Fri Jul 27 05:22:06 2001",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/supercomputing/335231/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://delivery.acm.org/10.1145/340000/335264/p336-gschwind.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "AS/400; ESA/390; IA-64; Java Virtual Machine (JVM);
                 RS/6000",
}

@Article{Gsoedl:2000:JQC,
  author =       "Jacob Gsoedl",
  title =        "{Java Q\&A}: Can You Implement {COM} Components Using
                 {Java}?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "6",
  pages =        "119--120, 122, 124, 126",
  month =        jun,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:15 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_06/jqa600.txt",
  abstract =     "Can you implement COM components using Java? Yes, and
                 Jacob shows you how. Additional resources include
                 jqa600.txt (listings)",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Gu:2000:EHP,
  author =       "W. Gu and N. A. Burns and M. T. Collins and W. Y. P.
                 Wong",
  title =        "The evolution of a high-performing {Java} virtual
                 machine",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "135--150",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/gu.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{Gupta:2000:OJP,
  author =       "Manish Gupta and Jong-Deok Choi and Michael Hind",
  title =        "Optimizing {Java} Programs in the Presence of
                 Exceptions",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1850",
  pages =        "422--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1850.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1850/18500422.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1850/18500422.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Gupta:2000:TSH,
  author =       "Manish Gupta and Samuel P. Midkiff and Jose E.
                 Moreira",
  title =        "Tutorial {S4}: High Performance Numerical Computing in
                 {Java}: Compiler, Language, and Application Solutions",
  crossref =     "ACM:2000:SHP",
  pages =        "13--13",
  year =         "2000",
  bibdate =      "Sat Feb 10 14:28:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Gurevich:2000:IJC,
  author =       "Yuri Gurevich and Wolfram Schulte and Charles
                 Wallace",
  title =        "Investigating {Java} Concurrency Using Abstract State
                 Machines",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1912",
  pages =        "151--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:08:48 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1912.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1912/19120151.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1912/19120151.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Gutz:2000:SSU,
  author =       "Steven Gutz",
  title =        "Up to Speed with Swing: User Interfaces with {Java}
                 Foundation Classes",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  edition =      "Second",
  pages =        "xxxvi + 536",
  year =         "2000",
  ISBN =         "1-884777-75-9",
  ISBN-13 =      "978-1-884777-75-2",
  LCCN =         "QA76.9.U83 G88 2000",
  bibdate =      "Mon Dec 06 18:27:06 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.manning.com/gutz2",
  acknowledgement = ack-nhfb,
}

@Article{Hadharan:2000:EEP,
  author =       "R. Hadharan and W. K. Ehrlich and D. Cura and P. K.
                 Reeser",
  title =        "End to End Performance Modeling of {Web} Server
                 Architectures",
  journal =      j-SIGMETRICS,
  volume =       "28",
  number =       "2",
  pages =        "57--63",
  month =        sep,
  year =         "2000",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/362883.581258",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Thu Jun 26 11:33:31 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Web server performance in a distributed
                 Object-Oriented (OO) environment is a complex interplay
                 between a variety of factors (e.g., hardware platform,
                 threading model, object scope model, server operating
                 system, network bandwidth, disk file size, caching). In
                 this paper, we present a model-based approach to Web
                 Server performance evaluation in terms of an end-to-end
                 queueing model implemented in a simulation tool. We
                 have applied this model to Active Server Page (ASP) and
                 Common Object Model (COM) technology in Microsoft's
                 Internet Information Server and to the Java Server Page
                 (JSP) and JavaBean technology in both IIS and Netscape
                 Enterprise Server (NES). Our results indicate that for
                 the ASP Script Engine, performance predictions from the
                 simulation model matched the performance observed in a
                 test environment. However, for the JSP Script Engine,
                 the model predicted higher throughput than laboratory
                 test results at high load. This result suggests that
                 Web Server performance can be severely limited by a
                 software bottleneck that causes requests to be
                 serialized. This may cause a request to wait for some
                 resource (i.e., a lock) as opposed to consuming CPU or
                 memory. Implications of these results for Web Server
                 performance in general are discussed",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
}

@Article{Hagan:2000:UBT,
  author =       "Dianne Hagan",
  title =        "Using {BlueJ} to teach {Java} (poster session)",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "3",
  pages =        "188--189",
  month =        sep,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/353519.343216",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:43 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Haggar:2000:PJP,
  author =       "Peter Haggar",
  title =        "Practical {Java}: programming language guide",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxx + 279",
  year =         "2000",
  ISBN =         "0-201-61646-7",
  ISBN-13 =      "978-0-201-61646-0",
  LCCN =         "QA76.73.J38 H34 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Addison-Wesley professional computing series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Hall:2000:CSJ,
  author =       "Marty Hall",
  title =        "Core Servlets and {JavaServer} Pages",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxvii + 575",
  year =         "2000",
  ISBN =         "0-13-089340-4",
  ISBN-13 =      "978-0-13-089340-6",
  LCCN =         "QA76.73.J38 H345 2000",
  bibdate =      "Thu Jan 18 06:04:22 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$42.99",
  URL =          "http://www.coreservlets.com/;
                 http://www.phptr.com/ptrbooks/ptr_0130893404.html",
  acknowledgement = ack-nhfb,
}

@Book{Halter:2000:EJP,
  author =       "Steven L. Halter and Steven J. Munroe",
  title =        "Enterprise {Java} Performance",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxvii + 402",
  year =         "2000",
  ISBN =         "0-13-017296-0",
  ISBN-13 =      "978-0-13-017296-9",
  LCCN =         "QA76.73.J38 H347 2001",
  bibdate =      "Fri Apr 13 15:33:58 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.java-zone.com/free/bookrevview.asp?content_id=482;
                 http://www.phptr.com/ptrbooks/ptr_0130172960.html;
                 http://www.sun.com/books/catalog/halter/",
  acknowledgement = ack-nhfb,
}

@Book{Hancock:2000:SCP,
  editor =       "Gareth Hancock and {Syngress Media, Inc.}",
  title =        "{Sun} Certification Programmer for {Java 2} Study
                 Guide, Exam 310-025",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xliv + 625",
  year =         "2000",
  ISBN =         "0-07-212370-2, 0-07-212372-9 (set)",
  ISBN-13 =      "978-0-07-212370-8, 978-0-07-212372-2 (set)",
  LCCN =         "QA76.3 .S86 2000",
  bibdate =      "Wed Feb 21 05:53:36 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44",
  acknowledgement = ack-nhfb,
}

@Book{Hansen:2000:KTL,
  author =       "Ole Kristian Hansen and Fredrik Johnsen and Inger
                 Helene Lund",
  title =        "Klient\ldots{} tjener l{\o}sning p{\aa} web, basert
                 p{\aa} {Apache} og {MySQL} ved hjelp av {Java} server
                 programmering: Support system",
  volume =       "222",
  publisher =    "HHE",
  address =      "Rena, Norway",
  pages =        "94--??",
  year =         "2000",
  LCCN =         "????",
  bibdate =      "Wed Jun 25 17:33:07 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Prosjektarbeid / H{\o}gskolen i Hedmark",
  acknowledgement = ack-nhfb,
}

@Article{Hardin:2000:RTS,
  author =       "David Hardin",
  title =        "The Real-Time Specification for {Java}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "78, 80--82, 84",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/rtjava.txt",
  abstract =     "The Real-Time Specification for Java promises to bring
                 the benefits of Java to real-time developers. David
                 examines the requirements and design decisions that led
                 to the Real-Time Specification for Java, and provides
                 practical examples of its use. Additional resources
                 include rtjava.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Hardy:2000:JAG,
  author =       "Vincent J. Hardy",
  title =        "{Java 2D API} graphics",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "xli + 509",
  year =         "2000",
  ISBN =         "0-13-014266-2",
  ISBN-13 =      "978-0-13-014266-5",
  LCCN =         "T385 .H334 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  series =       "Sun Microsystems Press Java series",
  URL =          "http://www.sun.com/books/catalog/hardy/",
  acknowledgement = ack-nhfb,
  keywords =     "computer graphics; Java (computer program language)",
}

@Article{HarEl:2000:JCB,
  author =       "Zvi Har'El and Zvi Rosberg",
  title =        "{Java} Class Broker --- {A} Seamless Bridge from Local
                 to Distributed Programming",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1223--1237",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1651",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1651;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1651/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1651/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Book{Harold:2000:JNP,
  author =       "Elliotte Rusty Harold",
  title =        "{Java} network programming",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxvi + 731",
  year =         "2000",
  ISBN =         "1-56592-870-9",
  ISBN-13 =      "978-1-56592-870-1",
  LCCN =         "QA76.625 .H367 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "computer networks; Java (computer program language)",
}

@Article{Harris:2000:LOO,
  author =       "Jacob Harris and Vivek Sarkar",
  title =        "Lightweight Object-Oriented Shared Variables for
                 Cluster Computing in {Java}",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1238--1259",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1652",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1652;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1652/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1652/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Book{Harrison:2000:DWP,
  author =       "Graham (Graham Paul) Harrison",
  title =        "Dynamic {Web} programming: using {Java}, {JavaScript},
                 and {Informix}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xviii + 995",
  year =         "2000",
  ISBN =         "0-13-086184-7",
  ISBN-13 =      "978-0-13-086184-9",
  LCCN =         "QA76.625.H37 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Informix dynamic server; Internet programming; Java
                 (computer program language); JavaScript (computer
                 program language)",
}

@Article{Harrison:2000:MUD,
  author =       "William Harrison and Charles Barton and Mukund
                 Raghavachari",
  title =        "Mapping {UML} designs to {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "178--187",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p178-harrison/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Hartley:2000:AYM,
  author =       "Stephen J. Hartley",
  title =        "``{Alfonse}, you have a message!''",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "60--64",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331813",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Synchronization of multiple threads in a Java program
                 using the built-in features of the language has serious
                 pitfalls for the programmer, particularly if a thread
                 is interrupted while waiting inside a monitor. These
                 concerns have lead to a movement to avoid Java monitors
                 altogether and use message passing instead. This paper
                 visits the field of concurrent programming to show that
                 replacing all Java monitors with message passing is an
                 overreaction to these problems.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hartman:2000:EBC,
  author =       "John Hartman and Larry Peterson and Andy Bavier and
                 Peter Bigot and Patrick Bridges and Brady Montz and Rob
                 Piltz and Todd Proebsting and Oliver Spatscheck",
  title =        "Experiences building a communication-oriented
                 {JavaOS}",
  journal =      j-SPE,
  volume =       "30",
  number =       "10",
  pages =        "1107--1126",
  month =        aug,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/1097-024X(200008)30:10<1107::AID-SPE331>3.0.CO;2-0",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:46:07 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72510350/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72510350&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Hassler:2000:OFA,
  author =       "Vesna Hassler and Oliver Fodor",
  title =        "{OpenCard Framework} Application Development",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "70, 72, 74--76",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/ocfjava.txt;
                 http://www.ddj.com/ftp/2000/2000_02/ocfjava.zip",
  abstract =     "The Personal Computer/Smart Card Interface (PC/SC) and
                 OpenCard Framework emphasize the interoperability of
                 smartcards and card terminals, and the integration of
                 those card terminals into Microsoft Windows. Additional
                 resources include ocfjava.txt (listings) and
                 ocfjava.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Havelund:2000:MCJ,
  author =       "Klaus Havelund and Thomas Pressburger",
  title =        "Model checking {JAVA} programs using {JAVA
                 PathFinder}",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "2",
  number =       "4",
  pages =        "366--381",
  month =        mar,
  year =         "2000",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s100090050043",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Tue Nov 23 15:01:40 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
}

@Article{Hendrix:2000:DVI,
  author =       "T. Dean Hendrix and James H. {Cross II} and Saeed
                 Maghsoodloo and Matthew L. McKinney",
  title =        "Do visualizations improve program comprehensibility?
                 experiments with control structure diagrams for
                 {Java}",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "382--386",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331890",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Recently, the first in a series of planned
                 comprehension experiments was performed to measure the
                 effect of the control structure diagram (CSD) on
                 program comprehensibility. Upper-division computer
                 science students were asked to respond to questions
                 regarding the structure and execution of a source code
                 module written in Java. Statistical analysis of the
                 data collected from this experiment revealed that the
                 CSD was highly significant in enhancing the subjects'
                 performance in this program comprehension task. The
                 results of this initial experiment along with the
                 planned follow-on experiments promise to shed light on
                 fundamental questions regarding the effect of software
                 visualizations on program comprehensibility.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hennen:2000:OJL,
  author =       "Dennis S. Hennen and Suresh Ramachandran and Sandra A.
                 Mamrak",
  title =        "The {Object-JavaScript} language",
  journal =      j-SPE,
  volume =       "30",
  number =       "14",
  pages =        "1571--1585",
  day =          "25",
  month =        nov,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/1097-024X(20001125)30:14<1571::AID-SPE351>3.0.CO;2-N",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:46:12 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/73001731/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=73001731&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Henry:2000:JQH,
  author =       "Ethan Henry and Ed Lycklama",
  title =        "{Java Q\&A}: How Do You Plug {Java} Memory Leaks?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "115--119, 121",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/jqa220.txt",
  abstract =     "Our authors show what you can do when Java exhibits
                 classic memory leak behavior -- unbounded memory growth
                 leading to poor performance and eventually crashing.
                 Additional resources include jqa220.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Herlihy:2000:TTD,
  author =       "Maurice Herlihy and Michael P. Warres",
  title =        "A tale of two directories: implementing distributed
                 shared objects in {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "7",
  pages =        "555--572",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:7<555::AID-CPE499>3.0.CO;2-O",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516215/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516215&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Heydon:2000:PLJ,
  author =       "Allan Heydon and Marc Najork",
  title =        "Performance limitations of the {Java} core libraries",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "363--373",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<363::AID-CPE479>3.0.CO;2-3",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515723/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515723&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Hirsch:2000:CJI,
  author =       "Michael Hirsch",
  title =        "Comparing {Java} Implementations for {Linux}",
  journal =      j-LINUX-J,
  volume =       "76",
  pages =        "??--??",
  month =        aug,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Sep 21 07:44:13 MDT 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue76/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Book{Holub:2000:CDJ,
  author =       "Allen I. Holub",
  title =        "Compiler Design in {Java}",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "1-55860-560-6",
  ISBN-13 =      "978-1-55860-560-2",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:26:27 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$40",
  acknowledgement = ack-nhfb,
}

@Book{Holub:2000:TJT,
  author =       "Allen Holub",
  title =        "Taming {Java} Threads",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "x + 300",
  year =         "2000",
  ISBN =         "1-893115-10-0",
  ISBN-13 =      "978-1-893115-10-1",
  LCCN =         "QA76.73.J38 H635 2000",
  bibdate =      "Thu Jan 18 06:04:44 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www1.fatbrain.com/asp/bookinfo/bookinfo.asp?theisbn=1893115100&from=NCN454",
  price =        "US\$34.95",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); threads (computer
                 programs)",
}

@Book{Holzner:2000:JBB,
  author =       "Steve Holzner",
  title =        "{Java} Black Book",
  publisher =    pub-CORIOLIS,
  address =      pub-CORIOLIS:adr,
  pages =        "xxxi + 1143",
  year =         "2000",
  ISBN =         "1-57610-531-8",
  ISBN-13 =      "978-1-57610-531-3",
  LCCN =         "QA76.73.J38 H644 2000",
  bibdate =      "Wed Feb 21 05:59:34 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
}

@Article{Horstmann:2000:CCV,
  author =       "Cay S. Horstmann",
  title =        "Counterpoint: {Cobol} versus {Java}",
  journal =      j-IEEE-SOFTWARE,
  volume =       "17",
  number =       "2",
  pages =        "23, 25",
  month =        mar # "\slash " # apr,
  year =         "2000",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Tue Apr 25 08:50:56 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/so/books/so2000/pdf/s2022.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Book{Horstmann:2000:CJV,
  author =       "Cay Horstmann and Gary Cornell",
  title =        "Core {Java} 2, Volume {I}: Fundamentals",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  edition =      "Fifth",
  pages =        "750 (est.)",
  year =         "2000",
  ISBN =         "0-13-089468-0",
  ISBN-13 =      "978-0-13-089468-7",
  LCCN =         "QA76.73.J38 H6753 2001",
  bibdate =      "Thu Dec 14 13:48:13 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130894680.html",
  acknowledgement = ack-nhfb,
}

@Article{Horstmann:2000:PCD,
  author =       "Cay S. Horstmann",
  title =        "Counterpoint: {Cobol} versus {Java}",
  journal =      j-IEEE-SOFTWARE,
  volume =       "17",
  number =       "2",
  pages =        "23, 25",
  month =        mar # "\slash " # apr,
  year =         "2000",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Tue Apr 25 08:50:56 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/so/books/so2000/pdf/s2022.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Horwitz:2000:DRT,
  author =       "Susan Horwitz",
  title =        "Debugging via run-time type checking",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "1",
  pages =        "58",
  month =        jan,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/340855.340960",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:13:50 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Java programmers have the security of knowing that
                 errors like out-of-bounds array indexes or attempts to
                 dereference a null pointer will be detected and
                 reported at run time. C and C++ programmers count on
                 tools like Purify to achieve a similar level of
                 confidence. The run-time checks provided by Purify have
                 proved to be extremely useful to programmers in
                 debugging their programs. Java also provides security
                 via its strong type system. For example: * There are no
                 union types in Java, so it is not possible for a
                 program to write into a field of one type and then
                 access that value via a field of a different type. *
                 Only very restricted kinds of casting are allowed; for
                 example, it is not possible to treat a pointer as if it
                 were an integer or vice versa. * When an object is
                 down-cast to a subtype, a run-time check will be
                 performed to ensure that the actual type of the object
                 is consistent with the cast. However, tools like Purify
                 do not provide similar checks for C/C++ programs. This
                 research involves the design and implementation of a
                 tool to provide new kinds of run-time checks based on
                 type information. That is, the goal of the tool is to
                 help C/C++ programmers find errors in their programs
                 that manifest themselves as bad run-time types, in the
                 same way that Purify helps programmers find errors in
                 their programs that manifest themselves as bad run-time
                 memory accesses. The basic idea is to associate a
                 run-time type with every piece of data. Whenever data
                 is used by some operation, a check is performed to
                 ensure that its run-time type is consistent with the
                 type expected by the operation. For example, when a
                 pointer is dereferenced, its run-time type must be
                 ``pointer'' (not ``int'', ``float'', ``uninitialized'',
                 etc). When an integer multiplication is performed, the
                 operands' run-time types must be ``int'' (not
                 ``pointer'', ``float'', ``uninitialized'', etc).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Hosny:2000:IJB,
  author =       "H. Hosny and O. Khaled and M. E. Fathalla",
  title =        "{ILE}: a {Java}-based environment for {CS} courses",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "3",
  pages =        "152--155",
  month =        sep,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/353519.343152",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:43 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper provides an overview of the Interactive Lab
                 Environment (ILE) project and a report on its current
                 status and future directions. ILE is the framework of a
                 customized interactive lab environment for computing
                 concepts and courseware that we developed for our
                 department using Java. In essence ILE is a
                 well-managed, networked set of resources that offers
                 its users a collection of tools. The most significant
                 of these tools are the flexible routes through an
                 interactive learning environment combining the
                 presentation of course information and notes,
                 executable examples of learning materials, visual tools
                 for presenting new concepts that are otherwise hard to
                 visualize, and a quick means of communication within
                 the academic unit. In addition to the ILE framework
                 itself and a few course material demos, two interactive
                 components were developed and implemented thus far,
                 both of which are visual tools but with differing
                 degrees of abstraction and disclosure.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Houlding:2000:PSC,
  author =       "David Houlding",
  title =        "Publish and Subscribe With {CORBA Web} Events",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "88, 90--93",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/pscorba.txt;
                 http://www.ddj.com/ftp/2000/2000_07/pscorba.zip",
  abstract =     "David examines one approach to delivering
                 publish/subscribe capabilities for web-enabled
                 distributed object systems based on JavaScript clients
                 and CORBA servers. Additional resources include
                 pscorba.txt (listings) and pscorba.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Huisman:2000:JPV,
  author =       "Marieke Huisman and Bart Jacobs",
  title =        "{Java} Program Verification via a {Hoare} Logic with
                 Abrupt Termination",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1783",
  pages =        "284--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:14 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1783.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1783/17830284.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1783/17830284.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Hunt:2000:UPP,
  author =       "John Hunt",
  title =        "The unified process for practitioners: object-oriented
                 design, {UML} and {Java}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xiii + 280",
  year =         "2000",
  ISBN =         "1-85233-275-1",
  ISBN-13 =      "978-1-85233-275-4",
  LCCN =         "QA76.9.O35 H86 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Practitioner series. ISSN: 1439-9245",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 methods (computer science); UML (computer science)",
}

@Book{Hyde:2000:JTP,
  author =       "Paul Hyde",
  title =        "{Java} thread programming",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "iv + 510",
  year =         "2000",
  ISBN =         "0-672-31585-8",
  ISBN-13 =      "978-0-672-31585-5",
  LCCN =         "QA76.73.J38 H93 1999",
  bibdate =      "Wed Feb 21 06:02:14 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Ishizaki:2000:DIE,
  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",
  title =        "Design, implementation, and evaluation of
                 optimizations in a {Java$^{TM}$ Just-In-Time}
                 compiler",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "457--475",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<457::AID-CPE485>3.0.CO;2-0",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515728/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515728&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Ishizaki:2000:SDT,
  author =       "Kazuaki Ishizaki and Motohiro Kawahito and Toshiaki
                 Yasue and Hideaki Komatsu and Toshio Nakatani",
  title =        "A study of devirtualization techniques for a
                 {Java$^{TM}$} {Just-In-Time} compiler",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "294--310",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p294-ishizaki/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Izatt:2000:ATE,
  author =       "Matthew Izatt and Patrick Chan and Tim Brecht",
  title =        "Ajents: towards an environment for parallel,
                 distributed and mobile {Java} applications",
  journal =      j-CPE,
  volume =       "12",
  number =       "8",
  pages =        "667--685",
  month =        jul,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200007)12:8<667::AID-CPE504>3.0.CO;2-U",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516221/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516221&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Jacobs:2000:MBJ,
  author =       "Bart Jacobs and Erik Poll",
  title =        "A Monad for Basic {Java} Semantics",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1816",
  pages =        "150--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:32 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1816.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1816/18160150.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1816/18160150.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jaen-Martinez:2000:JME,
  author =       "Javier Jaen-Martinez",
  title =        "The {Java Management Extensions} ({JMX}): Is Your
                 Cluster Ready for Evolution?",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1341--1353",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1657",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1657;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1657/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1657/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Jarc:2000:ABI,
  author =       "Duane J. Jarc and Michael B. Feldman and Rachelle S.
                 Heller",
  title =        "Assessing the benefits of interactive prediction using
                 {Web}-based algorithm animation courseware",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "377--381",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331889",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This study used educational software-courseware-that
                 contained algorithm animations and data structure
                 visualizations that were implemented with the
                 programming language Java, and were embedded in a
                 collection of World Wide Web pages. The objective of
                 this study was to determine whether the interactive
                 prediction facility provided by this courseware
                 produced a significant learning advantage. Two
                 experiments were conducted. The results indicated that
                 the students who used the interactive version of the
                 courseware spent significantly more time using it than
                 those who used the noninteractive version. Students who
                 used the interactive version scored better on several
                 of the questions that tested the more difficult
                 lessons, but performed more poorly overall. None of the
                 differences were statistically significant.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Jaworski:2000:JSH,
  author =       "Jamie Jaworski and Paul J. Perrone and Venkata S. R.
                 R. Chaganti",
  title =        "{Java} security handbook",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xiv + 534",
  year =         "2000",
  ISBN =         "0-672-31602-1",
  ISBN-13 =      "978-0-672-31602-9",
  LCCN =         "QA76.9.A25 J395 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Also available via the Internet",
  acknowledgement = ack-nhfb,
  keywords =     "computer security; Java (computer program language)",
}

@Article{Jennings:2000:JQC,
  author =       "Mike Jennings",
  title =        "{Java Q\&A}: Can You Write {NT} Services in {Java}?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "3",
  pages =        "113--116, 118",
  month =        mar,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:14 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_03/jqa300.txt;
                 http://www.ddj.com/ftp/2000/2000_03/jqa300.zip",
  abstract =     "A service in Windows NT (or ``daemon'' in UNIX
                 parlance) is a program that runs in the background to
                 do a specific task. Can you write NT services in Java?
                 Sure, and Mike shows you how. Additional resources
                 include jqa300.txt (listings) and jqa300.zip (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Jennings:2000:JQH,
  author =       "Mike Jennings",
  title =        "{Java Q\&A}: How Do {I} Establish a Net Connection?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "141--142, 144--147",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/jqa0011.txt;
                 http://www.ddj.com/ftp/2000/2000_11/jqa0011.zip",
  abstract =     "How can you establish a network connection using Java?
                 Mike shows how. Additional resources include
                 jqa0011.txt (listings) and jqa0011.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Jia:2000:OOS,
  author =       "Xiaoping Jia",
  title =        "Object-oriented software development using {Java}:
                 principles, patterns, and frameworks",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvi + 507",
  year =         "2000",
  ISBN =         "0-201-35084-X",
  ISBN-13 =      "978-0-201-35084-5",
  LCCN =         "QA76.64.J53 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer software -- development; Java (computer
                 program language); object-oriented programming
                 (computer science)",
}

@Article{Johnson:2000:DSC,
  author =       "Steve Johnson",
  title =        "A Dynamic Select Component for {JavaScript}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "1",
  pages =        "36, 38--42",
  month =        jan,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_01/dselect.txt;
                 http://www.ddj.com/ftp/2000/2000_01/dselect.zip",
  abstract =     "Designing a GUI component in JavaScript is different
                 than developing a custom widget in more traditional
                 object-oriented environments. Steve shows you how to do
                 it. Additional resources include dselect.txt (listings)
                 and dselect.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Johnson:2000:SFP,
  author =       "Verlyn Johnson",
  title =        "The {San} {Francisco} project: business process
                 components and infrastructure",
  journal =      j-COMP-SURV,
  volume =       "32",
  number =       "1es",
  month =        mar,
  year =         "2000",
  CODEN =        "CMSVAN",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Thu Jul 26 06:52:17 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Article No. 25",
  URL =          "http://www.acm.org/pubs/citations/journals/surveys/2000-32-1/p25-johnson/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "application domain; business process components;
                 design patterns; distributed object infrastructure;
                 frameworks; Java; object oriented application
                 development",
  subject =      "Software --- Software Engineering (D.2); Software ---
                 Programming Languages --- Language Constructs and
                 Features (D.3.3): {\bf Frameworks}; Software ---
                 Software Engineering --- Reusable Software (D.2.13);
                 Software --- Programming Techniques --- Object-oriented
                 Programming (D.1.5); Software --- Programming Languages
                 --- Language Classifications (D.3.2): {\bf Java}",
}

@Article{Jones:2000:AJC,
  author =       "Joel Jones and Samuel Kamin",
  title =        "Annotating {Java} class files with virtual registers
                 for performance",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "389--406",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<389::AID-CPE481>3.0.CO;2-6",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515727/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515727&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Book{Jubin:2000:EJE,
  author =       "Henri Jubin and J{\"u}rgen Friedrichs and {the
                 Jalape{\~n}o Team}",
  title =        "Enterprise {JavaBeans} by Example",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xvii + 223",
  year =         "2000",
  ISBN =         "0-13-022475-8",
  ISBN-13 =      "978-0-13-022475-0",
  LCCN =         "QA76.73.J38 J82 2000",
  bibdate =      "Wed Feb 21 06:07:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130224758.html",
  acknowledgement = ack-nhfb,
}

@Article{Juric:2000:JDO,
  author =       "Matjaz B. Juric and Ivan Rozman and Simon Nash",
  title =        "{Java 2} Distributed Object Middleware Performance
                 Analysis and Optimization",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "31--40",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Kafura:2000:OOS,
  author =       "Dennis Kafura",
  title =        "Object-Oriented Software Design and Construction with
                 {Java}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xv + 656",
  year =         "2000",
  ISBN =         "0-13-011264-X",
  ISBN-13 =      "978-0-13-011264-4",
  LCCN =         "QA76.64. K35 2000",
  bibdate =      "Wed Apr 26 17:18:44 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.00",
  URL =          "http://www.phptr.com/ptrbooks/esm_013011264X.html",
  acknowledgement = ack-nhfb,
}

@Book{Kassem:2000:DEA,
  author =       "Nicholas Kassem and {The Enterprise Team}",
  title =        "Designing Enterprise applications with the {Java 2}
                 Platform",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 341",
  year =         "2000",
  ISBN =         "0-201-70277-0",
  ISBN-13 =      "978-0-201-70277-4",
  LCCN =         "QA76.76.A65 K37 2000",
  bibdate =      "Wed Dec 06 07:11:02 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$35.95",
  acknowledgement = ack-nhfb,
  xxtitle =      "Designing Enterprise Applications with the {Java 2
                 Enterprise Edition}",
}

@Article{Kautz:2000:LLI,
  author =       "Frederick Kautz and Dimitrios Souflis and Robert
                 Carbonari and DDJ and Al Gettier and Tina Femia and
                 Andrew D. Todd and Anonymous and Alan Horn and
                 Anonymous and Brad Clawsie and Samuel Pearlman",
  title =        "Letters: The {S} Language; {IP} Security; {Pnuts}
                 Pointer; Flyby; Worker Shortage?; Design by Interface",
  journal =      j-DDJ,
  volume =       "25",
  number =       "4",
  pages =        "10, 12",
  month =        apr,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:14 MST 2000",
  bibsource =    "http://www.ddj.com/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "See \cite{Stevens:2000:CPP}.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Kawahito:2000:ENP,
  author =       "Motohiro Kawahito and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Effective Null Pointer Check Elimination Utilizing
                 Hardware Trap",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "139--149",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "IBM Java Virtual Machine (JVM)",
}

@Article{Kazi:2000:JCS,
  author =       "I. H. Kazi and D. P. Jose and B. Ben-Hamida and C. J.
                 Hescott and C. Kwok and J. A. Konstan and D. J. Lilja
                 and P.-C Yew",
  title =        "{JaViz}: a client\slash server {Java} profiling tool",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "96--117",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/kazi.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{Kazi:2000:TOH,
  author =       "Iffat H. Kazi and Howard H. Chen and Berdenia Stanley
                 and David J. Lilja",
  title =        "Techniques for obtaining high performance in {Java}
                 programs",
  journal =      j-COMP-SURV,
  volume =       "32",
  number =       "3",
  pages =        "213--240",
  year =         "2000",
  CODEN =        "CMSVAN",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Thu Jul 26 06:52:17 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/surveys/2000-32-3/p213-kazi/p213-kazi.pdf;
                 http://www.acm.org/pubs/citations/journals/surveys/2000-32-3/p213-kazi/",
  abstract =     "This survey describes research directions in
                 techniques to improve the performance of programs
                 written in the Java programming language. The standard
                 technique for Java execution is interpretation, which
                 provides for extensive portability of programs. A Java
                 interpreter dynamically executes Java bytecodes, which
                 comprise the instruction set of the Java Virtual
                 Machine (JVM). Execution time performance of Java
                 programs can be improved through compilation, possibly
                 at the expense of portability. Various types of Java
                 compilers have been proposed, including Just-In-Time
                 (JIT) compilers that compile bytecode into native
                 processor instructions on the fly; direct compilers
                 that directly translate the Java source code into the
                 target processor's native language; and
                 bytecode-to-source translators that generate either
                 native code or an intermediate language, such as C,
                 from the bytecodes. Additional techniques, including
                 bytecode optimization, dynamic compilation, and
                 executing Java programs in parallel, attempt to improve
                 Java run-time performance while maintaining Java's
                 portability. Another alternative for executing Java
                 programs is a Java processor that implements the JVM
                 directly in hardware. In this survey, we discuss the
                 basis features, and the advantages and disadvantages,
                 of the various Java execution techniques. We also
                 discuss the various Java benchmarks that are being used
                 by the Java community for performance evaluation of the
                 different techniques. Finally, we conclude with a
                 comparison of the performance of the alternative Java
                 execution techniques based on reported results.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  generalterms = "Languages; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "bytecode-to-source translators; direct compilers;
                 dynamic compilation; interpreters; Java; Java virtual
                 machine; just-in-time compilers",
  subject =      "General Literature --- Introductory and Survey (A.1);
                 Computer Systems Organization --- Performance of
                 Systems (C.4); Software --- Programming Languages
                 (D.3)",
}

@Article{Kim:2000:JBO,
  author =       "Austin Kim and Morris Chang",
  title =        "{Java} Bytecode Optimization with Advanced Instruction
                 Folding Mechanism",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1940",
  pages =        "268--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:17:15 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1940.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1940/19400268.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1940/19400268.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Kim:2000:MSB,
  author =       "Jin-Soo Kim and Yarsun Hsu",
  title =        "Memory system behavior of {Java} programs: methodology
                 and analysis",
  crossref =     "ACM:2000:PAS",
  year =         "2000",
  DOI =          "https://doi.org/10.1145/339331.339422",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  bibdate =      "Tue Oct 24 09:57:49 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper studies the memory system behavior of Java
                 programs by analyzing memory reference traces of
                 several SPECjvm98 applications running with a
                 Just-In-Time (JIT) compiler. Trace information is
                 collected by an exception-based tracing tool called
                 JTRACE, without any instrumentation to the Java
                 programs or the JIT compiler.First, we find that the
                 overall cache miss ratio is increased due to garbage
                 collection, which suffers from higher cache misses
                 compared to the application. We also note that going
                 beyond 2-way cache associativity improves the cache
                 miss ratio marginally. Second, we observe that Java
                 programs generate a substantial amount of short-lived
                 objects. However, the size of frequently-referenced
                 long-lived objects is more important to the cache
                 performance, because it tends to determine the
                 application's working set size. Finally, we note that
                 the default heap configuration which starts from a
                 small initial heap size is very inefficient since it
                 invokes a garbage collector frequently. Although the
                 direct costs of garbage collection decrease as we
                 increase the available heap size, there exists an
                 optimal heap size which minimizes the total execution
                 time due to the interaction with the virtual memory
                 performance.",
  acknowledgement = ack-nhfb,
}

@Book{King:2000:JP,
  author =       "K. N. (Kim N.) King",
  title =        "{Java} Programming",
  publisher =    pub-NORTON,
  address =      pub-NORTON:adr,
  pages =        "xxiii + 788",
  year =         "2000",
  ISBN =         "0-393-97437-5",
  ISBN-13 =      "978-0-393-97437-9",
  LCCN =         "QA76.73.J38 K56 2000",
  bibdate =      "Wed Feb 21 06:11:16 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$40",
  acknowledgement = ack-nhfb,
}

@Article{Kistler:2000:ADM,
  author =       "Thomas Kistler and Michael Franz",
  title =        "Automated data-member layout of heap objects to
                 improve memory-hierarchy performance",
  journal =      j-TOPLAS,
  volume =       "22",
  number =       "3",
  pages =        "490--505",
  year =         "2000",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Apr 17 10:05:24 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/toplas/2000-22-3/p490-kistler/p490-kistler.pdf;
                 http://www.acm.org/pubs/citations/journals/toplas/2000-22-3/p490-kistler/",
  abstract =     "We present and evaluate a simple, yet efficient
                 optimization technique that improves memory-hierarchy
                 performance for pointer-centric applications by up to
                 24\% and reduces cache misses by up to 35\%. This is
                 achieved by selecting an improved ordering for the data
                 members of pointer-based data structures. Our
                 optimization is applicable to all type-safe programming
                 languages that completely abstract from physical
                 storage layout; examples of such languages are Java and
                 Oberon. Our technique does not involve programmers in
                 the optimization process, but runs fully automatically,
                 guided by dynamic profiling information that captures
                 which paths through the program are taken with that
                 frequency. The algorithm first strives to cluster data
                 members that are accessed closely after one another
                 onto the same cache line, increasing spatial locality.
                 Then, the data members that have been mapped to a
                 particular cache line are ordered to minimize load
                 latency in case of a cache miss.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  generalterms = "Algorithms; Languages; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "dynamic data structures; dynamic optimization;
                 memory-hierarchy optimization",
  subject =      "Software --- Programming Languages --- Processors
                 (D.3.4): {\bf Optimization}; Software --- Programming
                 Languages --- Processors (D.3.4): {\bf Run-time
                 environments}",
}

@Article{Koch:2000:AFG,
  author =       "Michael Koch and J{\"u}rgen Koch",
  title =        "Application of frameworks in groupware --- the {Iris}
                 group editor environment",
  journal =      j-COMP-SURV,
  volume =       "32",
  number =       "1es",
  month =        mar,
  year =         "2000",
  CODEN =        "CMSVAN",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Thu Jul 26 06:52:17 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/surveys/2000-32-1/p28-koch/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  generalterms = "Design; Human Factors; Languages",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "group editors; Iris; Java",
  subject =      "Software --- Programming Techniques ---
                 Object-oriented Programming (D.1.5); Software ---
                 Programming Languages --- Language Constructs and
                 Features (D.3.3): {\bf Frameworks}; Information Systems
                 --- Information Systems Applications --- Office
                 Automation (H.4.1): {\bf Groupware}; Software ---
                 Software Engineering --- Design Tools and Techniques
                 (D.2.2): {\bf IRIS}; Software --- Programming Languages
                 --- Language Classifications (D.3.2): {\bf Java}",
}

@Article{Kolling:2000:OFJ,
  author =       "Michael K{\"o}lling and John Rosenberg",
  title =        "Objects first with {Java} and {BlueJ} (seminar
                 session)",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "429",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331912",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Object-oriented languages have been taught for some
                 time at universities. The most common approach has been
                 to teach those constructs required for imperative
                 programming first and to introduce the notion of
                 classes and objects somewhat later in the course. More
                 recently, many educators have been promoting the notion
                 of teaching about classes and objects first. This helps
                 students to adopt the object-oriented paradigm at an
                 early stage and encourages them to focus on the
                 application structure before beginning coding. Most new
                 textbooks have followed such an approach. While this
                 method has clear advantages, it is not easy to realise
                 in practice. This is partly a result of the languages
                 used for teaching. However, we would argue that the
                 major difficulty comes from the lack of program
                 development environments and tools which themselves
                 fully embrace the object-oriented paradigm. The use of
                 Java as the language for teaching addresses some of the
                 problems. Java with its clean support for the
                 object-oriented paradigm is now widely regarded as a
                 suitable choice for introductory teaching. The choice
                 of environment, however, remains an issue. The view of
                 the development environment as a major difficulty in
                 Java courses is further supported by numerous reports
                 of educators relating their experiences with teaching
                 introductory Java courses. While Java was consistently
                 described as an excellent language for teaching the
                 object-oriented paradigm, the environments available
                 are regularly identified as a significant source of
                 problems. These may be divided into two areas: The
                 environments are designed for professional programmers.
                 They are too complex and have a steep learning curve.
                 Thus valuable teaching time is spent teaching the
                 students how to use the environment and this detracts
                 from the principles of programming. Most of the
                 existing environments fail to fully adopt the
                 object-oriented paradigm. Users of the environment must
                 deal with files, lines of code and directory
                 hierarchies rather than classes, objects and
                 relationships. In this seminar we will argue the case
                 that the requirements for teaching the object-oriented
                 paradigm and Java can only be satisfied by the
                 provision of a program development environment
                 specifically designed for teaching. We will introduce
                 BlueJ, a relatively new development environment which
                 addresses all of these issues. We will show how the
                 unique features of this environment can be used to
                 create an introductory Java course that fully embraces
                 the ``object first'' approach and supports the
                 presentation of a cleaner picture of the paradigm than
                 previously possible. BlueJ is based heavily on earlier
                 work by us on a language and environment called Blue.
                 BlueJ is a complete Java development environment,
                 written entirely in Java. It provides graphical support
                 for object-oriented design, abstracts over files and
                 the operating system and provides fully integrated
                 support for a design, edit, compile and test cycle. In
                 addition, BlueJ supports interactive creation of
                 objects and interactive calling of methods of objects.
                 This provides support for incremental development, one
                 of the major advantages of object-orientation. It
                 includes an easy-to-use debugger and support for
                 applications and applets. One of the main differences
                 between BlueJ and other environments is its distinct
                 focus on a teaching context. It combines powerful tools
                 with an easy-to-use interface, avoiding the complexity
                 that creates so many problems when using existing
                 environments in a classroom. BlueJ has been used very
                 successfully for two semesters as Monash University.
                 The presentation will provide the context in which the
                 BlueJ project has been developed. We will discuss the
                 design principles for BlueJ, the major aims of the
                 project and our experiences with using it in class. A
                 demonstration of the current version of BlueJ will be
                 given. We will also demonstrate a set of examples and
                 problems which can be used in a first Java course and
                 show how the course structure can be improved and
                 support teaching ``objects first'' with the
                 availability of an environment that fully supports the
                 paradigm. BlueJ is available free of charge and can be
                 used by any interested institution. Details of how to
                 obtain a copy of BlueJ will be provided at the
                 seminar.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kroeker:2000:PCL,
  author =       "Kirk L. Kroeker",
  title =        "Products: Controlling the Look and Feel of {Windows};
                 Sophisticated Project Estimation for \$99; {Web}
                 Applications for the {Internet}-challenged;
                 Network-based Digital Asset Manager; {Linux} Middleware
                 Framework; {XML}-based Information Portal; {Java}
                 Development for Small Computing Devices; Build
                 Installations for {Windows 2000}",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "3",
  pages =        "105--107",
  month =        mar,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon Oct 30 19:18:20 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r3105.pdf;
                 http://www.stardock.net/",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
  keywords =     "Stardock WindowBlinds",
}

@Article{Kroeker:2000:PEN,
  author =       "Kirk L. Kroeker",
  title =        "Products: {Enterasys Networks}' {E}-commerce Access
                 Platforms; {Tascom Software}'s {ASP} Editor; {Vital}'s
                 Text Editor for Program Development; {RapidStream}'s
                 Security Appliance; {Kemma Software}'s Help Desk
                 Software; {Telelogic}'s Real-Time {UML} Profiling
                 Software; {ParaSoft} Extends Product Support to
                 {Windows 2000}; {Spyglass}' Interactive {TV} Software;
                 {Metrowerks} Releases {CodeWarrior} with {PersonalJava}
                 Support",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "6",
  pages =        "96--98",
  month =        jun,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon Oct 30 17:20:19 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r6096.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Kumar:2000:SAM,
  author =       "Bharath M. Kumar and R. Lakshminarayanan and Y. N.
                 Srikant",
  title =        "A study of automatic migration of programs across the
                 {Java} event models",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "3",
  pages =        "24--29",
  month =        may,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/505863.505870",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:13:57 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Evolution of a framework forces a change in the design
                 of an application, which is based on the framework. The
                 same is the case when the Java event model changed from
                 the Inheritance model to the Event Delegation model. We
                 summarize our experiences when attempting an automatic
                 and elegant migration across the event models. Further,
                 we also necessitate the need for extra documentation in
                 patterns that will help programs evolve better.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Lambert:2000:JCC,
  author =       "Kenneth (Kenneth A.) Lambert and Martin Osborne",
  title =        "{Java}: complete course in programming and problem
                 solving",
  publisher =    "South-Western Educational Publishers",
  address =      "Cincinnati, OH, USA",
  pages =        "x + 468",
  year =         "2000",
  ISBN =         "0-538-68707-X (hardbound), 0-538-68711-8 (softcover)",
  ISBN-13 =      "978-0-538-68707-2 (hardbound), 978-0-538-68711-9
                 (softcover)",
  LCCN =         "QA76.73.J38 L355 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Lambert:2000:JFP,
  author =       "Kenneth Alfred Lambert and Martin Osborne",
  title =        "{Java}: a framework for program design and data
                 structures",
  publisher =    pub-BROOKS-COLE,
  address =      pub-BROOKS-COLE:adr,
  pages =        "xxii + 677",
  year =         "2000",
  ISBN =         "0-534-36691-0",
  ISBN-13 =      "978-0-534-36691-9",
  LCCN =         "QA76.73.J38 L25 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Langr:2000:EJS,
  author =       "Jeff Langr",
  title =        "Essential {Java} style: patterns for implementation",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxi + 277",
  year =         "2000",
  ISBN =         "0-13-085086-1",
  ISBN-13 =      "978-0-13-085086-7",
  LCCN =         "QA76.13.J38 L357 2000",
  bibdate =      "Tue Mar 12 08:04:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Book{Larman:2000:JPI,
  author =       "Craig Larman and Rhett Guthrie",
  title =        "{Java 2} Performance and Idiom Guide",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xvii + 299",
  year =         "2000",
  ISBN =         "0-13-014260-3",
  ISBN-13 =      "978-0-13-014260-3",
  LCCN =         "QA76.73.J38 L359 2000",
  bibdate =      "Sat Mar 11 15:57:07 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130142603.html",
  acknowledgement = ack-nhfb,
}

@Article{Laufer:2000:SSC,
  author =       "Konstantin L{\"a}ufer and Gerald Baumgartner and
                 Vincent F. Russo",
  title =        "Safe Structural Conformance for {Java}",
  journal =      j-COMP-J,
  volume =       "43",
  number =       "6",
  pages =        "469--481",
  month =        "????",
  year =         "2000",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 6 08:20:58 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_43/Issue_06/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_43/Issue_06/430469.sgm.abs.html;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_43/Issue_06/pdf/430469.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Book{Lea:2000:CPJ,
  author =       "Douglas Lea",
  title =        "Concurrent programming in {Java} design principles and
                 patterns",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "ix + 411",
  year =         "2000",
  ISBN =         "0-201-31009-0",
  ISBN-13 =      "978-0-201-31009-2",
  LCCN =         "QA76.73.J38 L4 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); parallel programming
                 (computer science)",
}

@Article{Lear:2000:NBY,
  author =       "Anne C. Lear",
  title =        "News Briefs: {Y2K} Rollover: Few Problems, Many
                 Questions; {Sun} Withdraws {Java} from Standards
                 Process; Wireless Net has More Potential than
                 Substance",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "2",
  pages =        "22--24",
  month =        feb,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Sat Mar 11 09:52:58 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r2022.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Book{Lee:2000:JAT,
  author =       "Rosanna Lee and Scott Seligman",
  title =        "{JNDI API} tutorial and reference: building
                 directory-enabled {Java} applications",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiii + 821",
  year =         "2000",
  ISBN =         "0-201-70502-8",
  ISBN-13 =      "978-0-201-70502-7",
  LCCN =         "QA76.76.A63 L44 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "application program interfaces (computer software);
                 directory services (computer network technology); Java
                 (computer program language); JNDI",
}

@Article{Lee:2000:RVC,
  author =       "Junpyo Lee and Byung-Sun Yang and Suhyun Kim and Kemal
                 Ebcio{\u{g}}lu and Erik Altman and Seungil Lee and Yoo
                 C. Chung and Heungbok Lee and Je Hyung Lee and Soo-Mook
                 Moon",
  title =        "Reducing virtual call overheads in a {Java VM}
                 just-in-time compiler",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "28",
  number =       "1",
  pages =        "21--33",
  month =        mar,
  year =         "2000",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:40:36 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@TechReport{Lewis:2000:APH,
  author =       "Brian T. Lewis and Bernd Mathiske and Neal M. Gafter",
  title =        "Architecture of the {PEVM}: a high-performance
                 orthogonally persistent {Java Virtual Machine}",
  number =       "2000-93",
  institution =  "Sun Microsystems",
  address =      "Palo Alto, CA, USA",
  pages =        "19",
  month =        oct,
  year =         "2000",
  LCCN =         "QA76.8.S86.S65",
  bibdate =      "Mon Apr 10 10:43:19 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 library.mit.edu:9909/mit01",
  series =       "SMLI TR",
  abstract =     "This paper describes the design and implementation of
                 the PEVM, a new scalable, high-performance
                 implementation of orthogonal persistence for the Java
                 platform (OPJ). The PEVM is based on the Sun
                 Microsystems Laboratories Virtual Machine for Research
                 (ResearchVM), which features an optimizing Just-In-Time
                 compiler, exact generational garbage collection, and
                 fast thread synchronization. It also uses a new,
                 scalable persistent object store designed to manage
                 more than 80GB of objects. The PEVM is approximately
                 ten times faster than previous OPJ implementations and
                 can run significantly larger programs. It is faster
                 than or comparable in performance to several commercial
                 persistence solutions for the Java platform. Despite
                 the PEVM's speed and scalability, its implementation is
                 simpler than our previous OPJ implementation (e.g.,
                 just 43\% of the VM source patches needed by our
                 previous OPJ implementation). Its speed and simplicity
                 are largely due to our pointer swizzling strategy, the
                 ResearchVM's exact memory management, and a few simple
                 but effective mechanisms. For example, we implement
                 some key data structures in the Java programming
                 language since this automatically makes them
                 persistent.",
  acknowledgement = ack-nhfb,
  subject =      "Operating systems (Computers); Java (Computer program
                 language); Computer architecture",
}

@Book{Lewis:2000:CEJ,
  author =       "Kevin Lewis",
  title =        "Creating Effective {JavaHelp}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 171",
  year =         "2000",
  ISBN =         "1-56592-719-2",
  ISBN-13 =      "978-1-56592-719-3",
  LCCN =         "QA76.73.J38 L495 2000",
  bibdate =      "Wed Feb 21 06:12:28 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$30",
  acknowledgement = ack-nhfb,
}

@Book{Lewis:2000:JSS,
  author =       "John Lewis and William Loftus",
  title =        "{Java} software solutions: foundations of program
                 design",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxviii + 780",
  year =         "2000",
  ISBN =         "0-201-61271-2",
  ISBN-13 =      "978-0-201-61271-4",
  LCCN =         "QA76.73.J38 L49 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Book{Lewis:2000:MPJ,
  author =       "Bil Lewis and Daniel J. Berg",
  title =        "Multithreaded Programming with {Java} Technology",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "xxv + 461",
  year =         "2000",
  ISBN =         "0-13-017007-0",
  ISBN-13 =      "978-0-13-017007-1",
  LCCN =         "QA76.73.J38 L488 2000",
  bibdate =      "Fri Apr 11 15:58:52 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.99",
  series =       "Sun BluePrints Program",
  URL =          "http://www.sun.com/books/catalog/lewis3/index.html",
  acknowledgement = ack-nhfb,
}

@InProceedings{Li:2000:UCS,
  author =       "Tao Li and Lizy Kurian John and Vijaykrishnan
                 Narayanan and Anand Sivasubramaniam and Jyotsna
                 Sabarinathan and Anupama Murthy",
  title =        "Using complete system simulation to characterize
                 {SPECjvm98} benchmarks",
  crossref =     "ACM:2000:CPI",
  pages =        "22--33",
  year =         "2000",
  DOI =          "https://doi.org/10.1145/335231.335234",
  bibdate =      "Tue Oct 24 10:02:36 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Complete system simulation to understand the influence
                 of architecture and operating systems on application
                 execution has been identified to be crucial for systems
                 design. While there have been previous attempts at
                 understanding the architectural impact of Java
                 programs, there has been no prior work investigating
                 the operating system (kernel) activity during their
                 executions. This problem is particularly interesting in
                 the context of Java since it is not only the
                 application that can invoke kernel services, but so
                 does the underlying Java Virtual Machine (JVM)
                 implementation which runs these programs. Further, the
                 JVM style (JIT compiler or interpreter) and the manner
                 in which the different JVM components (such as the
                 garbage collector and class loader) are exercised, can
                 have a significant impact on the kernel activities.To
                 investigate these issues, this research uses complete
                 system simulation of the SPECjvm98 benchmarks on the
                 SimOS simulation platform. The execution of these
                 benchmarks on both JIT compilers and interpreters is
                 profiled in detail, to identify and quantify where time
                 is spent in each component. The kernel activity of
                 SPECjvm98 applications constitutes up to 17\% of the
                 execution time in the large dataset and up to 31\% in
                 the small dataset. The average kernel activity in the
                 large dataset is approximately 10\%, in comparison to
                 around 2\% in four SPECInt benchmarks studied. Of the
                 kernel services, TLB miss handling is the most dominant
                 in all applications. The TLB miss rates in the JIT
                 compiler, dynamic class loader and garbage collector
                 portions of the JVM are individually analyzed. In
                 addition to such execution profiles, the ILP in the
                 user and kernel mode are also quantified. The Java code
                 is seen to limit exploitable parallelism and aggressive
                 instruction issue is seen to be less efficient for
                 SPECjvm98 benchmarks in comparison to SPEC95 programs.
                 Also, the kernel mode of execution does not exhibit as
                 much ILP as the user mode.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Li:2000:WGW,
  author =       "M. Li and O. F. Rana and M. S. Shields and D. W.
                 Walker",
  title =        "A Wrapper Generator for Wrapping High Performance
                 Legacy Codes as {Java\slash CORBA} Components",
  crossref =     "ACM:2000:SHP",
  pages =        "51--51",
  year =         "2000",
  bibdate =      "Mon Feb 12 11:57:42 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc2000.org/proceedings/techpapr/papers/pap135.pdf",
  acknowledgement = ack-nhfb,
}

@Book{Liang:2000:IJPa,
  author =       "Y. Daniel Liang",
  title =        "Introduction to {Java} Programming with {JBuilder 3}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxvi + 771",
  year =         "2000",
  ISBN =         "0-13-086911-2",
  ISBN-13 =      "978-0-13-086911-1",
  LCCN =         "A76.73.J38 L53 2000",
  bibdate =      "Wed Feb 21 06:13:05 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$65.00",
  URL =          "http://www.phptr.com/ptrbooks/esm_0130869112.html",
  acknowledgement = ack-nhfb,
}

@Book{Liang:2000:IJPb,
  author =       "Y. Daniel Liang",
  title =        "Introduction to {Java} Programming with {Microsoft
                 Visual J++ 6.0}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxviii + 752",
  year =         "2000",
  ISBN =         "0-13-086912-0",
  ISBN-13 =      "978-0-13-086912-8",
  LCCN =         "QA76.73.J38 L532 2000",
  bibdate =      "Thu Jan 18 06:05:18 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$65.00",
  acknowledgement = ack-nhfb,
}

@Book{Liang:2000:RJA,
  author =       "Y. Daniel Liang",
  title =        "Rapid {Java} Application Development Using {JBuilder
                 3}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxii + 727",
  year =         "2000",
  ISBN =         "0-13-026161-0",
  ISBN-13 =      "978-0-13-026161-8",
  LCCN =         "A76.73.J38 L534 2000",
  bibdate =      "Wed Feb 21 06:14:29 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$53",
  acknowledgement = ack-nhfb,
}

@Book{Lindley:2000:DAJ,
  author =       "Craig A. Lindley",
  title =        "Digital audio with {Java}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xl + 380",
  year =         "2000",
  ISBN =         "0-13-087676-3",
  ISBN-13 =      "978-0-13-087676-8",
  LCCN =         "TK7881.4 .L5415 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM with two complete audio applications,
                 complete library of JavaBeans user interface controls,
                 and twelve audio processing effects.",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); real-time data
                 processing; sound -- recording and reproducing --
                 digital techniques",
}

@Book{Liskov:2000:PDJ,
  author =       "B. Liskov and John Guttag",
  title =        "Program development in {Java}: abstraction,
                 specification, and object-oriented design",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xix + 443",
  year =         "2000",
  ISBN =         "0-201-65768-6",
  ISBN-13 =      "978-0-201-65768-5",
  LCCN =         "QA76.73.J38 L58 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Book{Litwak:2000:PJ,
  author =       "Kenneth Litwak",
  title =        "Pure {Java 2}",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xxii + 790",
  year =         "2000",
  ISBN =         "0-672-31654-4",
  ISBN-13 =      "978-0-672-31654-8",
  LCCN =         "QA76.73.J38 L59 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Lujan:2000:OOO,
  author =       "Mikel Luj{\'a}n and T. L. Freeman and John R. Gurd",
  title =        "{OoLALA}: an object oriented analysis and design of
                 numerical linear algebra",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "229--252",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p229-lujan/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Fortran BLAS; Java",
}

@Article{Lutz:2000:NBM,
  author =       "Michael J. Lutz",
  title =        "New Books: Masters of Technology or Slaves to the
                 {E}-Grind?; Managing Apples and Oranges; Descrambling
                 Data on the Web; Designing System Networks; Fixing
                 Things Before Things Fall Apart; {Java 2} Guidelines",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "2",
  pages =        "119--119",
  month =        feb,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Sat Mar 11 09:52:58 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes short review of \cite{Larman:1999:JPI}.",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r2119.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Lyon:2000:LWS,
  author =       "Douglas Lyon and Roger T. Alexander and James M.
                 Bieman and John Viega and Bruce D. Wilner and Roger T.
                 Alexander and James M. Bieman and John Viega and Derek
                 B. Eckert and Ted Lewis and Howard C. Anderson and
                 Thomas M. English and Timothy C. Lethbridge",
  title =        "Letters: We Shape Our Tools and Our Tools Shape Us;
                 {Java} Design Flaws Create Programming Stress; Funny
                 Money's Role in the Government's Favorite Hobby;
                 Rigorous Training Teaches Students How to Think",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "7",
  pages =        "4--7",
  month =        jul,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon Oct 30 17:20:19 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r7004.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Ma:2000:JJE,
  author =       "Matchy J. M. Ma and Cho-Li Wang and Francis C. M.
                 Lau",
  title =        "{JESSICA}: {Java}-Enabled Single-System-Image
                 Computing Architecture",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1194--1222",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1650",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1650;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1650/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1650/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Machover:2000:NPH,
  author =       "Carl Machover and John Dill",
  title =        "New Products: Hardware: Modeling System for Office
                 Environment; Smart Fabric Control Surface Support; Head
                 Tracker Enables {VR}; Programmable {$3$D\slash $2$D}
                 Input Device; Digital Projectors; Portable {$3$D} Scene
                 Digitizer; Slim-Line Panel {PC}. Software: Visual
                 Effects Upgrade; Mobile {CAD}; {$3$D} Development Tool;
                 Visual Interpretation of Financial Data; Software
                 Development for {Linux}; Feature Recognition Program;
                 {Altia Java} Connection",
  journal =      j-IEEE-CGA,
  volume =       "20",
  number =       "6",
  pages =        "110--112",
  month =        nov # "\slash " # dec,
  year =         "2000",
  CODEN =        "ICGADZ",
  ISSN =         "0272-1716 (print), 1558-1756 (electronic)",
  ISSN-L =       "0272-1716",
  bibdate =      "Tue Nov 7 18:37:54 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/cg/books/cg2000/pdf/g6110.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Computer Graphics and Applications",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/cga",
}

@Article{Maessen:2000:IJM,
  author =       "Jan-Willem Maessen and Xiaowei Shen",
  title =        "Improving the {Java} memory model using {CRF}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "1--12",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p1-maessen/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Malabarba:2000:RST,
  author =       "Scott Malabarba and Raju Pandey and Jeff Gragg and
                 Earl Barr and J. Fritz Barnes",
  title =        "Runtime Support for Type-Safe Dynamic {Java} Classes",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1850",
  pages =        "337--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1850.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1850/18500337.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1850/18500337.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Malkhi:2000:SEJ,
  author =       "D. Malkhi and M. K. Reiter",
  title =        "Secure execution of {Java} applets using a remote
                 playground",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "26",
  number =       "12",
  pages =        "1197--1209",
  month =        dec,
  year =         "2000",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/32.888632",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=888632",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Book{Malks:2000:PJ,
  author =       "Dan Malks and others",
  title =        "Professional {JSP}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "xxv + 897",
  year =         "2000",
  ISBN =         "1-86100-362-5",
  ISBN-13 =      "978-1-86100-362-1",
  LCCN =         "TK5105.8885.J38 P76 2000",
  bibdate =      "Thu Oct 05 07:16:36 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$59.99",
  URL =          "http://www.wrox.com/Consumer/Store/Download.asp?ISBN=1861003625",
  acknowledgement = ack-nhfb,
  xxauthor =     "Karl Avedal and others",
}

@Book{Margulies:2000:UJT,
  author =       "Edwin Margulies",
  title =        "Understanding {Java} Telephony",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "1-199-00626-2",
  ISBN-13 =      "978-1-199-00626-4",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 19:06:25 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  xxnote =       "Also Web listed as ISBN 1-57820-003-2, from Telecom
                 Books and/or McGraw-Hill, 1997 or 1998",
}

@Article{Marquez:2000:FPO,
  author =       "Alonso Marquez and John N. Zigman and Stephen M.
                 Blackburn",
  title =        "Fast portable orthogonally persistent {Java$^{TM}$}",
  journal =      j-SPE,
  volume =       "30",
  number =       "4",
  pages =        "449--479",
  day =          "10",
  month =        apr,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/(SICI)1097-024X(20000410)30:4<449::AID-SPE306>3.0.CO;2-Y",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:45:44 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/71004143/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=71004143&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Book{Mason:2000:PCL,
  author =       "Oliver Mason",
  title =        "Programming for corpus linguistics: how to do text
                 analysis with {Java}",
  publisher =    "Edinburgh University Press",
  address =      "Edinburgh, Scotland",
  pages =        "245",
  year =         "2000",
  ISBN =         "0-7486-1407-9",
  ISBN-13 =      "978-0-7486-1407-3",
  LCCN =         "P98 .M29 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Specialised linguistic research needs can no longer be
                 met by available software. This book enables the
                 researcher to write programs for text and corpus
                 processing, using the popular and easy to learn Java
                 language",
  acknowledgement = ack-nhfb,
  keywords =     "computational linguistics; Java (computer program
                 language)",
}

@TechReport{Mathiske:2000:APM,
  author =       "Bernd Mathiske and Daniel Schneider",
  title =        "Automatic persistent memory management for the
                 {Spotless} virtual machine on the {Palm} connected
                 organizer",
  type =         "SMLI TR",
  number =       "2000-89",
  institution =  "Sun Microsystems",
  address =      "Palo Alto, CA, USA",
  pages =        "18",
  month =        jun,
  year =         "2000",
  LCCN =         "QA76.8.S86.S65",
  bibdate =      "Mon Apr 10 10:43:19 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 library.mit.edu:9909/mit01",
  abstract =     "Palm organizers are widely used in a multi-tasking
                 fashion. Users switch from one application to another
                 without losing the context established in either of
                 them. Despite its obvious usefulness, there is no
                 automatic support for this convenience in the
                 organizer's operating system, PalmOS. Programmers must
                 implement event callbacks that have to operate on a
                 PalmOS database API to save and reload specific
                 application state. In this report, we describe how this
                 burden can be eliminated. We enhanced the Spotless Java
                 virtual machine for the Palm organizer with transparent
                 multi-tasking support that automates persistence. As a
                 consequence, running Java programs can be beamed
                 between the infra-red links of two Palm organizers. A
                 beamed program will resume on the receiving organizer
                 in the exact same state as on the sending device. A
                 HotSync operation effectively establishes a checkpoint
                 for each involved Java program. The original Spotless
                 JVM's address range for running programs is limited to
                 a few tens of KB in the dynamic RAM area. By directly
                 addressing the much larger static RAM area, our
                 modified VM supports address ranges of several MB. We
                 provide an easy-to-use protocol that leverages
                 persistent threads for automatic life cycle control of
                 external resources (e.g., windows, forms and
                 databases). When applied at the library level, this
                 protocol maintains complete persistence transparency
                 for the application programmer.",
  acknowledgement = ack-nhfb,
  subject =      "Palm (Computer); Multitasking (Computer science)",
}

@Article{McCluskey:2000:JPa,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "1",
  pages =        "??--??",
  month =        feb,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:43:03 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-2/index.html",
  URL =          "http://www.usenix.org/publications/login/2000-2/features/javaperformance.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2000:JPb,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "2",
  pages =        "??--??",
  month =        apr,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:43:05 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-4/index.html",
  URL =          "http://www.usenix.org/publications/login/2000-4/features/java.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2000:JPc,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "3",
  pages =        "??--??",
  month =        jun,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:43:07 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-6/index.html",
  URL =          "http://www.usenix.org/publications/login/2000-6/features/java.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2000:JPd,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "5",
  pages =        "??--??",
  month =        aug,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:21:08 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-8/index.html",
  URL =          "http://www.usenix.org/publications/login/2000-8/features/java.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2000:JPe,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "6",
  pages =        "??--??",
  month =        oct,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:21:10 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-10/index.html",
  URL =          "http://www.usenix.org/publications/login/2000-10/pdfs/javaperformance.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2000:JPf,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "8",
  pages =        "??--??",
  month =        dec,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:21:14 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-12/index.html",
  URL =          "http://www.usenix.org/publications/login/2000-12/pdfs/javaperf.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCoy:2000:SP,
  author =       "John H. McCoy",
  title =        "Scripting for {Pnuts}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "1",
  pages =        "21--22, 24, 26",
  month =        jan,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_01/pnutdemo.zip;
                 http://www.ddj.com/ftp/2000/2000_01/pnuts.txt",
  abstract =     "Pnuts is a language, API, and interpreter that
                 provides a thin procedural wrapper with an interactive
                 interface for manipulating Java objects. Additional
                 resources include pnuts.txt (listings) and pnutdemo.zip
                 (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{McLaughlin:2000:JX,
  author =       "Brett McLaughlin",
  title =        "{Java} and {XML}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 479",
  year =         "2000",
  ISBN =         "0-596-00016-2",
  ISBN-13 =      "978-0-596-00016-5",
  LCCN =         "QA76.73.J38 M39 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language)",
}

@Book{Melton:2000:USJ,
  author =       "Jim Melton and Andrew Eisenberg",
  title =        "Understanding {SQL} and {Java} Together: a Guide to
                 {SQLJ}, {JDBC}, and Related Technologies",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xxix + 514",
  year =         "2000",
  ISBN =         "1-55860-562-2",
  ISBN-13 =      "978-1-55860-562-6",
  LCCN =         "QA76.73.S67 M43 2000",
  bibdate =      "Fri Jan 19 06:10:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.95",
  URL =          "http://www.mkp.com/books_catalog/catalog.asp?ISBN=1-55860-562-2",
  acknowledgement = ack-nhfb,
}

@Article{Mengant:2000:WJC,
  author =       "Jean-Yves Mengant",
  title =        "Writing a {Java} Class to Manage {RPM} Package
                 Content",
  journal =      j-LINUX-J,
  volume =       "76",
  pages =        "??--??",
  month =        aug,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Sep 21 07:44:13 MDT 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue76/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Merzbacher:2000:TDM,
  author =       "Matthew Merzbacher",
  title =        "Teaching database management systems with {Java}",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "31--35",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331806",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We present a multi-phase programming project, in Java,
                 for an upper-division database course. The project
                 parallels a modest reordering of the traditional
                 classroom presentation of database management. In
                 addition to illuminating theoretical concepts, the lab
                 provides a capstone experience for an undergraduate
                 computer science degree.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Migliardi:2000:DJS,
  author =       "Mauro Migliardi and Simon Schubiger and Vaidy
                 Sunderam",
  title =        "A Distributed {JAVA SPACE} Implementation for
                 {HARNESS}",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "60",
  number =       "10",
  pages =        "1325--1340",
  month =        oct,
  year =         "2000",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2000.1656",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Nov 1 07:29:45 MST 2000",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1656;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1656/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2000.1656/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Milde:2000:EUV,
  author =       "Jan-Torsten Milde and Bernhard Jung",
  title =        "Educational use of {VRML} and {Java} in agent-based
                 {AI} and computer graphics",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "17",
  number =       "1",
  pages =        "79--87",
  month =        sep,
  year =         "2000",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:20 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/45/24/34/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Miyashita:2000:JAV,
  author =       "Kensuke Miyashita and Reiji Hashimoto",
  title =        "A {Java} Applet to Visualize Algorithms on
                 Reconfigurable Mesh",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1800",
  pages =        "137--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1800.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1800/18000137.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1800/18000137.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Monson-Haefel:2000:EJ,
  author =       "Richard Monson-Haefel",
  title =        "{Enterprise JavaBeans}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xvii + 472",
  year =         "2000",
  ISBN =         "1-56592-869-5",
  ISBN-13 =      "978-1-56592-869-5",
  LCCN =         "QA76.73.J38 M65 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); JavaBeans",
}

@Article{Moon:2000:JTC,
  author =       "SooMook Moon and Kemal Ebcio{\u{g}}lu",
  title =        "A Just-in-Time Compiler",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "3",
  pages =        "41--41",
  month =        mar,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Sat Mar 11 09:52:59 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/r3040.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
  keywords =     "Java; Latte",
}

@Article{Moreira:2000:FMJ,
  author =       "Jos{\'e} E. Moreira and Samuel P. Midkiff and Manish
                 Gupta",
  title =        "From flop to megaflops: {Java} for technical
                 computing",
  journal =      j-TOPLAS,
  volume =       "22",
  number =       "2",
  pages =        "265--295",
  month =        mar,
  year =         "2000",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Sep 26 10:12:58 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/toplas/2000-22-2/p265-moreira/",
  abstract =     "Although there has been some experimentation with Java
                 as a language for numerically intensive computing,
                 there is a perception by many that the language is
                 unsuited for such work because of performance
                 deficiencies. In this article we show how optimizing
                 array bounds checks and null pointer checks creates
                 loop nests on which aggressive optimizations can be
                 used. Applying these optimizations by hand to a simple
                 matrix-multiply test case leads to Java-compliant
                 programs whose performance is in excess of 500 Mflops
                 on a four-processor 332MHz RS/6000 model F50 computer.
                 We also report in this article the effect that various
                 optimizations have on the performance of six
                 floating-point-intensive benchmarks. Through these
                 optimizations we have been able to achieve with Java at
                 least 80\% of the peak Fortran performance on the same
                 benchmarks. Since all of these optimizations can be
                 automated, we conclude that Java will soon be a serious
                 contender for numerically intensive computing.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "arrays; compilers; Java",
  subject =      "Software --- Programming Languages --- Processors
                 (D.3.4): {\bf Compilers}; Software --- Programming
                 Languages --- Processors (D.3.4): {\bf Run-time
                 environments}; Software --- Programming Techniques ---
                 Concurrent Programming (D.1.3): {\bf Parallel
                 programming}; Software --- Programming Languages ---
                 Language Classifications (D.3.2): {\bf Java}",
}

@Article{Moreira:2000:JPH,
  author =       "J. E. Moreira and S. P. Midkiff and M. Gupta and P. V.
                 Artigas and M. Snir and R. D. Lawrence",
  title =        "{Java} programming for high-performance numerical
                 computing",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "21--56",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/moreira.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Book{Morelli:2000:JJJ,
  author =       "R. (Ralph) Morelli",
  title =        "{Java}, {Java}, {Java}!: object-oriented problem
                 solving",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xviii + 964",
  year =         "2000",
  ISBN =         "0-13-011332-8",
  ISBN-13 =      "978-0-13-011332-0",
  LCCN =         "QA76.64 .M64 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "CD-ROM includes Java code for all the examples in the
                 text, Java 2 SDK (Standard Edition), Borland JBuilder 3
                 (University Edition) and NetBeans. BUY-A-BOOK gift of
                 Brendon O'Brien in honor of Amy S. O'Brien.",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Moss:2000:JQ,
  author =       "Karl Moss",
  title =        "{Java Q\&A}: How Can {I} Measure {Java} Code
                 Performance?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "135--136, 138, 140--142, 144",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/jqa010.txt",
  abstract =     "How can you measure Java code performance? Karl
                 examines techniques for instrumenting Java code at run
                 time. Additional resources include jqa010.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Mughal:2000:PGJ,
  author =       "Khalid Azim Mughal and Rolf W. Rasmussen",
  title =        "A programmer's guide to {Java} certification: a
                 comprehensive primer",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxxv + 754",
  year =         "2000",
  ISBN =         "0-201-59614-8 (paperback)",
  ISBN-13 =      "978-0-201-59614-4 (paperback)",
  LCCN =         "QA76.3 .M846 1999",
  bibdate =      "Tue Jun 06 09:20:09 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.95",
  acknowledgement = ack-nhfb,
}

@Book{Muldner:2000:CJP,
  author =       "Tomasz Muldner",
  title =        "{C} for {Java} programmers",
  publisher =    pub-AW-LONGMAN,
  address =      pub-AW-LONGMAN:adr,
  pages =        "various",
  year =         "2000",
  ISBN =         "0-201-70279-7",
  ISBN-13 =      "978-0-201-70279-8",
  LCCN =         "QA76.73.C15 M853 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "C (computer program language)",
}

@Book{Murdock:2000:JYV,
  author =       "Kelly Murdock",
  title =        "{JavaScript}: your visual blueprint for building
                 dynamic {Web} pages",
  publisher =    pub-IDG-WORLDWIDE,
  address =      pub-IDG-WORLDWIDE:adr,
  pages =        "xvii + 285",
  year =         "2000",
  ISBN =         "0-7645-4730-5",
  ISBN-13 =      "978-0-7645-4730-0",
  LCCN =         "QA76.73.J39 M87 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application software; Internet programming; JavaScript
                 (computer program language); Web site development",
}

@Article{Murray:2000:PIM,
  author =       "Paul Murray and Todd Smith and Suresh Srinivas and
                 Matthias Jacob",
  title =        "Performance Issues for Multi-language {Java}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1800",
  pages =        "544--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1800.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1800/18000544.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1800/18000544.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Myers:2000:PPU,
  author =       "Andrew C. Myers and Barbara Liskov",
  title =        "Protecting privacy using the decentralized label
                 model",
  journal =      j-TOSEM,
  volume =       "9",
  number =       "4",
  pages =        "410--442",
  month =        oct,
  year =         "2000",
  CODEN =        "ATSMER",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Fri Apr 20 08:21:35 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tosem/2000-9-4/p410-myers/p410-myers.pdf;
                 http://www.acm.org/pubs/citations/journals/tosem/2000-9-4/p410-myers/",
  abstract =     "Stronger protection is needed for the confidentiality
                 and integrity of data, because programs containing
                 untrusted code are the rule rather than the exception.
                 Information flow control allows the enforcement of
                 end-to-end security policies, but has been difficult to
                 put into practice. This article describes the
                 decentralized label model, a new label model for
                 control of information flow in systems with mutual
                 distrust and decentralized authority. The model
                 improves on existing multilevel security models by
                 allowing users to declassify information in a
                 decentralized way, and by improving support for
                 fine-grained data sharing. It supports static program
                 analysis of information flow, so that programs can be
                 certified to permit only acceptable information flows,
                 while largely avoiding the overhead of run-time
                 checking. The article introduces the language Jif, an
                 extension to Java that provides static checking of
                 information flow using the decentralized label model.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  generalterms = "Languages; Security",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "confidentiality; declassification; downgrading;
                 end-to-end; information flow controls; integrity;
                 lattice; policies; principals; roles; type checking",
  subject =      "Software --- Operating Systems --- Security and
                 Protection (D.4.6): {\bf Information flow controls}",
}

@Manual{NASA:2000:EJU,
  author =       "{National Aeronautics and Space Administration}",
  title =        "Enhancing {Jini} For Use Across Non-multicastable
                 Networks: Final Report {NASA}\slash {CR}-2000-210329",
  publisher =    pub-NASA,
  address =      pub-NASA:adr,
  day =          "6",
  month =        dec,
  year =         "2000",
  LCCN =         "DOC NAS 1.26:210329 mf11",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Shipping list number 2002-0173-M. Shipping list date:
                 03/04/2002",
  acknowledgement = ack-nhfb,
}

@Book{Natarajan:2000:PVD,
  author =       "Vijaykumar Natarajan and Stefan Reich and Bhaskar
                 Vasudevan",
  title =        "Programming with {VisiBroker}; {A} Developer's Guide
                 to {VisiBroker} for {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xxviii + 543",
  year =         "2000",
  ISBN =         "0-471-37682-5",
  ISBN-13 =      "978-0-471-37682-8",
  LCCN =         "QA76.73.J38 N36 2000",
  bibdate =      "Tue Feb 20 19:01:21 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
  annote =       "Revised edition of \cite{Pedrick:1998:PVC}.",
  xxauthor =     "Erin Hoffmann and others",
}

@Book{Neward:2000:SBJ,
  author =       "Ted Neward and others",
  title =        "Server-Based {Java} Programming",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxxiii + 556",
  year =         "2000",
  ISBN =         "1-884777-71-6",
  ISBN-13 =      "978-1-884777-71-4",
  LCCN =         "QA76.73.J38 N49 2000",
  bibdate =      "Tue Feb 20 19:03:29 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44",
  acknowledgement = ack-nhfb,
}

@Article{Newhall:2000:PMD,
  author =       "Tia Newhall and Barton P. Miller",
  title =        "Performance measurement of dynamically compiled {Java}
                 executions",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "343--362",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<343::AID-CPE478>3.0.CO;2-8",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515726/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515726&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Book{Newmarch:2000:PGJ,
  author =       "Jan Newmarch",
  title =        "A programmer's guide to {Jini} technology",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xxi + 448",
  year =         "2000",
  ISBN =         "1-893115-80-1",
  ISBN-13 =      "978-1-893115-80-4",
  LCCN =         "QA76.9.D5 N548 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Books for professionals by professionals",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing;
                 Jini",
}

@Article{Nicholas:2000:OTD,
  author =       "Tyrone Nicholas and Jerzy A. Barchanski",
  title =        "Overview of {TOS}: a distributed educational operating
                 system in {Java}",
  journal =      j-OPER-SYS-REV,
  volume =       "34",
  number =       "1",
  pages =        "2--10",
  month =        jan,
  year =         "2000",
  CODEN =        "OSRED8",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Sat Aug 26 08:55:37 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
}

@Book{Niemeyer:2000:LJ,
  author =       "Patrick Niemeyer and Jonathan Knudsen",
  title =        "Learning {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 706",
  year =         "2000",
  ISBN =         "1-56592-718-4 (paperback)",
  ISBN-13 =      "978-1-56592-718-6 (paperback)",
  LCCN =         "QA76.73.J38 N545 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@InProceedings{Norman:2000:FEJ,
  author =       "Arthur C. Norman",
  title =        "Further evaluation of {Java} for symbolic
                 computation",
  crossref =     "Traverso:2000:IAU",
  pages =        "258--265",
  year =         "2000",
  bibdate =      "Tue Apr 17 09:15:54 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/issac/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/issac/345542/p258-norman/p258-norman.pdf;
                 http://www.acm.org/pubs/citations/proceedings/issac/345542/p258-norman/",
  acknowledgement = ack-nhfb,
}

@Book{Oaks:2000:JDQ,
  author =       "Scott Oaks and Henry Wong",
  title =        "{Jini}: a desktop quick reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 400",
  year =         "2000",
  ISBN =         "1-56592-759-1 (paperback)",
  ISBN-13 =      "978-1-56592-759-9 (paperback)",
  LCCN =         "QA76.9.C55 O25 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "es.",
  series =       "In a nutshell",
  acknowledgement = ack-nhfb,
  keywords =     "client/server computing; computer interfaces; embedded
                 computer systems -- programming",
}

@Article{Odekirk:2000:TSC,
  author =       "Elizabeth Odekirk and Dominic Jones and Peter Jensen",
  title =        "Three semesters of {CSO} using {Java}: assignments and
                 experiences",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "3",
  pages =        "144--147",
  month =        sep,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/353519.343148",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:43 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "A CSO class with heavy lab emphasis was developed at
                 the University of Utah in the summer of 1998. It has
                 been taught three times by different instructors to
                 students who were diverse in background, gender, and
                 skill level. The culmination of these efforts is a set
                 of original labs which can be divided into several
                 chronological categories: a gentle introduction,
                 computation and events, interaction and graphical user
                 interfaces, algorithms, object-oriented programming,
                 and Java specific issues. These labs encompassed
                 several themes which guided the curriculum in all three
                 semesters: creativity, visual and interactive methods,
                 and breadth. This paper is a combined summary of these
                 experiences.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Offutt:2000:STA,
  author =       "Jeff Offutt",
  title =        "Software testing and analysis of object-oriented
                 software",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "1",
  pages =        "68",
  month =        jan,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/340855.340986",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:13:50 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Our work has studied new language mechanisms for
                 accessing message invocations in message passing based
                 concurrent programming languages. Invocation handling
                 mechanisms in many concurrent languages have
                 significant limitations that make it difficult or
                 costly to solve common programming situations
                 encountered in program visualization, debugging, and
                 scheduling scenarios. We have defined and implemented
                 new such mechanisms within the SR concurrent language
                 and have gained some experience with them. This work
                 has led us to want a cleaner, higher-level way of
                 defining mechanisms for message invocation. We are,
                 therefore, now taking an object-oriented approach. As a
                 step toward that goal, we are currently applying our
                 ideas to Java. Below, we briefly summarize these two
                 areas.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Ogawa:2000:OOE,
  author =       "Hirotaka Ogawa and Kouya Shimura and Satoshi Matsuoka
                 and Fuyuhiko Maruyama and Yukihiko Sohda and Yasunori
                 Kimura",
  title =        "{OpenJIT}: An Open-Ended, Reflective {JIT} Compiler
                 Framework for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1850",
  pages =        "362--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1850.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1850/18500362.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1850/18500362.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Pandey:2000:PFG,
  author =       "Raju Pandey and Brant Hashii",
  title =        "Providing fine-grained access control for {Java}
                 programs via binary editing",
  journal =      j-CPE,
  volume =       "12",
  number =       "14",
  pages =        "1405--1430",
  day =          "10",
  month =        dec,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(20001210)12:14<1405::AID-CPE515>3.0.CO;2-O",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sat Apr 7 06:56:11 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76500721/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76500721&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Paprzycki:2000:BRJ,
  author =       "M. Paprzycki",
  title =        "Book Review: {{\em Java distributed computing}} is
                 solid but not flawless",
  journal =      j-IEEE-CONCURR,
  volume =       "8",
  number =       "2",
  pages =        "86--86",
  month =        apr # "\slash " # jun,
  year =         "2000",
  CODEN =        "IECMFX",
  DOI =          "https://doi.org/10.1109/MCC.2000.846199",
  ISSN =         "1092-3063 (print), 1558-0849 (electronic)",
  ISSN-L =       "1092-3063",
  bibdate =      "Tue Jan 16 06:04:51 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Concurrency",
}

@Article{Parson:2000:JNI,
  author =       "Dale Parson and Zhenyu Zhu",
  title =        "{Java Native Interface} idioms for {C++} class
                 hierarchies",
  journal =      j-SPE,
  volume =       "30",
  number =       "15",
  pages =        "1641--1660",
  month =        dec,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/1097-024X(200012)30:15<1641::AID-SPE343>3.0.CO;2-R",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:46:13 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/73501271/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=73501271&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Parson:2000:UJR,
  author =       "Dale E. Parson",
  title =        "Using {Java} Reflection to Automate Extension Language
                 Parsing",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "67--80",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Pekowsky:2000:JP,
  author =       "Larne Pekowsky",
  title =        "{JavaServer} Pages",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "300 (est.)",
  year =         "2000",
  ISBN =         "0-201-70421-8",
  ISBN-13 =      "978-0-201-70421-1",
  LCCN =         "K5105.8885.J38 P45 2000",
  bibdate =      "Wed Feb 21 06:17:39 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  price =        "US\$39.95",
  URL =          "http://cseng.aw.com/bookdetail.qry?ISBN=0-201-70421-8",
  acknowledgement = ack-nhfb,
}

@Article{Perelman-Hall:2000:JQ,
  author =       "David Perelman-Hall",
  title =        "{Java Q\&A}: How Do {I} Build a Find?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "119--120, 122, 124, 126",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/jqa700.txt;
                 http://www.ddj.com/ftp/2000/2000_07/jqa700.zip",
  abstract =     "Does Java have ``find'' functionality? It does now, as
                 David describes his implementation. Additional
                 resources include jqa700.txt (listings) and jqa700.zip
                 (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Pew:2000:WPJ,
  author =       "John A. Pew",
  title =        "{Web} Publishing with {Java}: The Complete Video
                 Course",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "0-13-085842-0",
  ISBN-13 =      "978-0-13-085842-9",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 19:07:24 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
}

@Article{Philippsen:2000:CNJ,
  author =       "Michael Philippsen and Edwin G{\"u}nthner",
  title =        "Complex numbers for {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "477--491",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<477::AID-CPE486>3.0.CO;2-W",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515730/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515730&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Philippsen:2000:LOJ,
  author =       "Michael Philippsen and Bernhard Haumacher",
  title =        "Locality optimization in {JavaParty} by means of
                 static type analysis",
  journal =      j-CPE,
  volume =       "12",
  number =       "8",
  pages =        "613--628",
  month =        jul,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200007)12:8<613::AID-CPE502>3.0.CO;2-G",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516226/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516226&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Philippsen:2000:MES,
  author =       "Michael Philippsen and Bernhard Haumacher and
                 Christian Nester",
  title =        "More efficient serialization and {RMI} for {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "7",
  pages =        "495--518",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:7<495::AID-CPE496>3.0.CO;2-W",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516213/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516213&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Pidd:2000:UJD,
  author =       "M. Pidd and R. A. Cassel and Correspondence",
  title =        "Using {Java} to develop discrete event simulations",
  journal =      j-J-OPER-RES-SOC,
  volume =       "51",
  number =       "4",
  pages =        "405--412",
  day =          "1",
  month =        apr,
  year =         "2000",
  CODEN =        "OPRQAK",
  ISSN =         "0160-5682 (print), 1476-9360 (electronic)",
  ISSN-L =       "0160-5682",
  bibdate =      "Mon Feb 2 15:02:19 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "OR: the journal of the Operational Research Society",
  pagecount =    "8",
}

@Article{Pike:2000:CCC,
  author =       "Scott M. Pike and Bruce W. Weide and Joseph E.
                 Hollingsworth",
  title =        "{Checkmate}: cornering {C++} dynamic memory errors
                 with checked pointers",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "352--356",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331884",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Pointer errors are stumbling blocks for student and
                 veteran programmers alike. Although languages such as
                 Java use references to protect programmers from pointer
                 pitfalls, the use of garbage collection dictates that
                 languages like C++ will still be used for real-time
                 mission-critical applications. Pointers will stay in
                 the classroom as long as they're used in industry, so
                 as educators, we must find better ways to teach them.
                 This paper presents checked pointers, a simple wrapper
                 for C++ pointers that prevents pointer arithmetic and
                 other common sources of pointer errors, and detects all
                 dereferencing and deallocation errors, including memory
                 leaks. The syntax of checked pointers is highly
                 faithful to raw C++ pointers, but provides run-time
                 error detection and debugging information. After
                 debugging, changing one \#include is all that is
                 required to substitute a non-checking implementation
                 that is as fast as raw C++.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Plauger:2000:SCC,
  author =       "P. J. Plauger",
  title =        "{Standard C/C++}: {Java} Standard Time",
  journal =      j-CCCUJ,
  volume =       "18",
  number =       "1",
  pages =        "??--??",
  month =        jan,
  year =         "2000",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:24 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "If standardization was good for C and for C++, then it
                 should be good for Java too. Shouldn't it?",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Book{Pohl:2000:JDE,
  author =       "Ira Pohl and Charlie McDowell",
  title =        "{Java} by dissection: the essentials of {Java}
                 programming",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xv + 509",
  year =         "2000",
  ISBN =         "0-201-61248-8",
  ISBN-13 =      "978-0-201-61248-6",
  LCCN =         "QA76.73.J38 P66 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Pooley:2000:DDM,
  author =       "R. Pooley and P. Wilcox and Correspondence",
  title =        "Distributing decision making using {Java} simulation
                 across the {World Wide Web}",
  journal =      j-J-OPER-RES-SOC,
  volume =       "51",
  number =       "4",
  pages =        "395--404",
  day =          "1",
  month =        apr,
  year =         "2000",
  CODEN =        "OPRQAK",
  ISSN =         "0160-5682 (print), 1476-9360 (electronic)",
  ISSN-L =       "0160-5682",
  bibdate =      "Mon Feb 2 15:02:19 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "OR: the journal of the Operational Research Society",
  pagecount =    "10",
}

@Article{Prechelt:2000:ECS,
  author =       "Lutz Prechelt",
  title =        "An Empirical Comparison of Seven Programming
                 Languages",
  journal =      j-COMPUTER,
  volume =       "33",
  number =       "10",
  pages =        "23--29",
  month =        oct,
  year =         "2000",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon Oct 30 17:20:21 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2000/pdf/rx023.pdf;
                 http://www.computer.org/computer/co2000/rx023abs.htm",
  abstract =     "The author takes a first step toward providing hard
                 data about the relative effectiveness of the C, C++,
                 Java, Perl, Python, Rexx and Tcl programming
                 languages",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Pree:2000:FSL,
  author =       "Wolfgang Pree and Kai Koskimies",
  title =        "Framelets --- small and loosely coupled frameworks",
  journal =      j-COMP-SURV,
  volume =       "32",
  number =       "1es",
  pages =        "6:1--6:??",
  month =        mar,
  year =         "2000",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/351936.351942",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Thu Jun 19 10:12:24 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/surveys/2000-32-1/p6-pree/",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "ACM Computing Surveys",
  generalterms = "Design; Languages; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  subject =      "Software --- Programming Languages --- Language
                 Constructs and Features (D.3.3): {\bf Frameworks};
                 Software --- Programming Techniques --- Object-oriented
                 Programming (D.1.5); Software --- Programming Languages
                 --- Language Classifications (D.3.2): {\bf Java};
                 Software --- Software Engineering --- Reusable Software
                 (D.2.13)",
}

@Book{Preiss:2000:DSA,
  author =       "Bruno R. Preiss",
  title =        "Data structures and algorithms with object-oriented
                 design patterns in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xvii + 635",
  year =         "2000",
  ISBN =         "0-471-34613-6 (cloth)",
  ISBN-13 =      "978-0-471-34613-5 (cloth)",
  LCCN =         "QA76.64 .P744 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer algorithms; data structures (computer
                 science); object-oriented programming (computer
                 science)",
}

@Article{Pugh:2000:JMM,
  author =       "William Pugh",
  title =        "The {Java} memory model is fatally flawed",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "445--455",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<445::AID-CPE484>3.0.CO;2-A",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515725/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515725&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Qian:2000:FSJ,
  author =       "Zhenyu Qian and Allen Goldberg and Alessandro Coglio",
  title =        "A formal specification of {Java$^{TM}$} class
                 loading",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "325--336",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p325-qian/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Qian:2000:SFI,
  author =       "Zhenyu Qian",
  title =        "Standard fixpoint iteration for {Java} bytecode
                 verification",
  journal =      j-TOPLAS,
  volume =       "22",
  number =       "4",
  pages =        "638--672",
  year =         "2000",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Apr 17 10:05:24 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/toplas/2000-22-4/p638-qian/",
  abstract =     "Java bytecode verification forms the basis for
                 Java-based Internet security and needs a rigorous
                 description. One important aspect of bytecode
                 verification is to check if a Java Virtual Machine
                 (JVM) program is statically well-typed. So far, several
                 formal specifications have been proposed to define what
                 the static well-typedness means. This paper takes a
                 step further and presents a chaotic fixpoint iteration,
                 which represents a family of fixpoint computation
                 strategies to compute a least type for each JVM program
                 within a finite number of iteration steps. Since a
                 transfer function in the iteration is not monotone, we
                 choose to follow the example of a nonstandard fixpoint
                 theorem, which requires that all transfer functions are
                 increasing, and monotone in case the bigger element is
                 already a fixpoint. The resulting least type is the
                 artificial top element if and only if he JVM program is
                 not statically well-typed. The iteration is standard
                 and close to Sun's informal specification and most
                 commercial bytecode verifiers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  generalterms = "Algorithms; Languages",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "bytecode verification; dataflow analysis; fixpoint;
                 Java",
  subject =      "Software --- Programming Languages --- Formal
                 Definitions and Theory (D.3.1)",
}

@Article{Raab:2000:PPT,
  author =       "Jeff Raab and Richard Rasala and Viera K. Proulx",
  title =        "Pedagogical power tools for teaching {Java}",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "3",
  pages =        "156--159",
  month =        sep,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/353519.343155",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:43 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We describe a Java toolkit that is designed to support
                 the creation of powerful and extensible GUI interfaces
                 during the first year computer science course. The
                 goals of this toolkit are to provide: $ \bullet $ an
                 infrastructure for creating well designed programs that
                 illustrates the concepts of computer science and its
                 practical applications $ \bullet $ an environment for
                 learning the basic ideas of interface design and for
                 experimenting with a variety of designs $ \bullet $ a
                 paradigm for building interfaces in Java that scales
                 from individual data items to large structures, using
                 recursively displayable container classes.
                 Additionally, the toolkit classes themselves can be
                 studied as examples of proper object oriented design,
                 and of building event listeners.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Radhakrishnan:2000:AIE,
  author =       "Ramesh Radhakrishnan and Deependra Talla and Lizy
                 Kurian John",
  title =        "Allowing for {ILP} in an embedded {Java} processor",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "28",
  number =       "2",
  pages =        "294--305",
  month =        may,
  year =         "2000",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:40:49 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Ramirez:2000:DCJ,
  author =       "Rafael Ramirez and Andrew E. Santosa",
  title =        "Declarative Concurrency in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1800",
  pages =        "332--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1800.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1800/18000332.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1800/18000332.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rao:2000:UJa,
  author =       "Prithvi Rao",
  title =        "Using {Java}",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "1",
  pages =        "??--??",
  month =        feb,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:43:03 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-2/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava20.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rao:2000:UJb,
  author =       "Prithvi Rao",
  title =        "Using {Java}",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "2",
  pages =        "??--??",
  month =        apr,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:43:05 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-4/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava21.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rao:2000:UJc,
  author =       "Prithvi Rao",
  title =        "Using {Java}",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "3",
  pages =        "??--??",
  month =        jun,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:43:07 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-6/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava22.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rao:2000:UJd,
  author =       "Prithvi Rao",
  title =        "Using {Java}",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "5",
  pages =        "??--??",
  month =        aug,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:21:08 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-8/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava22.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rao:2000:UJf,
  author =       "Prithvi Rao",
  title =        "Using {Java}",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "6",
  pages =        "??--??",
  month =        oct,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:21:10 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-10/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava24.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rao:2000:UJg,
  author =       "Prithvi Rao",
  title =        "Using {Java}",
  journal =      j-LOGIN,
  volume =       "25",
  number =       "8",
  pages =        "??--??",
  month =        dec,
  year =         "2000",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:21:14 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2000-12/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava25.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rasala:2000:TFY,
  author =       "Richard Rasala",
  title =        "Toolkits in first year computer science: a pedagogical
                 imperative",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "185--191",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331852",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Traditional first year computer science courses teach
                 the principles of computing using the basic features of
                 some chosen programming language such as C, C++, Java,
                 Ada, Scheme, Eiffel, etc. Abstraction and encapsulation
                 focus on entities such as algorithms, functions, data
                 structures, classes, objects, and closures that can be
                 built directly on top of the raw language. If a
                 facility such as windows and graphics is not directly
                 available in the language then it is not used. This
                 means that student exercises tend to look inward at
                 computer science issues rather than outward to the
                 exciting applications that show the breadth and power
                 of computing. The fundamental thesis of this article is
                 that teaching students in the framework of powerful
                 toolkits is essential to maintain student interest and
                 is pedagogically important precisely because toolkits
                 are a rich source of examples that illustrate the
                 principles of computation. We hope to convince computer
                 science faculty that the use of toolkits is imperative
                 in a modern first year curriculum. We will first
                 discuss in general why toolkits are important. We will
                 spice this discussion with some simple illustrations
                 and with references to the use of toolkits by faculty
                 at other institutions. We will then describe the
                 toolkits we have developed at Northeastern University
                 and explain both what they do and why they are
                 pedagogically valuable. We will see how toolkits enable
                 students to do more interesting and effective work and
                 how principles of design and algorithms can be
                 demonstrated by the key components of the toolkits. We
                 will conclude with some general remarks and explain why
                 the arguments made against toolkits do not have
                 sufficient weight to change our conclusions. We will
                 also give the web site address where our toolkits are
                 available.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Reese:2000:DPJ,
  author =       "George Reese",
  title =        "Database programming with {JDBC} and {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xvii + 328",
  year =         "2000",
  ISBN =         "1-56592-616-1",
  ISBN-13 =      "978-1-56592-616-5",
  LCCN =         "QA76.9.D26 R44 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "database design; Java (computer program language)",
}

@Article{Reges:2000:CRJ,
  author =       "Stuart Reges",
  title =        "Conservatively radical {Java} in {CS1}",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "85--89",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331821",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Java is fast becoming the language of choice in CSI,
                 but we have yet to figure out how to take full
                 advantage of it's special features. The conservatives
                 teach the old course in Java syntax. The radicals
                 restructure the course to include Graphical User
                 Interfaces (GUIs) and concurrency. I prefer a
                 ``conservatively radical'' middle ground where I use
                 modern GUI programs to teach the old course concepts. I
                 write GUI/concurrent code and ask my students to
                 complete the program by supplying a particular class or
                 two. Thus, they work on interesting problems without
                 having to understand the details of how my code works.
                 And in the process, they get a practical introduction
                 to the modern programming experience of writing a small
                 piece of a much larger program, allowing me to
                 emphasize abstraction early.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Reilly:2000:JQH,
  author =       "David Reilly",
  title =        "{Java Q\&A}: How Do {I} User Servlets for State and
                 Session Management?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "5",
  pages =        "111--115",
  month =        may,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:15 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_05/jqa500.txt;
                 http://www.ddj.com/ftp/2000/2000_05/jqa500.zip",
  abstract =     "How do you use Servlets for state and session
                 management? David shows you how. Additional resources
                 include jqa500.txt (listings) and jqa500.zip (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Reinholtz:2000:JWF,
  author =       "Kirk Reinholtz",
  title =        "{Java} will be faster than {C++}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "25--28",
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Reinholtz:2000:TCJ,
  author =       "Kirk Reinholtz",
  title =        "Technical Correspondence: {Java} will be faster than
                 {C++}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "25--28",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Sep 26 17:06:07 MDT 2000",
  bibsource =    "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/r/Reinholtz:Kirk.html",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Renaud:2000:HNI,
  author =       "Karen Renaud",
  title =        "{HERCULE}: Non-invasively Tracking {Java} {TM}
                 Component-Based Application Activity",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1850",
  pages =        "447--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1850.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1850/18500447.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1850/18500447.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Richter:2000:IYA,
  author =       "Mathias W. Richter",
  title =        "{Iava}: yet another interpreter for scripting within
                 the {Java} platform",
  journal =      j-SPE,
  volume =       "30",
  number =       "2",
  pages =        "81--106",
  month =        feb,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/(SICI)1097-024X(200002)30:2<81::AID-SPE287>3.0.CO;2-Q",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:45:13 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/69503461/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=69503461&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Robbins:2000:EBB,
  author =       "Steven Robbins",
  title =        "Experimentation with bounded buffer synchronization",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "330--334",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331880",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Undergraduates are usually introduced to
                 synchronization in operating systems through a
                 discussion of classical problems such as reader-writer
                 or producers-consumers. The traditional approach to
                 teaching these topics is not effective in conveying to
                 students how programs with incorrect synchronization
                 actually behave. This paper introduces a simple
                 probabilistic model for synchronization failure and
                 shows how students can empirically study these issues.
                 These activities are supported by a simulator that
                 students can use to explore synchronization in the
                 context of the bounded buffer problem. The simulator is
                 written in Java and can be used either standalone or
                 from a standard browser. Students can save the data and
                 graphs generated by the simulator in a log file in HTML
                 format.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Robbins:2000:RLJ,
  author =       "Steven Robbins",
  title =        "Remote logging in {Java} using {Jeli}: a facility to
                 enhance development of accessible educational
                 software",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "1",
  pages =        "114--118",
  month =        mar,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/331795.331830",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Mon Nov 19 10:05:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The combination of Java and the World Wide Web has
                 opened up new opportunities for teaching at all levels.
                 It is now possible to assume that all students in a
                 class have access to the web through a browser that
                 supports the Java language and a standard subset of the
                 GUI API. One of the drawbacks of using Java through a
                 browser is the lack of a standardized safe way for a
                 Java applet to access resources on the local machine.
                 Security measures prevent the applet from storing
                 information generated by the applet on the local
                 machine. The Jeli package contains a logging facility
                 that allows an applet to store files either locally (if
                 permitted) or on the server from which the applet was
                 loaded. Jeli logging makes it significantly easier for
                 instructors to develop applets that can permanently
                 store information generated by user interaction with
                 the application. The log can then be used by the
                 student for study or the instructor for grading.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Robillard:2000:DRJ,
  author =       "Martin P. Robillard and Gail C. Murphy",
  title =        "Designing robust {Java} programs with exceptions",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "6",
  pages =        "2--10",
  month =        nov,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/357474.355046",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:02 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Exception handling mechanisms are intended to help
                 developers build robust systems. Although an exception
                 handling mechanism provides a basis for structuring
                 source code dealing with unusual situations, little
                 information is available to help guide a developer in
                 the appropriate application of the mechanism. In our
                 experience, this lack of guidance leads to complex
                 exception structures. In this paper, we reflect upon
                 our experiences using the Java exception handling
                 mechanism. Based on these experiences, we discuss two
                 issues we believe underlie the difficulties
                 encountered: exceptions are a global design problem,
                 and exception sources are often difficult to predict in
                 advance. We then describe a design approach, based on
                 work by Litke for Ada programs, which we have used to
                 simplify exception structure in existing Java
                 programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Roelofs:2000:JCC,
  author =       "Brian Roelofs",
  title =        "{Java} Custom Class Loaders",
  journal =      j-DDJ,
  volume =       "25",
  number =       "6",
  pages =        "74, 76, 78, 80, 82",
  month =        jun,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:15 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_06/javaload.txt;
                 http://www.ddj.com/ftp/2000/2000_06/javaload.zip",
  abstract =     "Custom class loaders create new possibilities for
                 dynamic applications. Brian discusses how you can
                 create your own class loader to read and load classes
                 into the Java VM from any data source. Additional
                 resources include javaload.txt (listings) and
                 javaload.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Rojas:2000:SKZ,
  author =       "Raul Rojas",
  title =        "Simulating {Konrad Zuse}'s Computers",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "64, 66--69",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/z3.zip",
  abstract =     "Raul presents a working simulation (written in Java)
                 of Konrad Zuse's Z3 computer, originally created in
                 1938. The real Z3 consisted purely of electromechanical
                 relays, but was ready and operational in 1941 -- four
                 years before the ENIAC. Additional resources include
                 z3.zip (bytecodes).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InProceedings{Roseman:2000:PTJ,
  author =       "Mark Roseman",
  title =        "{Proxy Tk}: a {Java} Applet User Interface Toolkit for
                 {Tcl}",
  crossref =     "USENIX:2000:PUT",
  pages =        "??--??",
  year =         "2000",
  bibdate =      "Wed Oct 16 05:17:16 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://db.usenix.org/publications/library/proceedings/tcl2k/roseman.html",
  acknowledgement = ack-nhfb,
}

@Book{Rossbach:2000:JSS,
  author =       "Peter Rossbach and Hendrik Schreiber",
  title =        "{Java} Server and Servlets: Building Portable {Web}
                 Applications",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "0-201-67491-2",
  ISBN-13 =      "978-0-201-67491-0",
  LCCN =         "QA76.73.J38 R68 2000",
  bibdate =      "Wed Feb 21 06:19:33 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$45",
  acknowledgement = ack-nhfb,
}

@Article{Rousselle:2000:PSJ,
  author =       "Philip Rousselle and Daniel Greff",
  title =        "Publish, Subscribe, and the {JMS API}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "44, 46, 48, 51",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/pubsub.zip",
  abstract =     "The Java Messaging Service API is middleware that
                 supports message passing rather than RPC semantics.
                 Philip and Daniel explore the advantages of
                 publish/subscribe distributed programming by
                 implementing a chatroom application. Additional
                 resources include pubsub.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Ruf:2000:ESR,
  author =       "Erik Ruf",
  title =        "Effective synchronization removal for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "208--218",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/pldi/349299/p208-ruf/p208-ruf.pdf;
                 http://www.acm.org/pubs/citations/proceedings/pldi/349299/p208-ruf/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Rukoz:2000:SJT,
  author =       "M. Rukoz and C. Leon and M. Rivas",
  title =        "{SIMA}: a {Java} Tool for Constructing Image
                 Processing Applications on a Heterogeneous Network",
  journal =      j-PARALLEL-DIST-COMP-PRACT,
  volume =       "3",
  number =       "1",
  pages =        "??--??",
  month =        "????",
  year =         "2000",
  CODEN =        "????",
  ISSN =         "1097-2803",
  bibdate =      "Fri Dec 19 08:14:15 MST 2003",
  bibsource =    "http://www.cs.okstate.edu/~pdcp/vols/vol03/vol03no1.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.cs.okstate.edu/~pdcp/vols/vol03/vol03no1abs.html#rukoz",
  acknowledgement = ack-nhfb,
  fjournal =     "PDCP: Parallel and Distributed Computing Practices",
}

@Article{Saddik:2000:JJA,
  author =       "Abdulmotaleb {El Saddik} and Shervin Shirmohammadi and
                 Nicolas D. Georganas and Ralf Steinmetz",
  title =        "{JASMINE}: {Java Application Sharing} in {Multiuser
                 INteractive Environments}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1905",
  pages =        "214--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 03 17:21:54 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1905.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1905/19050214.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1905/19050214.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Sahni:2000:DSA,
  author =       "Sartaj Sahni",
  title =        "Data structures, algorithms, and applications in
                 {Java}",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xxvi + 833",
  year =         "2000",
  ISBN =         "0-07-109217-X",
  ISBN-13 =      "978-0-07-109217-3",
  LCCN =         "QA76.73.J38 S24 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; computer
                 algorithms; data structures (computer science); Java
                 (computer program language)",
}

@Article{Sanders:2000:UAA,
  author =       "Beverly A. Sanders",
  title =        "Using atomic await commands to develop concurrent
                 programs in {Java}",
  journal =      j-SOFTW-CONCEPTS-TOOLS,
  volume =       "19",
  number =       "4",
  pages =        "168--174",
  month =        oct,
  year =         "2000",
  CODEN =        "SCOTE5",
  DOI =          "https://doi.org/10.1007/s003789900004",
  ISSN =         "0945-8115 (print), 1432-2188 (electronic)",
  ISSN-L =       "0945-8115",
  bibdate =      "Sat Jul 23 06:08:38 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/structprogram.bib",
  URL =          "https://link.springer.com/article/10.1007/s003789900004",
  acknowledgement = ack-nhfb,
  fjournal =     "Software --- Concepts and Tools",
}

@Article{Schaub:2000:TJG,
  author =       "Stephen Schaub",
  title =        "Teaching {Java} with Graphics in {CS1}",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "2",
  pages =        "71--73",
  month =        jun,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/355354.571919",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:42 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper discusses an approach to teaching basic
                 object-oriented concepts in CS1 using Java graphics.
                 Students first use a simplified turtle graphics API to
                 explore introductory programming issues. Later, they
                 see a real-world example of how inheritance can be used
                 to add functionality to the standard Java Abstracting
                 Windowing Toolkit, to facilitate the construction of
                 sophisticated graphics applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Schildt:2000:JPR,
  author =       "Herbert Schildt and Joseph O'Neil",
  title =        "{Java 2} Programmer's Reference",
  publisher =    pub-IDG,
  address =      pub-IDG:adr,
  pages =        "xv + 447",
  year =         "2000",
  ISBN =         "0-07-212354-0",
  ISBN-13 =      "978-0-07-212354-8",
  LCCN =         "QA76.73.J38 S332 2000",
  bibdate =      "Sat Apr 20 11:09:12 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$20",
  acknowledgement = ack-nhfb,
}

@Article{Schmietendorf:2000:MBA,
  author =       "Andreas Schmietendorf and Reiner Dumke and Erik
                 Foltin",
  title =        "Metrics based asset assessment",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "4",
  pages =        "51--55",
  month =        jul,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/352342.352347",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:13:59 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "The re-use of software components during the software
                 development is considered to be an important factor to
                 improve the quality and productivity and thus to reduce
                 the time to market of the final product. In this paper
                 we will present a proposal for a description model for
                 re-usable components. We will also present the results
                 of case studies concerned with both telecom specific
                 and ``generic'' IT-components. These components have
                 been examined using the description model and a further
                 set of (empirical) criterions. Based on the results a
                 model concept for the empirical assessment of
                 JavaBeans, which is currently under development, is
                 presented.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Schneider:2000:ICS,
  author =       "G. Michael Schneider and Judith Gersting",
  title =        "Invitation to Computer Science: {Java} Version",
  publisher =    pub-BROOKS-COLE,
  address =      pub-BROOKS-COLE:adr,
  pages =        "xxvii + 734",
  year =         "2000",
  ISBN =         "0-534-37488-3",
  ISBN-13 =      "978-0-534-37488-4",
  LCCN =         "QA76. .S3596 2000",
  bibdate =      "Tue Feb 20 18:46:17 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Contributing author: Sara Baase.",
  price =        "US\$56",
  acknowledgement = ack-nhfb,
  xxtitle =      "Invitation to Computer Science: {Java} Edition",
}

@Book{Schussler:2000:BPS,
  author =       "H. Schussler",
  title =        "{BAPI} Programming for {SAP R/3} with {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "0-201-67474-2",
  ISBN-13 =      "978-0-201-67474-3",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:24:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Serrano:2000:QQS,
  author =       "Mauricio Serrano and Rajesh Bordawekar and Sam Midkiff
                 and Manish Gupta",
  title =        "Quicksilver: a quasi-static compiler for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "66--82",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p66-serrano/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Sestak:2000:JPP,
  author =       "John Sestak",
  title =        "{Java} Programming Projects",
  publisher =    "South-Western Educational Publishing",
  address =      "Cincinnati, OH, USA",
  pages =        "????",
  year =         "2000",
  ISBN =         "0-538-69404-1",
  ISBN-13 =      "978-0-538-69404-9",
  LCCN =         "QA76.73.J38 S43 2001",
  bibdate =      "Tue Feb 20 18:51:59 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$20",
  acknowledgement = ack-nhfb,
}

@MastersThesis{Shankari:2000:HCN,
  author =       "K. Shankari",
  title =        "How to connect {non-Java} devices to a {Jini}
                 network?",
  type =         "Thesis ({M.S.})",
  school =       "University of California, Santa Cruz",
  address =      "Santa Cruz, CA, USA",
  year =         "2000",
  LCCN =         "TK5105.5 .S426 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer network architectures; computer network
                 protocols; masters theses -- University of California,
                 Santa Cruz -- computer science",
}

@Book{Shannon:2000:JPE,
  author =       "Bill Shannon",
  title =        "{Java 2} platform, enterprise edition: platform and
                 component specifications",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxxiv + 748",
  year =         "2000",
  ISBN =         "0-201-70456-0",
  ISBN-13 =      "978-0-201-70456-3",
  LCCN =         "QA76.73.J38 J35945 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Shelekhov:2000:DFA,
  author =       "Vladimir I. Shelekhov and Sergey V. Kuksenko",
  title =        "Data Flow Analysis of {Java} Programs in the Presence
                 of Exceptions",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1755",
  pages =        "389--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:16:08 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1755.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1755/17550389.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1755/17550389.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Shi:2000:MAS,
  author =       "Hongchi Shi and Yi Shang and Su-Shing Chen",
  title =        "A multi-agent system for computer science education",
  journal =      j-SIGCSE,
  volume =       "32",
  number =       "3",
  pages =        "1--4",
  month =        sep,
  year =         "2000",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/353519.343051",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:43 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In this paper, we present a multi-agent system for
                 supporting student-centered, self-paced, and highly
                 interactive learning in undergraduate computer science
                 education. The system is based on a hybrid
                 problem-based and case-based learning model, for both
                 creative problem solving and mechanical experience
                 simulation. It aims at enhancing the effectiveness of
                 the undergraduate learning experience in computer
                 science. Implemented using the prevalent Internet, Web,
                 and digital library technologies, the system adopts an
                 open architecture design and targets at large-scale,
                 distributed operations. In the initial implementation
                 of the system, a number of prototypes using different
                 Java-based software environments have been developed.
                 They offer tradeoffs in system performance and design
                 complexity.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Shields:2000:JCB,
  author =       "Matthew S. Shields and Omer F. Rana and David W.
                 Walker and Maozhen Li and David Golby",
  title =        "A {Java\slash CORBA}-based visual program composition
                 environment for {PSEs}",
  journal =      j-CPE,
  volume =       "12",
  number =       "8",
  pages =        "687--704",
  month =        jul,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200007)12:8<687::AID-CPE505>3.0.CO;2-P",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516220/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516220&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Book{Shirazi:2000:JPT,
  author =       "Jack Shirazi",
  title =        "{Java} performance tuning",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiv + 426",
  year =         "2000",
  ISBN =         "0-596-00015-4",
  ISBN-13 =      "978-0-596-00015-8",
  LCCN =         "QA76.73.J38 S47 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Manual{Siberz:2000:CCJ,
  author =       "Ken Siberz",
  title =        "From {C\slash C++} to {Java}: fast transition: {July
                 19--21, 2000, Engineering 819.315}",
  publisher =    "University of California, Los Angeles, Dept. of
                 Engineering, Information Systems and Technical
                 Management, Short Course Program",
  address =      "Los Angeles, CA, USA",
  pages =        "various",
  year =         "2000",
  LCCN =         "QAX 236",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Cover title.",
  acknowledgement = ack-nhfb,
}

@Article{Silva:2000:HPC,
  author =       "Lu{\'\i}s Moura Silva and Paulo Martins and Jo{\~a}o
                 Gabriel Silva",
  title =        "Heterogeneous parallel computing using {Java} and
                 {WMPI}",
  journal =      j-CPE,
  volume =       "12",
  number =       "11",
  pages =        "1077--1091",
  month =        sep,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200009)12:11<1077::AID-CPE521>3.0.CO;2-#",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sat Apr 7 06:56:10 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76000189/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76000189&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Sintes:2000:XSC,
  author =       "Tony Sintes",
  title =        "{XML} and Software Configuration",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "56, 58--62",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/xmlcfg.txt;
                 http://www.ddj.com/ftp/2000/2000_07/xmlcfg.zip",
  abstract =     "Tony explores software configuration and how it
                 relates to XML. In the process, he presents an XML
                 configuration markup language and Java framework that
                 you can use as the basis for any Java configuration
                 engine. Additional resources include xmlcfg.txt
                 (listings) and xmlcfg.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Sirer:2000:UPG,
  author =       "Emin Gu{\"u}n Sirer and Brian N. Bershad",
  title =        "Using Production Grammars in Software Testing",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "1--13",
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 21 15:38:27 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Java; lava",
}

@Book{Skansholm:2000:JB,
  author =       "Jan Skansholm",
  title =        "{Java} from the beginning",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xiv + 540",
  year =         "2000",
  ISBN =         "0-201-39812-5 (paperback)",
  ISBN-13 =      "978-0-201-39812-0 (paperback)",
  LCCN =         "QA76.73.J38 S593 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Slack:2000:PPS,
  author =       "James M. (James Michael) Slack",
  title =        "Programming and problem solving with {Java}",
  publisher =    pub-BROOKS-COLE,
  address =      pub-BROOKS-COLE:adr,
  pages =        "xii + 1137",
  year =         "2000",
  ISBN =         "0-534-37486-7",
  ISBN-13 =      "978-0-534-37486-0",
  LCCN =         "QA76.73.J38 S595 2000",
  bibdate =      "Tue Feb 20 18:39:03 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$61",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Snelting:2000:UCH,
  author =       "Gregor Snelting and Frank Tip",
  title =        "Understanding class hierarchies using concept
                 analysis",
  journal =      j-TOPLAS,
  volume =       "22",
  number =       "3",
  pages =        "540--582",
  year =         "2000",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Apr 17 10:05:24 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/toplas/2000-22-3/p540-snelting/p540-snelting.pdf;
                 http://www.acm.org/pubs/citations/journals/toplas/2000-22-3/p540-snelting/",
  abstract =     "A new method is presented for analyzing and
                 reengineering class hierarchies. In our approach, a
                 class hierarchy is processed along with a set of
                 applications that use it, and a fine-grained analysis
                 of the access and subtype relationships between
                 objects, variables, and class members is performed. The
                 result of this analysis is again a class hierarchy,
                 which is guaranteed to be behaviorally equivalent to
                 the original hierarchy, but in which each object only
                 contains the members that are required. Our method is
                 semantically well-founded in {\em concept analysis\/}:
                 the new class hierarchy is a minimal and maximally
                 factorized {\em concept lattice\/} that reflects the
                 access and subtype relationships between variables,
                 objects and class members. The method is primarily
                 intended as a tool for finding imperfections in the
                 design of class hierarchies, and can be used as the
                 basis for tools that largely automate the process of
                 reengineering such hierarchies. The method can also be
                 used as a space-optimizing source-to-source
                 transformation that removes redundant fields from
                 objects. A prototype implementation for Java has been
                 constructed, and used to conduct several case studies.
                 Our results demonstrate that the method can provide
                 valuable insights into the usage of a class hierarchy
                 in a specific context, and lead to useful restructuring
                 proposals.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  generalterms = "Algorithms; Documentation; Experimentation; Languages;
                 Theory",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "class hierarchy reengineering; concept analysis",
  subject =      "Software --- Software Engineering --- Distribution,
                 Maintenance, and Enhancement (D.2.7): {\bf
                 Restructuring, reverse engineering, and reengineering};
                 Software --- Programming Languages --- Language
                 Constructs and Features (D.3.3): {\bf Classes and
                 objects}; Theory of Computation --- Logics and Meanings
                 of Programs --- Semantics of Programming Languages
                 (F.3.2): {\bf Program analysis}",
}

@Book{Sowizral:2000:JAS,
  author =       "Henry A. Sowizral and Kevin Rushforth and Michael
                 Deering",
  title =        "The {Java 3D API} specification",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxii + 653",
  year =         "2000",
  ISBN =         "0-201-71041-2 (paperback/CD-ROM)",
  ISBN-13 =      "978-0-201-71041-0 (paperback/CD-ROM)",
  LCCN =         "T385 .S6575 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "computer graphics; Java (computer program language)",
}

@Article{Stankovic:2000:EJI,
  author =       "Nenad Stankovic and Kang Zhang",
  title =        "An evaluation of {Java} implementations of
                 message-passing",
  journal =      j-SPE,
  volume =       "30",
  number =       "7",
  pages =        "741--763",
  month =        jun,
  year =         "2000",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/(SICI)1097-024X(200006)30:7<741::AID-SPE315>3.0.CO;2-6",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:45:46 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72001830/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72001830&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Stankovic:2000:OJS,
  author =       "Nenad Stankovic",
  title =        "An open {Java} system for {SPMD} programming",
  journal =      j-CPE,
  volume =       "12",
  number =       "11",
  pages =        "1051--1076",
  month =        sep,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200009)12:11<1051::AID-CPE520>3.0.CO;2-M",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sat Apr 7 06:56:10 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76000192/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76000192&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@TechReport{Stark:2000:PBV,
  author =       "R. F. St{\"a}rk and J. Schmid",
  title =        "The Problem of Bytecode Verification in Current
                 Implementations of the {JVM}",
  type =         "Technical Report",
  institution =  "Department of Computer Science, ETH Z{\"u}rich",
  address =      "Z{\"u}rich, Switzerland",
  year =         "2000",
  bibdate =      "Thu Dec 01 07:10:12 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Book{Steflik:2000:AJN,
  author =       "Richard Steflik and Prashant Sridharan",
  title =        "Advanced {Java} Networking",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxiv + 399",
  year =         "2000",
  ISBN =         "0-13-084466-7",
  ISBN-13 =      "978-0-13-084466-8",
  LCCN =         "QA76.73.J38 S83 2000",
  bibdate =      "Tue Feb 20 18:20:44 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  price =        "US\$45",
  acknowledgement = ack-nhfb,
}

@InProceedings{Sterbenz:2000:PAC,
  author =       "Andreas Sterbenz and Peter Lipp",
  title =        "Performance of the {AES} Candidate Algorithms in
                 {Java}",
  crossref =     "NIST:2000:TAE",
  pages =        "161--168",
  year =         "2000",
  bibdate =      "Wed Feb 07 19:03:41 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Steven:2000:JCR,
  author =       "John Steven and Pravir Chandra and Bob Fleck and Andy
                 Podgurski",
  title =        "{jRapture}: a Capture\slash Replay tool for
                 observation-based testing",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "5",
  pages =        "158--167",
  month =        sep,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/347636.348993",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:00 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "We describe the design of jRapture: a tool for
                 capturing and replaying Java program executions in the
                 field. jRapture works with Java binaries (byte code)
                 and any compliant implementation of the Java virtual
                 machine. It employs a lightweight, transparent capture
                 process that permits unobtrusive capture of a Java
                 programs executions. jRapture captures interactions
                 between a Java program and the system, including GUI,
                 file, and console inputs, among other types, and on
                 replay it presents each thread with exactly the same
                 input sequence it saw during capture. In addition,
                 jRapture has a profiling interface that permits a Java
                 program to be instrumented for profiling --- after its
                 executions have been captured. Using an XML-based
                 profiling specification language a tester can specify
                 various forms of profiling to be carried out during
                 replay.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Stevens:2000:CPP,
  author =       "Al Stevens",
  title =        "{C} Programming: The {S} Programming Language",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "110--113",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "See comment on another {S} language
                 \cite{Kautz:2000:LLI}.",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/cprog220.txt",
  abstract =     "Al resurrects S, a homebrew C variant he implemented a
                 decade ago -- back before the days of JavaScript and
                 VB. His updated version is written in C++, and includes
                 a shell program that tests the interpreter by loading
                 and executing text source-code files written in the S
                 language. Additional resources include cprog220.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
  xxnote =       "This is NOT the statistics programming language that
                 predated S-Plus; I wrote to the author and pointed out
                 the name conflict.",
}

@Article{Suganuma:2000:OIJ,
  author =       "T. Suganuma and T. Ogasawara and M. Takeuchi and T.
                 Yasue and M. Kawahito and K. Ishizaki and H. Komatsu
                 and T. Nakatani",
  title =        "Overview of the {IBM Java Just-in-Time Compiler}",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "175--193",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.almaden.ibm.com/journal/sj/391/suganuma.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
}

@Article{Sundaresan:2000:PVM,
  author =       "Vijay Sundaresan and Laurie Hendren and Chrislain
                 Razafimahefa and Raja Vall{\'e}e-Rai and Patrick Lam
                 and Etienne Gagnon and Charles Godin",
  title =        "Practical virtual method call resolution for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "264--280",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p264-sundaresan/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Sweeney:2000:ELB,
  author =       "Peter F. Sweeney and Frank Tip",
  title =        "Extracting library-based object-oriented
                 applications",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "6",
  pages =        "98--107",
  month =        nov,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/357474.355059",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:02 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "In an increasingly popular model of software
                 distribution, software is developed in one computing
                 environment and deployed in other environments by
                 transfer over the internet. Extraction tools perform a
                 static whole-program analysis to determine unused
                 functionality in applications in order to reduce the
                 time required to download applications. We have
                 identified a number of scenarios where extraction tools
                 require information beyond what can be inferred through
                 static analysis: software distributions other than
                 complete applications, the use of reflection, and
                 situations where an application uses separately
                 developed class libraries. This paper explores these
                 issues, and introduces a modular specification language
                 for expressing the information required for extraction.
                 We implemented this language in the context of Jax, an
                 industrial-strength application extractor for Java, and
                 present a small case study in which different
                 extraction scenarios are applied to a commercially
                 available library-based application.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Tamura:2000:DWP,
  author =       "Randall A. Tamura",
  title =        "{Domino 5 Web} Programming With {XML}, {Java} and
                 {JavaScript}",
  publisher =    pub-QUE,
  address =      pub-QUE:adr,
  pages =        "xvi + 912",
  year =         "2000",
  ISBN =         "0-7897-2275-5",
  ISBN-13 =      "978-0-7897-2275-1",
  LCCN =         "QA76.625 .T36 2000",
  bibdate =      "Wed Feb 21 06:28:14 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
  subject =      "Internet programming; Web sites; Design; XML (Document
                 markup language); Java (Computer program language)",
}

@Article{Tan:2000:PEN,
  author =       "Kian-Lee Tan and Cheng Hian Goh and Beng Chin Ooi",
  title =        "Progressive evaluation of nested aggregate queries",
  journal =      j-VLDB-J,
  volume =       "9",
  number =       "3",
  pages =        "261--278",
  month =        dec,
  year =         "2000",
  CODEN =        "VLDBFR",
  ISSN =         "1066-8888 (print), 0949-877X (electronic)",
  ISSN-L =       "1066-8888",
  bibdate =      "Mon Jun 23 10:50:54 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In many decision-making scenarios, decision makers
                 require rapid feedback to their queries, which
                 typically involve aggregates. The traditional {\em
                 blocking execution model\/} can no longer meet the
                 demands of these users. One promising approach in the
                 literature, called {\em online aggregation}, evaluates
                 an aggregation query progressively as follows: as soon
                 as certain data have been evaluated, approximate
                 answers are produced with their respective running
                 confidence intervals; as more data are examined, the
                 answers and their corresponding running confidence
                 intervals are refined. In this paper, we extend this
                 approach to handle nested queries with aggregates
                 (i.e., at least one inner query block is an aggregate
                 query) by providing users with (approximate) answers
                 progressively as the inner aggregation query blocks are
                 evaluated. We address the new issues pose by nested
                 queries. In particular, the answer space begins with a
                 superset of the final answers and is refined as the
                 aggregates from the inner query blocks are refined. For
                 the intermediary answers to be meaningful, they have to
                 be interpreted with the aggregates from the inner
                 queries. We also propose a {\em multi-threaded model\/}
                 in evaluating such queries: each query block is
                 assigned to a thread, and the threads can be evaluated
                 concurrently and independently. The time slice across
                 the threads is {\em nondeterministic\/} in the sense
                 that the user controls the relative rate at which these
                 subqueries are being evaluated. For {\em enumerative\/}
                 nested queries, we propose a priority-based evaluation
                 strategy to present answers that are certainly in the
                 final answer space first, before presenting those whose
                 validity may be affected as the inner query aggregates
                 are refined. We implemented a prototype system using
                 Java and evaluated our system. Results for nested
                 queries with a level and multiple levels of nesting are
                 reported. Our results show the effectiveness of the
                 proposed mechanisms in providing progressive feedback
                 that reduces the initial waiting time of users
                 significantly without sacrificing the quality of the
                 answers.",
  acknowledgement = ack-nhfb,
  fjournal =     "VLDB Journal: Very Large Data Bases",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J869",
  keywords =     "approximate answers; multi-threading; nested aggregate
                 queries; online aggregation; progressive query
                 processing",
}

@Article{Tempero:2000:SMI,
  author =       "Ewan Tempero and Robert Biddle",
  title =        "Simulating multiple inheritance in {Java}",
  journal =      j-J-SYST-SOFTW,
  volume =       "55",
  number =       "1",
  pages =        "87--100",
  day =          "5",
  month =        nov,
  year =         "2000",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Wed Apr 18 06:31:07 MDT 2001",
  bibsource =    "http://www.elsevier.com/locate/issn/01641212;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/29/11/54/28/32/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/29/11/54/28/32/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Tennebo:2000:EJE,
  author =       "Frode Tenneb{\o}",
  title =        "Elegance of {Java} and the Efficiency of {C++} ---
                 It's {Ada}",
  journal =      j-LINUX-J,
  volume =       "80",
  pages =        "174--176",
  month =        dec,
  year =         "2000",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Wed Nov 22 06:52:01 MST 2000",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue80/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Tenneb{\o} recommends taking a look at Ada.",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Book{Thau:2000:BJ,
  author =       "Dave Thau",
  title =        "The Book of {JavaScript}: a practical guide to
                 interactive {Web} pages",
  publisher =    pub-NO-STARCH,
  address =      pub-NO-STARCH:adr,
  pages =        "xix + 397",
  year =         "2000",
  ISBN =         "1-886411-36-0",
  ISBN-13 =      "978-1-886411-36-4",
  LCCN =         "QA76.73.J39 T37 2000",
  bibdate =      "Fri May 04 15:53:27 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Thiruvathukal:2000:JNW,
  author =       "George K. Thiruvathukal and Phillip M. Dickens and
                 Shahzad Bhatti",
  title =        "{Java} on networks of workstations {(JavaNOW)}: a
                 parallel computing framework inspired by {Linda} and
                 the {Message Passing Interface (MPI)}",
  journal =      j-CPE,
  volume =       "12",
  number =       "11",
  pages =        "1093--1116",
  month =        sep,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200009)12:11<1093::AID-CPE522>3.0.CO;2-6",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sat Apr 7 06:56:10 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76000187/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76000187&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Book{Topley:2000:CSA,
  author =       "Kim Topley",
  title =        "Core {Swing}: Advanced Programming",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxvii + 930",
  year =         "2000",
  ISBN =         "0-13-083292-8",
  ISBN-13 =      "978-0-13-083292-4",
  LCCN =         "A76.9.U83 T66 2000",
  bibdate =      "Wed Jun 02 16:57:19 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  xxtitle =      "Core {JFC}",
}

@Article{Tost:2000:UJC,
  author =       "A. Tost and V. M. Johnson",
  title =        "Using {JavaBeans} components as accessors to
                 {Enterprise JavaBeans} components",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "2",
  pages =        "293--300",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Sep 25 06:33:35 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/sj39-2.html",
  URL =          "http://www.research.ibm.com/journal/sj/392/tost.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  ordernumber =  "G321-0138",
}

@Article{Travers:2000:JQW,
  author =       "Michael Travers",
  title =        "{Java Q\&A}: What is Interactive Scripting?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "1",
  pages =        "103, 105--111",
  month =        jan,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_01/jqa120.txt",
  abstract =     "What is interactive scripting and what does it have to
                 do with Java? Michael answers this question, as he
                 presents Skij, an interactive scripting language for
                 the Java environment. Additional resources include
                 jqa120.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Tremblett:2000:IJP,
  author =       "Paul Tremblett",
  title =        "Instant {JavaServer} Pages",
  publisher =    pub-OSBORNE,
  address =      pub-OSBORNE:adr,
  pages =        "xiii + 507",
  year =         "2000",
  ISBN =         "0-07-212601-9",
  ISBN-13 =      "978-0-07-212601-3",
  LCCN =         "TK5105.8885.J38 T74 2000",
  bibdate =      "Thu Jan 18 06:06:20 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  URL =          "http://www.instantjsp.com/",
  acknowledgement = ack-nhfb,
}

@Article{Tucker:2000:LEP,
  author =       "Andrew Tucker and Edoardo Comar and Scott Meyers and
                 Yves Piguet and Kevin Ruland and Greg Hadaller and
                 Jonathan Erickson and Mike Zhilin and Todd Stephan",
  title =        "Letters: Editor Preferences; {Java} Enums; Labor Union
                 Harassment; Smart Pointer Update; Traveling Salesman;
                 Granting Block Grant; Porting to {CE}; Analyzing
                 Algorithms",
  journal =      j-DDJ,
  volume =       "25",
  number =       "1",
  pages =        "10, 12",
  month =        jan,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.ddj.com/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Turner:2000:HJP,
  author =       "Shane E. Turner and Karl Barksdale",
  title =        "{HTML} and {JavaScript}: programming concepts",
  publisher =    pub-ITP,
  address =      pub-ITP:adr,
  pages =        "xi + 154",
  year =         "2000",
  ISBN =         "0-538-68822-X",
  ISBN-13 =      "978-0-538-68822-2",
  LCCN =         "????",
  bibdate =      "Wed May 08 08:45:42 2002",
  bibsource =    "ftp://www.math.utah.edu/pub/tex/bib/sgml.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  alttitle =     "HTML and Javascript",
  annote =       "20+ hours to complete.",
  keywords =     "HTML (Document markup language); Java (computer
                 program language); JavaScript (Computer program
                 language)",
  xxauthor =     "E. Shane Turner and Karl Barksdale",
}

@InProceedings{vandenBercken:2000:JXP,
  author =       "Jochen van den Bercken and Jens-Peter Dittrich and
                 Bernhard Seeger",
  title =        "{javax.XXL}: a prototype for a library of query
                 processing algorithms",
  crossref =     "Chen:2000:PAS",
  pages =        "588--588",
  year =         "2000",
  bibdate =      "Wed Oct 25 08:47:39 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/mod/342009/p588-van_den_bercken/",
  acknowledgement = ack-nhfb,
}

@InProceedings{vanDoorn:2000:SJV,
  author =       "Leendert van Doorn",
  title =        "A Secure {Java{\TM} Virtual Machine}",
  crossref =     "USENIX:2000:PNU",
  pages =        "??--??",
  year =         "2000",
  bibdate =      "Wed Oct 16 05:17:16 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/sec2000/vandoorn.html",
  acknowledgement = ack-nhfb,
}

@Book{Vermeulen:2000:EJS,
  author =       "Allan Vermeulen and Scott W. Ambler and Greg
                 Bumgardner and Eldon Metz and Trevor Misfeldt and Jim
                 Shur and Patrick Thompson",
  title =        "The Elements of {Java} Style",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "xiii + 128",
  year =         "2000",
  ISBN =         "0-521-77768-2",
  ISBN-13 =      "978-0-521-77768-1",
  LCCN =         "QA76.73.J38 E44 2000",
  bibdate =      "Wed Apr 05 06:42:22 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$12.95",
  acknowledgement = ack-nhfb,
}

@Article{Viega:2000:SSJ,
  author =       "John Viega and Tom Mutdosch and Gary McGraw and Edward
                 W. Felten",
  title =        "Statically Scanning {Java} Code: Finding Security
                 Vulnerabilities",
  journal =      j-IEEE-SOFTWARE,
  volume =       "17",
  number =       "5",
  pages =        "68--74",
  month =        sep # "\slash " # oct,
  year =         "2000",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/52.877869",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Wed Nov 1 17:47:36 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://computer.org/software/so/s5068abs.htm;
                 http://dlib.computer.org/so/books/so2000/pdf/s5068.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Vilar:2000:JQW,
  author =       "Alexandre Sieira Vilar",
  title =        "{Java Q\&A}: What's Object Pooling All About?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "123--124, 126, 128, 130",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/jqa800.txt;
                 http://www.ddj.com/ftp/2000/2000_08/jqa800.zip",
  abstract =     "Object pooling can be used very effectively to reduce
                 the number of garbage collection executions in a Java
                 application. And that reduction can deliver benefits in
                 terms of reduced processor usage and the absence of
                 unpredictable delays. Additional resources include
                 jqa800.rtf (listings) and jqa800.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Viroli:2000:PPJ,
  author =       "Mirko Viroli and Antonio Natali",
  title =        "Parametric polymorphism in {Java}: an approach to
                 translation based on reflective features",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "146--165",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p146-viroli/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Viswanathan:2000:JVM,
  author =       "D. Viswanathan and S. Liang",
  title =        "{Java Virtual Machine Profiler Interface}",
  journal =      j-IBM-SYS-J,
  volume =       "39",
  number =       "1",
  pages =        "82--95",
  month =        "????",
  year =         "2000",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Apr 24 15:43:02 MDT 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.research.ibm.com/journal/sj/391/viswanathan.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  ordernumber =  "G321-0137",
}

@Article{Wadler:2000:GGJ,
  author =       "Philip Wadler",
  title =        "{GJ}: {A Generic Java}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "23--26, 28",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/gj.txt",
  abstract =     "Generic Java (GJ) adds generic types to the Java
                 language. GJ is compatible with Java, the Java Virtual
                 Machine, and existing libraries. It is also efficient,
                 in that information about generic types is maintained
                 only at compile time, not run time. Additional
                 resources include gj.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Walker:2000:ICE,
  author =       "Robert J. Walker and Gail C. Murphy",
  title =        "Implicit context: easing software evolution and
                 reuse",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "6",
  pages =        "69--78",
  month =        nov,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/357474.355054",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:02 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Software systems should consist of simple,
                 conceptually clean software components interacting
                 along narrow, well-defined paths. All too often, this
                 is not reality: complex components end up interacting
                 for reasons unrelated to the functionality they
                 provide. We refer to knowledge within a component that
                 is not conceptually required for the individual
                 behaviour of that component as extraneous embedded
                 knowledge (EEK). EEK creeps into a system in many
                 forms, including dependences upon particular names and
                 the passing of extraneous parameters. This paper
                 proposes the use of implicit context as a means for
                 reducing EEK in systems by combining a mechanism to
                 reflect upon what has happened in a system, through
                 queries on the call history, with a mechanism for
                 altering calls to and from a component. We demonstrate
                 the benefits of implicit context by describing its use
                 to reduce EEK in the Java{\TM} Swing library.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Wallach:2000:SSM,
  author =       "Dan S. Wallach and Andrew W. Appel and Edward W.
                 Felten",
  title =        "{SAFKASI}: a security mechanism for language-based
                 systems",
  journal =      j-TOSEM,
  volume =       "9",
  number =       "4",
  pages =        "341--378",
  month =        oct,
  year =         "2000",
  CODEN =        "ATSMER",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Fri Apr 20 08:21:35 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tosem/2000-9-4/p341-wallach/p341-wallach.pdf;
                 http://www.acm.org/pubs/citations/journals/tosem/2000-9-4/p341-wallach/",
  abstract =     "In order to run untrusted code in the same process as
                 trusted code, there must be a mechanism to allow
                 dangerous calls to determine if their caller is
                 authorized to exercise the privilege of using the
                 dangerous routine. Java systems have adopted a
                 technique called stack inspection to address this
                 concern. But its original definition, in terms of
                 searching stack frames, had an unclear relationship to
                 the actual achievement of security, overconstrained the
                 implementation of a Java system, limited many desirable
                 optimizations such as method inlining and tail
                 recursion, and generally interfered with
                 interprocedural optimization. We present a new
                 semantics for stack inspection based on a belief logic
                 and its implementation using the calculus of {\em
                 security-passing style\/} which addresses the concerns
                 of traditional stack inspection. With security-passing
                 style, we can efficiently represent the security
                 context for any method activation, and we can build a
                 new implementation strictly by rewriting the Java
                 bytecodes before they are loaded by the system. No
                 changes to the JVM or bytecode semantics are necessary.
                 With a combination of static analysis and runtime
                 optimizations, our prototype implementation shows
                 reasonable performance (although traditional stack
                 inspection is still faster), and is easier to consider
                 for languages beyond Java. We call our system SAFKASI
                 (the Security Architecture Formerly Known as Stack
                 Inspection).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  generalterms = "Design; Languages; Security",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "access control; applets; Internet; Java;
                 security-passing style; stack inspection; WWW",
  subject =      "Software --- Programming Techniques ---
                 Object-oriented Programming (D.1.5); Software ---
                 Software Engineering --- General (D.2.0): {\bf
                 Protection mechanisms}; Software --- Programming
                 Languages --- Language Classifications (D.3.2): {\bf
                 Object-oriented languages}; Software --- Operating
                 Systems --- Security and Protection (D.4.6): {\bf
                 Access controls}; Software --- Operating Systems ---
                 Security and Protection (D.4.6): {\bf Authentication}",
}

@Book{Walsh:2000:JB,
  author =       "Aaron Walsh and Justin Couch and Daniel H. Steinberg",
  title =        "{Java 2} Bible",
  publisher =    pub-IDG,
  address =      pub-IDG:adr,
  pages =        "xxx + 905",
  year =         "2000",
  ISBN =         "0-7645-4632-5",
  ISBN-13 =      "978-0-7645-4632-7",
  LCCN =         "QA76.73.J38 W3575 2000",
  bibdate =      "Wed Feb 21 06:29:48 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$40",
  acknowledgement = ack-nhfb,
}

@Book{Watt:2000:PLP,
  author =       "David A. (David Anthony) Watt and Deryck F. Brown",
  title =        "Programming language processors in {Java}: compilers
                 and interpreters",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xvi + 436",
  year =         "2000",
  ISBN =         "0-13-025786-9 (case)",
  ISBN-13 =      "978-0-13-025786-4 (case)",
  LCCN =         "QA76.73.J38 W385 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "compilers (computer programs); interpreters (computer
                 programs); Java (computer program language)",
}

@Book{Wear:2000:JSW,
  author =       "William Wear",
  title =        "{Java} Security On the {Web}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "0-13-010793-X",
  ISBN-13 =      "978-0-13-010793-0",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:54:31 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
}

@Article{Weis:2000:HMD,
  author =       "R{\"u}diger Weis and J{\"u}rgen Vogel and Wolfgang
                 Effelsberg and Werner Geyer and Stefan Lucks",
  title =        "How to Make a Digital Whiteboard Secure --- Using
                 {Java} Cards for Multimedia Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1905",
  pages =        "187--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:08:46 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1905.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1905/19050187.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1905/19050187.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Welsh:2000:ARS,
  author =       "Matt Welsh and David Culler",
  title =        "Achieving Robust, Scalable Cluster {I/O} in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1915",
  pages =        "16--??",
  year =         "2000",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:08:51 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1915.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1915/19150016.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1915/19150016.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Welsh:2000:JEE,
  author =       "Matt Welsh and David Culler",
  title =        "{Jaguar}: enabling efficient communication and {I/O}
                 in {Java}",
  journal =      j-CPE,
  volume =       "12",
  number =       "7",
  pages =        "519--538",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:7<519::AID-CPE497>3.0.CO;2-M",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:07 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72516211/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72516211&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Book{Weltman:2000:LPJ,
  author =       "Rob Weltman and Tony Dahbura",
  title =        "{LDAP} programming with {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 692",
  year =         "2000",
  ISBN =         "0-201-65758-9",
  ISBN-13 =      "978-0-201-65758-6",
  LCCN =         "QA76.73.J38 W47 2000",
  bibdate =      "Tue Feb 20 18:39:03 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer network protocols; Java (computer program
                 language)",
}

@Book{Whelan:2000:MVA,
  author =       "Paul F. Whelan and Derek Molloy",
  title =        "Machine vision algorithms in {Java}: techniques and
                 implementation",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xvii + 284",
  year =         "2000",
  ISBN =         "1-85233-218-2",
  ISBN-13 =      "978-1-85233-218-1",
  LCCN =         "TA1634 .W54 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer algorithms; computer vision; Java (computer
                 program language)",
}

@Book{Wiener:2000:FOD,
  author =       "Richard Wiener and Lewis Pinson",
  title =        "Fundamentals of {OOP} and Data Structures in {Java}",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "xv + 463",
  year =         "2000",
  ISBN =         "0-521-66220-6",
  ISBN-13 =      "978-0-521-66220-8",
  LCCN =         "QA76.73.J38 W53 2000",
  bibdate =      "Wed Feb 21 06:30:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
}

@Article{Williams:2000:TII,
  author =       "Al Williams",
  title =        "The {TINI Internet} Interface",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "82, 84, 86, 88",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/tini.txt",
  abstract =     "Need to build an Internet appliance? Dallas
                 Semiconductor's Tiny InterNet Interface (TINI) board --
                 that includes a Java-capable CPU, 512 K of nonvolatile
                 memory, and an Ethernet transceiver -- may be the place
                 to start. Additional resources include tini.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wilson:2000:PBA,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: All This, and Frequent Flyer
                 Miles, Too!",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "135--136",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.ddj.com/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This month, Greg examines Mastering Algorithms with
                 Perl, by Jon Orwant, Jarkko Hietaniemi, and John
                 Macdonald, Programming for the Java Virtual Machine, by
                 Joshua Engel, Java for Engineers and Scientists, by
                 Stephen J. Chapman, Introductory Java for Scientists
                 and Engineers, by Richard Davies, the C++ Toolkit for
                 Scientists and Engineers, by James T. Smith, Quantum
                 Computing and Communications, by Michael Brooks, and
                 Steven Roman's Learning Word Programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wilson:2000:PBC,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Classics Old and New",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "159--160",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This month Greg looks at Programming Pearls, Second
                 Edition, by Jon Bentley; Foundations of Multithreaded,
                 Parallel, and Distributing Programming, by Gregory R.
                 Andrews; GUI Bloopers, by Jeff Johnson; The Humane
                 Interface, by Jef Raskin; Legal Battles That Shaped the
                 Software Industry, by Lawrence D. Graham; The World of
                 Scripting Languages, by David Barron; C for Java
                 Programmers, by Tomasz Muldner; and XML Elements of
                 Style, by Simon St. Laurent.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wilson:2000:PBS,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Stirring the Gene Pool",
  journal =      j-DDJ,
  volume =       "25",
  number =       "5",
  pages =        "127, 130",
  month =        may,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:15 MST 2000",
  bibsource =    "http://www.ddj.com/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Greg's roundup this month includes Objects
                 Unencapsulated: Java, Eiffel, and C++?, by Ian Joyner;
                 The Logic Programming Paradigm, by Krzysztof R. Apt,
                 Victor W. Marek, Mirek Truszczynski, and David S.
                 Warren; Quantum Computing and Communications, edited by
                 Michael Brooks; Cambrian Intelligence, by Rodney A.
                 Brooks; Intellectual Property in the Age of Universal
                 Access, by the ACM; Database Design for Smarties, by
                 Robert J. Muller; Designing Maintainable Software, by
                 Dennis D. Smith; and (finally) Automating Windows with
                 Perl, by Scott McMahan.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Winder:2000:DJS,
  author =       "Russ Winder and Graham Roberts",
  title =        "Developing {Java} Software",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xvi + 1004",
  year =         "2000",
  ISBN =         "0-471-60696-0",
  ISBN-13 =      "978-0-471-60696-3",
  LCCN =         "QA76.73.J38 W557 2000",
  bibdate =      "Wed Feb 21 06:31:29 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$50",
  acknowledgement = ack-nhfb,
}

@Book{Witten:2000:DMP,
  author =       "Ian H. Witten and Eibe Frank",
  title =        "Data Mining: Practical Machine Learning Tools and
                 Techniques with {Java} implementations",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xxv + 371",
  year =         "2000",
  ISBN =         "1-55860-552-5",
  ISBN-13 =      "978-1-55860-552-7",
  LCCN =         "QA76.9.D343 W58 2000",
  bibdate =      "Fri May 04 17:56:08 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.95",
  URL =          "http://www.mkp.com/books%5Fcatalog/catalog.asp?ISBN=1-55860-489-8#Contents",
  acknowledgement = ack-nhfb,
}

@Article{Wittenberg:2000:PTC,
  author =       "Craig H. Wittenberg",
  title =        "Progress in testing component-based software (abstract
                 only)",
  journal =      j-SIGSOFT,
  volume =       "25",
  number =       "5",
  pages =        "178",
  month =        sep,
  year =         "2000",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/347636.349099",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:00 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Software components enable practical reuse of software
                 parts and amortization of investments over multiple
                 applications. Each part or component is well defined
                 and independently deployable. Composition is the key
                 technique by which systems of software components are
                 constructed. The composition step can be done before or
                 after the delivery of the system. It is this late
                 composition (or at least the possibility of it) which
                 yields the greatest challenges from a testing
                 standpoint. That is, a component-based application may
                 be composed out of parts that were never tested
                 together. Thus the most useful and reliable parts are
                 those which have been tested independently in as many
                 ways as possible. The Component Applications Group in
                 Microsoft Research is developing tools, techniques, and
                 a large component library to enable the development of
                 sophisticated office, home and web-based applications.
                 For the past three and a half years we have been
                 working on two main efforts. First, we have created a
                 prototype of a highly factored (i.e., customizable,
                 flexible, etc.) architecture for the construction of
                 the UI of applications. Our work can be applied to
                 traditional window-ed applications as well as to the
                 look and feel of Web applications. During this effort
                 we have developed a variety of design techniques, two
                 different composition mechanisms, a visual tool for
                 compositions, and have built several application
                 prototypes out of the same set of components. Most of
                 our time has been spent on tools and techniques for
                 building reliable components. Certain pieces of our
                 infrastructure formed the domain in which we tried out
                 our ideas. The first component we tested was one of our
                 composition mechanisms. That was followed by the
                 testing of a dynamic, binary, aspect composition
                 mechanism and of a particularly generic implementation
                 of collection classes. Our well-factored, versioned
                 build system will also be described. All of the results
                 of our work are compatible with COM. The talk will
                 focus on our key lessons in composition, specification,
                 processes, and tools with a particular emphasis on our
                 test harness and our results in testing. A discussion
                 of the last few bugs found in each of several projects
                 should prove interesting. Some comparisons will be made
                 with other projects inside and outside Microsoft. Since
                 we can only claim progress, not perfection, there are
                 still many areas for further research. As an example,
                 we are looking at ways we can use language annotations
                 to simplifying whole classes of problems (e.g., tests
                 for reentrancy). One of the points here is that we can
                 improve our ability to create reliable components by
                 improving the languages used to implement them (like
                 Java has popularized the use of a garbage collector).
                 Another example is that we hope to improve the
                 automation of the sequencing of test cases. Finally, as
                 a tribute to the power of standing on other's
                 shoulders, many of the roots of our ideas will be
                 traced to techniques published elsewhere. You might say
                 we only composed together many already good ideas. Our
                 group includes people who developed COM itself (myself
                 and Tony Williams), many people from within Microsoft
                 who have delivered successful component-based products
                 (e.g., in Visual Studio), and world-renowned
                 component-ologist (:-) Clemens Szyperski who wrote
                 Component Software: Beyond Object-Oriented
                 Programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Wu:2000:CPG,
  author =       "Peng Wu and David Padua",
  title =        "Containers on the Parallelization of General-Purpose
                 {Java} Programs",
  journal =      j-INT-J-PARALLEL-PROG,
  volume =       "28",
  number =       "6",
  pages =        "589--605",
  month =        dec,
  year =         "2000",
  CODEN =        "IJPPE5",
  DOI =          "https://doi.org/10.1023/A:1007564701813",
  ISSN =         "0885-7458 (print), 1573-7640 (electronic)",
  ISSN-L =       "0885-7458",
  bibdate =      "Wed Jul 6 16:39:56 MDT 2005",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=28&issue=6;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib; OCLC
                 Contents1st database",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=28&issue=6&spage=589",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Parallel Programming",
  journal-URL =  "http://link.springer.com/journal/10766",
}

@Book{Wutka:2000:SEU,
  author =       "Mark Wutka",
  title =        "Special edition using {Java Server Pages} and
                 servlets",
  publisher =    pub-QUE,
  address =      pub-QUE:adr,
  pages =        "xi + 754",
  year =         "2000",
  ISBN =         "0-7897-2441-3",
  ISBN-13 =      "978-0-7897-2441-0",
  LCCN =         "QA76.73.J38 W87 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); servlets; Web
                 servers",
}

@Article{Yutaka:2000:EJV,
  author =       "Oiwa Yutaka and Kenjiro Taura and Akinori Yonezawa",
  title =        "Extending {Java} virtual machine with
                 integer-reference conversion",
  journal =      j-CPE,
  volume =       "12",
  number =       "6",
  pages =        "407--422",
  month =        may,
  year =         "2000",
  CODEN =        "CPEXEI",
  DOI =          "https://doi.org/10.1002/1096-9128(200005)12:6<407::AID-CPE482>3.0.CO;2-E",
  ISSN =         "1040-3108",
  ISSN-L =       "1040-3108",
  bibdate =      "Sun Oct 29 16:57:06 MST 2000",
  bibsource =    "http://www.interscience.wiley.com/jpages/1040-3108;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/72515729/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=72515729&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency, practice and experience",
}

@Article{Zaks:2000:SCJ,
  author =       "Ayal Zaks and Vitaly Feldman and Nava Aizikowitz",
  title =        "Sealed calls in {Java} packages",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "83--92",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p83-zaks/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Zeadally:2000:IPQ,
  author =       "S. Zeadally",
  title =        "Implementation and Performance of {QoS}-aware {Java}
                 Applications over {ATM} Networks",
  journal =      j-COMP-J,
  volume =       "43",
  number =       "4",
  pages =        "266--273",
  month =        "????",
  year =         "2000",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Nov 14 07:02:08 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_43/Issue_04/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_43/Issue_04/430266.sgm.abs.html;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_43/Issue_04/pdf/430266.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Article{Zeadally:2000:PEJ,
  author =       "S. Zeadally",
  title =        "Performance evaluation of a {Java}-based networking
                 {Application Programming Interface (API)}",
  journal =      j-INFO-PROC-LETT,
  volume =       "75",
  number =       "5",
  pages =        "199--209",
  day =          "31",
  month =        oct,
  year =         "2000",
  CODEN =        "IFPLAT",
  ISSN =         "0020-0190 (print), 1872-6119 (electronic)",
  ISSN-L =       "0020-0190",
  bibdate =      "Thu Oct 12 06:44:40 MDT 2000",
  bibsource =    "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/23/20/64/30/27/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/23/20/64/30/27/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Processing Letters",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00200190",
}

@Book{Adams:2001:JIC,
  author =       "Joel Adams and Larry R. Nyhoff and Jeffrey Nyhoff",
  title =        "{Java}: An Introduction to Computing",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "lvi + 945",
  year =         "2001",
  ISBN =         "0-13-014251-4",
  ISBN-13 =      "978-0-13-014251-1",
  LCCN =         "QA76.73.J38 A33 2001",
  bibdate =      "Fri Apr 13 15:29:10 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$70.00",
  URL =          "http://www.phptr.com/ptrbooks/esm_0130142514.html",
  acknowledgement = ack-nhfb,
}

@Book{Ahmed:2001:PJX,
  author =       "Kal Ahmed",
  title =        "{Professional Java XML}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "xv + 1159",
  year =         "2001",
  ISBN =         "1-86100-401-X",
  ISBN-13 =      "978-1-86100-401-7",
  LCCN =         "QA76.76.H94 P7626 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  keywords =     "client/server computing; Java (computer program
                 language); XML (document markup language)",
}

@Article{Aleksy:2001:ASB,
  author =       "M. Aleksy and A. Korthaus",
  title =        "Access to {SAP}'s {Business Framework} from
                 {Java}-based applications",
  journal =      j-CCPE,
  volume =       "13",
  number =       "7",
  pages =        "621--641",
  month =        jun,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.562",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/83002172/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=83002172&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Allan:2001:CSA,
  author =       "V. H. Allan and X. Chen",
  title =        "{Convert2Java}: semi-automatic conversion of {C} to
                 {Java}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "201--211",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/28/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Alpern:2001:EDJ,
  author =       "Bowen Alpern and Anthony Cocchi and David Grove and
                 Derek Lieber",
  title =        "Efficient Dispatch of {Java} Interface Methods",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "621--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100621.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100621.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Alpern:2001:EIJ,
  author =       "Bowen Alpern and Anthony Cocchi and Stephen Fink and
                 David Grove",
  title =        "Efficient implementation of {Java} interfaces:
                 {Invokeinterface} considered harmless",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "108--124",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Alur:2001:CJP,
  author =       "Deepak Alur and John Crupi and Dan Malks",
  title =        "Core {J2EE} Patterns: Best Practices and Design
                 Strategies",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxvi + 459",
  year =         "2001",
  ISBN =         "0-13-064884-1",
  ISBN-13 =      "978-0-13-064884-6",
  LCCN =         "QA76.73.J38 A454 2001",
  bibdate =      "Sat Apr 20 11:09:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sun.com/books/catalog/crupi/index.html",
  acknowledgement = ack-nhfb,
}

@Article{Anantharam:2001:EJP,
  author =       "Parasuram Anantharam",
  title =        "Essentials of the {Java} programming language: a
                 hands-on guide",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "2",
  pages =        "76--76",
  month =        mar,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/505776.505796",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:06 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Ancona:2001:CCJ,
  author =       "D. Ancona and G. Lagorio and E. Zucca",
  title =        "A core calculus for {Java} exceptions",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "16--30",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Ancona:2001:ETF,
  author =       "Davide Ancona and Christopher Anderson and Ferruccio
                 Damiani and Sophia Drossopoulou and Paola Giannini and
                 Elena Zucca",
  title =        "An Effective Translation of {Fickle} into {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2202",
  pages =        "215--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:47 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2202.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2202/22020215.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2202/22020215.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ancona:2001:TMJ,
  author =       "Davide Ancona and Elena Zucca",
  title =        "True Modules for {Java}-like Languages",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2072",
  pages =        "354--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:27 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2072.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2072/20720354.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2072/20720354.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Andersson:2001:KDJ,
  author =       "Johan Andersson",
  title =        "{Kaffemik} --- a distributed {JVM} featuring a single
                 address space",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/JVM_wips/S09.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Angell:2001:JSS,
  author =       "Kirby W. Angell",
  title =        "The {Java Secure Socket Extensions}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "21--22, 24, 26, 28",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jsse.txt;
                 http://www.ddj.com/ftp/2001/2001_02/jsse.zip",
  abstract =     "The Java Secure Socket Extension package and Java
                 Run-Time Environment provide most of the tools you need
                 to implement SSL within Java applications. Additional
                 resources include jssr.txt (listings) and jsse.zip
                 (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Anonymous:2001:BRJ,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{{Java} programming: From the
                 beginning}}: By K. N. King. W. W. Norton, New York.
                 (2000). 788 pages. \$52.50}",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "41",
  number =       "3--4",
  pages =        "541--541",
  month =        feb,
  year =         "2001",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Wed Mar 1 21:49:14 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computmathappl2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0898122101900331",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/08981221",
}

@Article{Anonymous:2001:CRJ,
  author =       "Anonymous",
  title =        "Conference Report: {{\em 1st Java VM Virtual Machine
                 Research and Technology Symposium (JVM '01)}}",
  journal =      j-LOGIN,
  volume =       "26",
  number =       "5",
  pages =        "??--??",
  month =        aug,
  year =         "2001",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 06:42:33 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2001-08/index.html",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Anonymous:2001:GLW,
  author =       "Anonymous",
  title =        "The {Grande Latte} Wireless Experience",
  journal =      j-IEEE-SPECTRUM,
  volume =       "38",
  number =       "5",
  pages =        "9--9",
  month =        may,
  year =         "2001",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2001.920037",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "Bluetooth; Cameras; Cellular phones; Communication
                 system security; Counting circuits; Games; Ham radios;
                 Internet; Java; Operating systems",
}

@Article{Anonymous:2001:JAV,
  author =       "Anonymous",
  title =        "A {Java} applet for visualizing protein-protein
                 interaction",
  journal =      j-BIOINFORMATICS,
  volume =       "17",
  number =       "7",
  pages =        "669--671",
  month =        jul,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "3",
}

@Article{Anonymous:2001:LCO,
  author =       "Anonymous",
  title =        "Leaders co-operate on {Java} technology",
  journal =      "Card Technology Today",
  volume =       "13",
  number =       "4",
  pages =        "6--7",
  day =          "1",
  month =        apr,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "0965-2590",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "2",
}

@Article{Anonymous:2001:PCP,
  author =       "Anonymous",
  title =        "Products: Cross-Platform Toolkit for {Bristol
                 Technology}; {InstallShield} Updates {Windows}
                 Installer; {Droplet} Offers Unique {Web} Application
                 {SDK}; {ObjectFX Corporation}'s {Web}-Based
                 Visualization Software; {Basis Technology} Updates
                 {C++} Library; {MathWorks} Unveils Embedded Control
                 Design Suite; {Intuitive Systems} Offers {Java}
                 Profiling Tool; {Computer Associates}' {E}-Business
                 Development Environment; {Programming Research Ltd.}'s
                 Static Analysis Tool",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "1",
  pages =        "130--131",
  month =        jan,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Thu Jan 18 17:55:13 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r1130.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:PFS,
  author =       "Anonymous",
  title =        "Products: {Free Software Foundation} Updates Compiler
                 Toolset; {IT Factory}'s {Lotus Tools Suite}; {Cardiff
                 Software}'s Real-Time Document Verification
                 Application; {Great Bridge} Updates Open Source
                 Database; {OpenPath Products'} Wireless Application
                 Authoring Tool; {Curl}'s {Web} Application Development
                 Environment; {ThinAirApp} Ships Mobile {Visual Basic
                 IDE}; {Princeton Softech} Updates Server Archiving
                 Software; {Codemesh} Releases {Java} Communications
                 Environment",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "9",
  pages =        "112--114",
  month =        sep,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Sep 12 14:28:14 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r9112.pdf;
                 http://www.computer.org/computer/co2001/r9112abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:PGH,
  author =       "Anonymous",
  title =        "Products: {Green Hills} Ships {StarCore} Development
                 Probe; {Zayante}'s {FireWire} Support for {Windows CE};
                 {Embedded Performance} Develops {SoC} Debugger;
                 {Extended Systems} Updates {Bluetooth} Development Kit;
                 {First Embedded} {IPv6} Router Reference Platform;
                 {Integrated Wireless} {Java} Technology; {Java}
                 Performance on Wireless Devices; {Syclo}'s Mobile
                 Software Development Platform",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "11",
  pages =        "124--126",
  month =        nov,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Feb 8 07:11:47 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/ry124.pdf;
                 http://www.computer.org/computer/co2001/ry124abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:PPS,
  author =       "Anonymous",
  title =        "Products: {ProxySource}'s Software Design and
                 Collaboration Application; {YesSoftware}'s Code
                 Generation Application; {Persistence Software}'s
                 Transactional Application Server; {Instantiation}'s
                 {Java} Productivity Tools; {JCanvas} Visual Rapid
                 Application {IDE}; {theKompany.com}'s {Python}
                 Development Environment; {NeuVis} Updates {E}-Business
                 Visual Modeling Tools; {LegacyJ}'s {Java}-Compliant
                 {Cobol} Compiler",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "3",
  pages =        "108--109",
  month =        mar,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Mar 14 07:01:26 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r3108.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:PPT,
  author =       "Anonymous",
  title =        "Products: {Planet 7 Technologies}' New {XML}
                 Development Software; {Apple Computer} Launches
                 {UNIX}-Based Operating System; {Codemesh} Releases
                 {Java\slash C++} Integration Software for {Solaris};
                 {Telelogic AB}'s {C++} Quality Assessment Environment;
                 {Green Hills} Ships Embedded Integrated Development
                 Platform; {Concurrent Computer} Introduces {Linux}
                 Application Development Environment",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "5",
  pages =        "85--86",
  month =        may,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri May 4 17:53:39 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r5085.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:PSX,
  author =       "Anonymous",
  title =        "Products: {SoftQuad}'s {XML} Content Creation
                 Software; {OriginLab} Updates Graphing Tool;
                 {NuSphere}'s Enterprise {Web} Development Platform;
                 {MetaWare}'s {XScale} Programming Tools; {Aether
                 Systems}' Wireless Development Environment; {Visual
                 Numerics} Upgrades {Java} Application Deployment Tools;
                 {C Level Design} Introduces {C/C++} Hardware Design
                 Environment; {ActiveState}'s {Perl} Development and
                 Deployment Software; {Advanced Software} Ships {UML}
                 Design Tool; {Borland}'s {Java 2} Rapid Application
                 Development Environment; {Web} Services Application
                 Development Platform; {RidgeRun}'s Embedded {Linux}
                 Development Kit; {IONA} Modeling and Development
                 Environment",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "7",
  pages =        "90--92",
  month =        jul,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Jul 11 07:52:11 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r7090.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:PVL,
  author =       "Anonymous",
  title =        "Products: {Viosoft}'s {Linux} Embedded Development
                 Environment; {Popkin Software} Releases Development
                 Modeling Suite; {Iopsis Software}'s {Forte for Java
                 IDE}; {NQL} Releases Scripting Language Components;
                 {Ascend Software} Updates Delivery Management System;
                 {Excel Software} Ships {UML} Design Tool;
                 {Hyperformix}'s Discrete-Event Simulation Modeler;
                 {InCert}'s Application Fault Management Software;
                 {BioconX} Releases Biometric Security Software;
                 {Waterloo Maple}'s Mathematical Computation Software
                 [{Maple 7}]; {Equator Technologies}' Application
                 Development Toolkit",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "8",
  pages =        "84--86",
  month =        aug,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Thu Aug 30 10:36:59 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r8084.pdf;
                 http://www.computer.org/computer/co2001/r8084abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:PWB,
  author =       "Anonymous",
  title =        "Products: {Web}-Based Remote Administration Tools;
                 {SGDL System}'s {$3$D} Model Development Language Kit;
                 {MigraTEC}'s {Solaris-to-Linux} Migration Software;
                 {Visual Numerics} Updates {C} Numerical Library;
                 {Stardock}'s {Windows} Skin Development Software;
                 {InterNetwork}'s New Load Capacity Testing Software;
                 {SuSE Linux} for {PowerPC}; {Raytheon} Updates Network
                 Security Tools; {Tasking} Updates Embedded Development
                 Tools; {ExoLab Group} Offers Open-Source Data-Binding
                 Software; {Omnicore Software}'s {Java} Development
                 Environment; {Basis International} Releases
                 {Java}-Based Business Basic; {Zondigo}'s Wireless
                 Software Development Kit; {MDD} Introduces Password
                 Administration Software; {StatSoft} Revises Data
                 Visualization Tool; {Abaco} Updates Mobile Application
                 Development Framework",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "6",
  pages =        "90--93",
  month =        jun,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Jul 11 07:52:11 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r6090.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2001:TIJ,
  author =       "Anonymous",
  title =        "{Taiwan} to issue {Java}-based insurance card from
                 {G\&D}",
  journal =      "Card Technology Today",
  volume =       "13",
  number =       "9",
  pages =        "4--4",
  day =          "1",
  month =        oct,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "0965-2590",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "1",
}

@Article{Antoniu:2001:CMJ,
  author =       "Gabriel Antoniu and Luc Boug{\'e} and Philip Hatcher
                 and Mark MacBeth and Keith McGuigan and Raymond
                 Namyst",
  title =        "Compiling Multithreaded {Java} Bytecode for
                 Distributed Execution (Distinguished Paper)",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1900",
  pages =        "1039--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1900.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1900/19001039.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1900/19001039.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Antoniu:2001:HSC,
  author =       "Gabriel Antoniu and others",
  title =        "The {Hyperion} system: {Compiling} multithreaded
                 {Java} bytecode for distributed execution",
  journal =      j-PARALLEL-COMPUTING,
  volume =       "27",
  number =       "10",
  pages =        "1279--1297",
  month =        sep,
  year =         "2001",
  CODEN =        "PACOEJ",
  ISSN =         "0167-8191 (print), 1872-7336 (electronic)",
  ISSN-L =       "0167-8191",
  bibdate =      "Fri Feb 22 16:52:42 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/01678191;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/35/21/47/40/27/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/35/21/47/40/27/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Parallel Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01678191",
}

@Article{Aridor:2001:DIV,
  author =       "Yariv Aridor and Michael Factor and Avi Teperman",
  title =        "A distributed implementation of a virtual machine for
                 {Java}",
  journal =      j-CCPE,
  volume =       "13",
  number =       "3",
  pages =        "221--244",
  month =        mar,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.565",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:46 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/78003113/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78003113&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Aridor:2001:IJC,
  author =       "Yariv Aridor and Michael Factor and Avi Teperman",
  title =        "Implementing {Java} on Clusters",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2150",
  pages =        "722--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:53 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2150.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2150/21500722.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2150/21500722.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ariga:2001:PSI,
  author =       "Taeko Ariga and Hideki Tsuiki",
  title =        "Programming for students of information design",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "4",
  pages =        "59--63",
  month =        dec,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/572139.572172",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:51 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse33.html#ArigaT01;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2001.bib",
  abstract =     "Programming is one of the subjects which students of
                 information design need to study. Programming training
                 will improve their multimedia representation, even when
                 they use software packages. It will also enlarge the
                 possibility of new interactive multimedia art over the
                 internet. We propose course materials to teach
                 programming by Java, which have been applied to a
                 programming course in the Department of Information
                 Design.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Arnold:2001:EIB,
  author =       "Matthew Arnold and Michael Hsiao and Ulrich Kremer and
                 Barbara G. Ryder",
  title =        "Exploring the Interaction between {Java}'s Implicitly
                 Thrown Exceptions and Instruction Scheduling",
  journal =      j-INT-J-PARALLEL-PROG,
  volume =       "29",
  number =       "2",
  pages =        "111--137",
  month =        apr,
  year =         "2001",
  CODEN =        "IJPPE5",
  DOI =          "https://doi.org/10.1023/A:1007621602134",
  ISSN =         "0885-7458 (print), 1573-7640 (electronic)",
  ISSN-L =       "0885-7458",
  bibdate =      "Wed Jul 6 16:39:57 MDT 2005",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=29&issue=2;
                 http://www.kluweronline.com/issn/0885-7458;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ipsapp009.lwwonline.com/content/getfile/4773/20/1/abstract.htm;
                 http://ipsapp009.lwwonline.com/content/getfile/4773/20/1/fulltext.pdf;
                 http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=29&issue=2&spage=111",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Parallel Programming",
  journal-URL =  "http://link.springer.com/journal/10766",
}

@Book{Arrington:2001:EJU,
  author =       "C. T. Arrington",
  title =        "Enterprise {Java} with {UML}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxii + 451",
  year =         "2001",
  ISBN =         "0-471-38680-4 (paperback)",
  ISBN-13 =      "978-0-471-38680-3 (paperback)",
  LCCN =         "QA76.73.J38 A78 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); UML (computer
                 science)",
}

@Article{Atkinson:2001:PJB,
  author =       "Malcolm Atkinson",
  title =        "Persistence and {Java} -- {A} Balancing Act",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1944",
  pages =        "1--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:49 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1944.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1944/19440001.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1944/19440001.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Attali:2001:GVJ,
  author =       "Isabelle Attali and Denis Caromel and Marjorie Russo",
  title =        "Graphical Visualization of {Java} Objects, Threads,
                 and Locks",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "2",
  number =       "1",
  year =         "2001",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:47:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0101/features/att0101_print.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Attali:2001:IDE,
  author =       "Isabelle Attali and Denis Caromel and Carine Courbis
                 and Ludovic Henrio and Henrik Nilsson",
  title =        "An integrated development environment for {Java
                 Card}",
  journal =      j-COMP-NET-AMSTERDAM,
  volume =       "36",
  number =       "4",
  pages =        "391--405",
  day =          "16",
  month =        jul,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1389-1286 (print), 1872-7069 (electronic)",
  ISSN-L =       "1389-1286",
  bibdate =      "Wed Jul 25 16:48:14 MDT 2001",
  bibsource =    "http://www.elsevier.com/locate/issn/13891286;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/15/22/61/28/27/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/15/22/61/28/27/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Networks (Amsterdam, Netherlands: 1999)",
  journal-URL =  "http://www.sciencedirect.com/science/journal/13891286",
}

@Article{Avetisyan:2001:EJE,
  author =       "A. Avetisyan and S. Gaissaryan and O. Samovarov",
  title =        "Extension of {Java} Environment by Facilities
                 Supporting Development of {SPMD Java}-Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2127",
  pages =        "175--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2127.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2127/21270175.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2127/21270175.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Ayers:2001:PJD,
  author =       "Danny Ayers",
  title =        "Professional {Java} data",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "xxvii + 1320",
  year =         "2001",
  ISBN =         "1-86100-410-9 (paperback)",
  ISBN-13 =      "978-1-86100-410-9 (paperback)",
  LCCN =         "QA76.73.J38 P76 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language)",
}

@Article{Bachrach:2001:JSE,
  author =       "Jonthan Bachrach and Keith Playford",
  title =        "The {Java Syntactic Extender} ({JSE})",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "31--42",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bacon:2001:JCB,
  author =       "David F. Bacon and Clement R. Attanasio and Han B. Lee
                 and V. T. Rajan and Stephen Smith",
  title =        "{Java} without the coffee breaks: a nonintrusive
                 multiprocessor garbage collector",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "92--103",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@InProceedings{Bacon:2001:KJD,
  author =       "David Bacon",
  title =        "{Kava}: a {Java} Dialect with a Uniform Object Model
                 for Lightweight Classes",
  crossref =     "ACM:2001:PAJ",
  pages =        "68--77",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/38.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500068.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Bainbridge:2001:CEJ,
  author =       "A. Bainbridge and J. Colgrave and A. Colyer and G.
                 Normington",
  title =        "{CICS} and {Enterprise JavaBeans}",
  journal =      j-IBM-SYS-J,
  volume =       "40",
  number =       "1",
  pages =        "46--67",
  month =        "????",
  year =         "2001",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Sat Apr 7 16:40:01 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/sj40-1.html",
  URL =          "http://www.research.ibm.com/journal/sj/401/bainbridge.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  ordernumber =  "G321-0140",
}

@Article{Baran:2001:NVA,
  author =       "Nicholas Baran",
  title =        "News and Views: Anonymity and the {Internet}; Is
                 Industry Hogging Computer Science Talent?; Relief from
                 Acronyms; {OpenML} Spec Released; {C\#} Not Just a
                 {Java} Killer, Says Anders; And the Winners Are
                 \ldots{}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "18--18",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Baran:2001:NVC,
  author =       "Nicholas Baran",
  title =        "News and Views: {College Board} to Add {Java} Test;
                 Astronomy Project Beats Out Algorithm for Science
                 Prize; Consortium to Release {XML} Business
                 Specification; Open Source Developer Agreement
                 Proposed; Consortium Hopes to Eliminate Computer
                 Failures; New Linear Algorithm for Sequence Analysis;
                 Distributing Computing {\`a} la {SETI} Catches On",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "18--18",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://publicscience.net/; http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Baran:2001:NVM,
  author =       "Nicholas Baran",
  title =        "News and Views: Mail Server Benchmark Released; New
                 Traveling Salesman Algorithm; {ACLU} Challenges {ICANN}
                 on Freedom of Speech; {Microsoft} Opts for Decaf; Store
                 Your Data on the {Internet}; And Mind Your Electronic
                 Trash",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "18--18",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.cs.wustl.edu/; http://www.ddj.com/;
                 http://www.spec.org/osg/mail2001/docs/FAQ.html;
                 http:/www.research.att.com/~alb/ALENEX01",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
  keywords =     "Microsoft drops Java; Oceanstore; SPECmail2001;
                 Weixiong Zhang and David S. Johnson's new Traveling
                 Salesman Problem (TSP) algorithm",
}

@Article{Barisone:2001:JSM,
  author =       "A. Barisone and F. Bellotti and R. Berta and A. {De
                 Gloria}",
  title =        "{JSBricks}: a suite of microbenchmarks for the
                 evaluation of {Java} as a scientific execution
                 environment",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "293--306",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/35/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Barros:2001:UPN,
  author =       "Jo{\~a}o Paulo Barros",
  title =        "Use {Petri} nets to improve your concurrent
                 programming course (poster session)",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "3",
  pages =        "192--192",
  month =        sep,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/507758.377713",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:50 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Petri nets are recommended as a learning aid in a
                 concurrent programming course covering modelling and
                 verification techniques, based on state space analysis,
                 and translation of formal models to Java programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Barthe:2001:FES,
  author =       "Gilles Barthe and Guillaume Dufay and Line Jakubiec
                 and Bernard Serpette and Sim{\~a}o Melo de Sousa",
  title =        "A Formal Executable Semantics of the {JavaCard}
                 Platform",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2028",
  pages =        "302--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:45 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2028.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2028/20280302.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2028/20280302.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Barthe:2001:JTR,
  author =       "G. Barthe and G. Dufay and M. Huisman and S. Melo de
                 Sousa",
  title =        "Jakarta: a Toolset for Reasoning about {JavaCard}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "2--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400002.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400002.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Batheja:2001:FOC,
  author =       "Jyoti Batheja and Manish Parashar",
  title =        "A Framework for Opportunistic Cluster Computing Using
                 {JavaSpaces}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "647--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100647.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100647.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bechini:2001:BIC,
  author =       "Alessio Bechini and Cosimo Antonio Prete",
  title =        "Behavior investigation of concurrent {Java} programs:
                 an approach based on source-code instrumentation",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "307--316",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/36/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Becker:2001:SMW,
  author =       "Thomas Becker",
  title =        "Synchronization Monitors For {Win32}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "46, 48, 50--52, 54",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/monitor.txt;
                 http://www.ddj.com/ftp/2001/2001_12/monitor.zip",
  abstract =     "Thomas presents a Java-style synchronization monitor
                 for multithreaded Win32 development. Additional
                 resources include {\tt monitor.txt} (listings) and {\tt
                 monitor.zip} (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Becker:2001:TCK,
  author =       "Byron Weber Becker",
  title =        "Teaching {CS1} with {Karel} the robot in {Java}",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "50--54",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364536",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Most current Java textbooks for CS1 (and thus most
                 current courses) begin either with fundamentals from
                 the procedural paradigm (assignment, iteration,
                 selection) or with a brief introduction to using
                 objects followed quickly with writing objects. We have
                 found a third way to be most satisfying for both
                 teachers and students: using interesting predefined
                 classes to introduce the fundamentals of
                 object-oriented programming (object instantiation,
                 method calls, inheritance) followed quickly by the
                 traditional fundamentals of iteration and selection,
                 also taught using the same predefined classes. Karel
                 the Robot, developed by Richard Pattis [6] and
                 well-known to many computer science educators, has aged
                 gracefully and is a vital part of our CS1 curriculum.
                 This paper explains how Karel may be used and the
                 advantages of doing so.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Beckert:2001:DLF,
  author =       "Bernhard Beckert",
  title =        "A Dynamic Logic for the Formal Verification of {Java}
                 Card Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "6--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410006.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410006.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Beebee:2001:ISM,
  author =       "William S. {Beebee, Jr.} and Martin Rinard",
  title =        "An Implementation of Scoped Memory for Real-Time
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2211",
  pages =        "289--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2211.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2211/22110289.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2211/22110289.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bellotti:2001:AJG,
  author =       "F. Bellotti and A. {De Gloria} and M. Risso and A.
                 Villamaina",
  title =        "{AutoGraL}: a {Java $2$D} graphics library for
                 configurable automotive dashboards",
  journal =      j-COMPUTERS-AND-GRAPHICS,
  volume =       "25",
  number =       "2",
  pages =        "259--268",
  month =        apr,
  year =         "2001",
  CODEN =        "COGRD2",
  ISSN =         "0097-8493 (print), 1873-7684 (electronic)",
  ISSN-L =       "0097-8493",
  bibdate =      "Tue Jul 17 08:15:19 MDT 2001",
  bibsource =    "http://www.elsevier.com/locate/issn/00978493;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/13/20/57/29/33/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/13/20/57/29/33/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Graphics",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00978493",
}

@Article{Bellotti:2001:DJA,
  author =       "Francesco Bellotti and Riccardo Berta and Alessandro
                 De Gloria and Andrea Poggi",
  title =        "{DirectJ}: {Java APIs} for optimized {$2$D} graphics",
  journal =      j-SPE,
  volume =       "31",
  number =       "3",
  pages =        "259--275",
  month =        mar,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.365",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:25:28 MST 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76507637/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76507637&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Benedicenti:2001:EQC,
  author =       "Luigi Benedicenti and Victor Wei Wang and Peter Lee
                 and Raman Paranjape",
  title =        "Establishing quality control in software agents",
  journal =      j-SIGAPP,
  volume =       "9",
  number =       "3",
  pages =        "31--33",
  month =        sep,
  year =         "2001",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/570132.570137",
  ISSN =         "1559-6915 (print), 1931-0161 (electronic)",
  ISSN-L =       "1559-6915",
  bibdate =      "Thu Jan 23 10:21:35 MST 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                  http://www.math.utah.edu/pub/tex/bib/sigapp2000.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/570132.570137",
  abstract =     "This paper illustrates the results of a research
                 effort to measure the quality of software agents
                 written in Java using extreme programming. A factoring
                 of quality has been chosen in accordance with the
                 properties and limitations of the type of products
                 \ldots{}",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGAPP Applied Computing Review",
  journal-URL =  "https://dl.acm.org/loi/sigapp",
}

@Book{Bergsten:2001:JP,
  author =       "Hans Bergsten",
  title =        "{JavaServer} pages",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xviii + 552",
  year =         "2001",
  ISBN =         "1-56592-746-X",
  ISBN-13 =      "978-1-56592-746-9",
  LCCN =         "TK5105.8885.J38 B37 2001",
  bibdate =      "Thu Feb 22 17:48:46 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Editors: Robert Eckstein and Paula Ferguson.",
  acknowledgement = ack-nhfb,
}

@Book{Bergsten:2001:JPP,
  author =       "Hans Bergsten",
  title =        "{JavaServer} pages pocket reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "v + 81",
  year =         "2001",
  ISBN =         "0-596-00231-9",
  ISBN-13 =      "978-0-596-00231-2",
  LCCN =         "QA76.73.J38.b48 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Server-side Java development.",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "client/server computing; JavaServer pages; servlets
                 (computer programs); Web servers; Web sites -- design",
}

@Article{Bertot:2001:FJV,
  author =       "Yves Bertot",
  title =        "Formalizing a {JVML} Verifier for Initialization in a
                 Theorem Prover",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2102",
  pages =        "14--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:02 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2102.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2102/21020014.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2102/21020014.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Berzal:2001:TTJ,
  author =       "Fernando Berzal and Nicol{\'a}s Mar{\'\i}n",
  title =        "Tools and Tips for {Java} Programming",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "2",
  number =       "5",
  year =         "2001",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:47:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0105/departments/bks0105a.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Book{Besset:2001:OOI,
  author =       "Didier H. Besset",
  title =        "Object-oriented implementation of numerical methods:
                 an introduction with {Java} and {Smalltalk}",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xxv + 766",
  year =         "2001",
  ISBN =         "1-55860-679-3",
  ISBN-13 =      "978-1-55860-679-1",
  LCCN =         "QA76.76.D47 B475 2001",
  bibdate =      "Mon May 06 06:48:28 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  contents =     "1. Introduction -- 2. Function Evaluation -- 3.
                 Interpolation -- 4. Iterative Algorithms -- 5. Finding
                 the Zero of a Function -- 6. Integration of Functions
                 -- 7. Series -- 8. Linear Algebra -- 9. Elements of
                 Statistics -- 10. Statistical Analysis -- 11.
                 Optimization -- 12. Data Mining -- App. A. Decimal
                 Floating-Point Simulation -- App. B. Smalltalk Primer
                 for Java Programmers -- App. C. Java Primer for
                 Smalltalk Programmers -- App. D. Additional Probability
                 Distributions -- App. E. Accurate Accumulation of
                 Expectation Values.",
  keywords =     "computer software -- development; object-oriented
                 programming (computer science)",
}

@Article{Bettini:2001:JNC,
  author =       "Lorenzo Bettini and Donato Cappetta",
  title =        "A {Java 2} Network Class Loader",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "58, 60, 62, 64",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jload.txt;
                 http://www.ddj.com/ftp/2001/2001_02/jload.zip",
  abstract =     "Lorenzo and Donato present NetworkClassLoader, a class
                 loader that lets you load classes from remote servers.
                 Additional resources include jload.txt (listings) and
                 jload.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Bieber:2001:PPT,
  author =       "P. Bieber and J. Cazin and A. {El Marouani} and P.
                 Girard and J.-L. Lanet and V. Wiels and G. Zanon",
  title =        "The {PACAP} Prototype: a Tool for Detecting {Java}
                 Card Illegal Flow",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "25--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410025.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410025.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Bigus:2001:CIA,
  author =       "Joseph P. Bigus and Jennifer Bigus",
  title =        "Constructing intelligent agents using {JAVA}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xxii + 408",
  year =         "2001",
  ISBN =         "0-471-39601-X",
  ISBN-13 =      "978-0-471-39601-7",
  LCCN =         "QA76.76.I58 B563 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Professional developer's guide series",
  acknowledgement = ack-nhfb,
  keywords =     "intelligent agents (computer software); Java (computer
                 program language)",
}

@Article{Binder:2001:PRC,
  author =       "Walter Binder and Jane G. Hulaas and Alex
                 Villaz{\'o}n",
  title =        "Portable resource control in {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "139--155",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Birnam:2001:DJP,
  author =       "Stewart Birnam",
  title =        "Distributed {Java 2} Platform Database Development",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxi + 276",
  year =         "2001",
  ISBN =         "0-13-026861-5",
  ISBN-13 =      "978-0-13-026861-7",
  LCCN =         "QA76.73.J38 B57 2001",
  bibdate =      "Sat Apr 20 11:10:14 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130268615.html;
                 http://www.sun.com/books/catalog/birnam/",
  acknowledgement = ack-nhfb,
}

@Article{Bischof:2001:HTU,
  author =       "Christian H. Bischof and H. Martin B{\"u}cker and
                 J{\"o}rg Henrichs and Bruno Lang",
  title =        "Hands-On Training for Undergraduates in
                 High-Performance Computing Using {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1947",
  pages =        "306--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:51 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1947.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1947/19470306.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1947/19470306.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Blackburn:2001:PJ,
  author =       "Stephen M. Blackburn and Sharad Singhai and Matthew
                 Hertz and Kathryn S. McKinely and J. Eliot B. Moss",
  title =        "Pretenuring for {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "342--352",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Bloch:2001:EJP,
  author =       "Joshua Bloch",
  title =        "Effective {Java}: Programming Language Guide",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvi + 252",
  year =         "2001",
  ISBN =         "0-201-31005-8, 3-642-56735-5 (e-book)",
  ISBN-13 =      "978-0-201-31005-4, 978-3-642-56735-3 (e-book)",
  LCCN =         "QA76.73.J38 B57 2001",
  bibdate =      "Sat Apr 20 11:10:41 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib",
  abstract =     "\booktitle{Effective Java} is an explicit (and
                 acknowledged) homage to Scott Meyer's
                 \booktitle{Effective C++}. Josh Bloch shares the
                 programming practices of the most expert Java
                 programmers with the rest of the programming community.
                 Distilling the habits of experienced programmers into
                 50 short stand-alone essays, Bloch has laid out the
                 most essential and effective Java rules, providing
                 comprehensive descriptions of techniques. The essays
                 address practical problems that all Java programmers
                 encounter, presents specific ways to improve programs
                 and designs, and also shows how to avoid traps in Java
                 programming. An enormously useful book, each essay
                 contains top notch code examples and insightful ``war
                 stories'' that help capture the students' attention.",
  acknowledgement = ack-nhfb,
  tableofcontents = "1: Introduction \\
                 2: Creating and destroying objects \\
                 3: Methods common to all objects \\
                 4: Classes and interfaces \\
                 5: Substitutes for C constructs \\
                 6: Methods \\
                 7: General programming \\
                 8: Exceptions \\
                 9: Threads \\
                 10: Serialization \\
                 References \\
                 Index of Patterns and Idioms",
}

@Book{Boger:2001:JDS,
  author =       "Marko Boger",
  title =        "{Java} in distributed systems: concurrency,
                 distribution, and persistence",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xix + 393",
  year =         "2001",
  ISBN =         "0-471-49838-6",
  ISBN-13 =      "978-0-471-49838-4",
  LCCN =         "QA76.73.J38 B64 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing;
                 Java (computer program language)",
}

@Article{Bois:2001:DEF,
  author =       "Andr{\'e} Rauber {Du Bois} and Ant{\^o}nio Carlos {da
                 Rocha Costa}",
  title =        "Distributed Execution of Functional Programs Using the
                 {JVM}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2178",
  pages =        "570--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:08:59 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2178.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2178/21780570.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2178/21780570.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bolignano:2001:FMC,
  author =       "D. Bolignano and D. Le M{\'e}tayer and C. Loiseaux",
  title =        "Formal Methods in Context: Security and {Java} Card",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "1--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410001.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410001.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bonachea:2001:HPF,
  author =       "Dan Bonachea and Phillip Dickens and Rajeev Thakur",
  title =        "High-performance file {I/O} in {Java}: {Existing}
                 approaches and bulk {I/O} extensions",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "713--736",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.576",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503223/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503223&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Bonzini:2001:LHG,
  author =       "Paolo Bonzini and Stuart Halloway and John Penry and
                 Oluseyi Sonaiya and Bruce E. Hogman and Greg Bissell
                 and Michael Hobbs and Ben Laurie",
  title =        "Letters: Huge {GCC} Executables; {Java} Class Loader;
                 {Department of Dumb Ideas}; Setting the Record
                 Straight; The Legacy of {C\#}; {DHTML} Source-Code
                 Correction; Shared Libraries Aren't All Bad; {Zuse} and
                 {Intel}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "10, 12",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InProceedings{Bouchenak:2001:MJA,
  author =       "Sara Bouchenak",
  title =        "Making {Java} Applications Mobile or Persistent",
  crossref =     "USENIX:2001:PUC",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 18:09:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/coots01/bouchenak.html",
  acknowledgement = ack-nhfb,
}

@Article{Bourdonov:2001:JSE,
  author =       "Igor B. Bourdonov and Alexey V. Demakov and Andrew A.
                 Jarov and Alexander S. Kossatchev and Victor V.
                 Kuliamin and Alexander K. Petrenko and Sergey V.
                 Zelenov",
  title =        "{Java} Specification Extension for Automated Test
                 Development",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2244",
  pages =        "301--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2244.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2244/22440301.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2244/22440301.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Boyapati:2001:PTS,
  author =       "Chandrasekhar Boyapati and Martin Rinard",
  title =        "A parameterized type system for race-free {Java}
                 programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "56--69",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bradley:2001:IJT,
  author =       "James W. Bradley and R. Webster West",
  title =        "Interactive {Java} Tools for Exploring
                 High-dimensional Data",
  journal =      j-J-STAT-SOFT,
  volume =       "6",
  number =       "1",
  pages =        "??--??",
  year =         "2001",
  CODEN =        "JSSOBK",
  ISSN =         "????",
  bibdate =      "Sun Nov 17 22:35:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jstatsoft.org/v06/i01;
                 http://www.jstatsoft.org/v06/i01/bradley.tar;
                 http://www.jstatsoft.org/v06/i01/bradley/index.html;
                 http://www.jstatsoft.org/v06/i01/updates",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
}

@Article{Bratthall:2001:PUB,
  author =       "Lars Bratthall and Erik Arisholm and Magne
                 J{\o}rgensen",
  title =        "Program Understanding Behavior during Estimation of
                 Enhancement Effort on Small {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2188",
  pages =        "356--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:31 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2188.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2188/21880356.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2188/21880356.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Brebner:2001:EBB,
  author =       "Paul Brebner and Shuping Ran",
  title =        "Entity Bean {A}, {B}, {C}'s: {Enterprise Java} Beans
                 Commit Options and Caching",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2218",
  pages =        "36--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:05 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2218.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2218/22180036.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2218/22180036.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Brecht:2001:CGC,
  author =       "Tim Brecht and Eshrat Arjomandi and Chang Li and Hang
                 Pham",
  title =        "Controlling garbage collection and heap growth to
                 reduce the execution time of {Java} applications",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "353--366",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bredlau:2001:ALT,
  author =       "Carl Bredlau and Dorothy Deremer",
  title =        "Assembly language through the {Java Virtual Machine}",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "194--198",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364583",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "Student understanding of choices and design decisions
                 about instruction formats, addressing, instruction
                 types, and flow of control is developed through the
                 assembly level. We propose the Java Virtual Machine
                 (JVM) as the architecture for teaching assembly
                 language. The paper describes how to use the JVM as a
                 teaching tool for a sophomore level Assembly Language
                 and Computer Architecture course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@InProceedings{Breg:2001:JVM,
  author =       "Fabian Breg and Constantine Polychronopoulos",
  title =        "{Java Virtual Machine} Support for Object
                 Serialization",
  crossref =     "ACM:2001:PAJ",
  pages =        "173--180",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/12.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500173.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Brewster:2001:CIH,
  author =       "Neil V. Brewster and Tarek S. Abdelrahman",
  title =        "A Compiler Infrastructure for High-Performance
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "675--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100675.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100675.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Brogden:2001:JDG,
  author =       "William B. Brogden",
  title =        "{Java} developer's guide to Servlets and {JSP}",
  publisher =    pub-SYBEX,
  address =      pub-SYBEX:adr,
  pages =        "xix + 411",
  year =         "2001",
  ISBN =         "0-7821-2809-2",
  ISBN-13 =      "978-0-7821-2809-3",
  LCCN =         "QA76.73.J38 B7474 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); servlets",
}

@Book{Brose:2001:JPC,
  author =       "Gerald Brose and Andreas Vogel and Keith Duddy",
  title =        "{Java} programming with {CORBA}: advanced techniques
                 for building distributed applications",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Third",
  pages =        "xlii + 710",
  year =         "2001",
  ISBN =         "0-471-37681-7",
  ISBN-13 =      "978-0-471-37681-1",
  LCCN =         "QA76.73.J38 B77 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "CORBA (computer architecture); Java (computer program
                 language)",
}

@Article{Brosgol:2001:CJR,
  author =       "Benjamin Brosgol and Brian Dobbing",
  title =        "Can {Java{\TM}} Meet Its Real-Time Deadlines?",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2043",
  pages =        "68--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:00 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2043.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2043/20430068.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2043/20430068.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Brosgol:2001:RTC,
  author =       "Ben Brosgol and Brian Dobbing",
  title =        "Real-time convergence of {Ada} and {Java\TM}",
  journal =      j-SIGADA-LETTERS,
  volume =       "21",
  number =       "4",
  pages =        "11--26",
  month =        dec,
  year =         "2001",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:12 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Bruneton:2001:EJP,
  author =       "Eric Bruneton and Michel Riveill",
  title =        "Experiments with {JavaPod}, a Platform Designed for
                 the Adaptation of Non-functional Properties",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2192",
  pages =        "52--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:36 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2192.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2192/21920052.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2192/21920052.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bubak:2001:CJN,
  author =       "Marian Bubak and Dawid Kurzyniec and Piotr Luszczek
                 and V. Sunderam",
  title =        "Creating {Java to Native Code Interfaces} with
                 {Janet}",
  journal =      j-SCI-PROG,
  volume =       "9",
  number =       "1",
  pages =        "39--50",
  month =        "????",
  year =         "2001",
  CODEN =        "SCIPEV",
  ISSN =         "1058-9244 (print), 1875-919X (electronic)",
  ISSN-L =       "1058-9244",
  bibdate =      "Thu Mar 28 12:27:27 MST 2002",
  bibsource =    "Compendex database;
                 http://www.iospress.nl/site/html/10589244.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib; OCLC
                 Article1st database",
  URL =          "http://iospress.metapress.com/app/home/contribution.asp%3Fwasp=f2779jvvqg63jq64qwtm%26referrer=parent%26backto=issue%2C4%2C6%3Bjournal%2C2%2C9%3Blinkingpublicationresults%2C1%2C1",
  acknowledgement = ack-nhfb,
  fjournal =     "Scientific Programming",
  journal-URL =  "http://iospress.metapress.com/content/1058-9244",
}

@Article{Bubak:2001:CUL,
  author =       "Marian Bubak and Dawid Kurzyniec and Piotr
                 {\L}uszczek",
  title =        "Convenient use of legacy software in {Java} with
                 {Janet} package",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "17",
  number =       "8",
  pages =        "987--997",
  month =        jun,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/45/35/35/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Buck:2001:JCS,
  author =       "Duane Buck and David J. Stucki",
  title =        "{JKarelRobot}: a case study in supporting levels of
                 cognitive development in the computer science
                 curriculum",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "16--20",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364529",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We introduce a new software tool, JKarelRobot, for
                 supporting an Inside/Out pedagogy in introductory
                 programming courses. Extending the original conception
                 of ``Karel the Robot'', with Bloom's Taxonomy of
                 Educational Objectives as a guiding principle, we have
                 provided a mechanism for designing exercises that are
                 cognitively appropriate to the developmental levels of
                 our students. JKarelRobot is platform independent
                 (written in Java) and language/paradigm independent,
                 supporting Pascal, Java, and Lisp style environments.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Budd:2001:CDS,
  author =       "Timothy Budd",
  title =        "Classic data structures in {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiv + 593",
  year =         "2001",
  ISBN =         "0-201-70002-6",
  ISBN-13 =      "978-0-201-70002-2",
  LCCN =         "QA76.73.J38 B83 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language)",
}

@Article{Budimlic:2001:JJC,
  author =       "Zoran Budimli{\'c} and Ken Kennedy",
  title =        "{JaMake}: a {Java} Compiler Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2179",
  pages =        "201--209",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:22 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2179.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2179/21790201.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2179/21790201.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Buhler:2001:FSA,
  author =       "Dieter B{\"u}hler and Wolfgang K{\"u}chlin",
  title =        "Flexible Similarity Assessment for {XML} Documents
                 Based on {XQL} and {Java} Reflection",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2070",
  pages =        "175--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:25 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2070.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2070/20700175.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2070/20700175.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Bull:2001:BJA,
  author =       "Mark Bull and Lorna Smith and Lindsay Pottage and
                 Robin Freeman",
  title =        "Benchmarking {Java} against {C} and {Fortran} for
                 Scientific Applications",
  crossref =     "ACM:2001:PAJ",
  pages =        "97--105",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/30.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500097.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Book{Burke:2001:JX,
  author =       "Eric M. Burke",
  title =        "{Java} and {XSLT}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 510",
  year =         "2001",
  ISBN =         "0-596-00143-6",
  ISBN-13 =      "978-0-596-00143-8",
  LCCN =         "QA76.73.J38 B87 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language); XSLT (computer program language)",
}

@Book{Burke:2001:JXE,
  author =       "Eric M. Burke",
  title =        "{Java} and {XSLT}: Embedding {XML} processing into
                 {Java} applications",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 510",
  month =        sep,
  year =         "2001",
  ISBN =         "0-596-00143-6",
  ISBN-13 =      "978-0-596-00143-8",
  LCCN =         "QA76.73.J38 B88 2001",
  bibdate =      "Mon Apr 18 15:03:05 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$39.95",
  URL =          "http://www.oreilly.com/catalog/9780596001438;
                 http://www.oreilly.com/catalog/javaxslt",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); XSLT (Computer
                 program language); XML (Document markup language)",
}

@Book{Burns:2001:RTS,
  author =       "Alan Burns and Andrew J. Wellings",
  title =        "Real-time systems and programming languages: {Ada 95},
                 real-time {Java}, and real-time {POSIX}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "xvi + 738",
  year =         "2001",
  ISBN =         "0-201-72988-1",
  ISBN-13 =      "978-0-201-72988-7",
  LCCN =         "QA76.54 .B87 2001",
  bibdate =      "Thu Oct 31 17:53:55 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Revised edition of {\em Real-time systems and their
                 programming languages}, 1990.",
  series =       "International computer science series",
  acknowledgement = ack-nhfb,
  keywords =     "programming languages (electronic computers);
                 real-time data processing; real-time programming",
}

@Book{Callaway:2001:ISS,
  author =       "Dustin R. Callaway",
  title =        "Inside servlets: server-side programming for the
                 {Java} platform",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxv + 881",
  year =         "2001",
  ISBN =         "0-201-70906-6",
  ISBN-13 =      "978-0-201-70906-3",
  LCCN =         "QA76.73.J38 C35 2001",
  bibdate =      "Thu Jul 12 09:09:32 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Client/server computing; Java (Computer program
                 language)",
}

@Book{Calvert:2001:TIS,
  author =       "Kenneth L. Calvert and Michael J. Donahoo",
  title =        "{TCP\slash IP} sockets in {Java}: practical guide for
                 programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "80",
  year =         "2001",
  ISBN =         "1-55860-685-8",
  ISBN-13 =      "978-1-55860-685-2",
  LCCN =         "TK5105.585 .C34 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); TCP/IP (computer
                 network protocol)",
}

@Book{Campione:2001:JTS,
  author =       "Mary Campione and Kathy Walrath and Alison Huml",
  title =        "The {Java} Tutorial: a Short Course on the Basics",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "xi + 580",
  year =         "2001",
  ISBN =         "0-201-70393-9",
  ISBN-13 =      "978-0-201-70393-1",
  LCCN =         "QA76.73.J38 C365 2001",
  bibdate =      "Sat Nov 24 10:23:13 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  price =        "US\$44.99",
  URL =          "http://java.sun.com/docs/books/tutorial/books/3e/index.html",
  acknowledgement = ack-nhfb,
}

@Article{Campo:2001:JFC,
  author =       "Celeste Campo and Andr{\'e}s Marm and Arturo
                 Garc{\'\i}a and Ignacio D{\'\i}az and Peter T. Breuer
                 and Carlos Delgado and Carlos Garc{\'\i}a",
  title =        "{JCCM}: Flexible Certificates for Smartcards with
                 {Java} Card",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "34--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400034.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400034.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Cappello:2001:SRN,
  author =       "Peter Cappello and Dimitrios Mourloukos",
  title =        "A Scalable, Robust Network for Parallel Computing",
  crossref =     "ACM:2001:PAJ",
  pages =        "78--86",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/53.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500078.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Caromel:2001:CIS,
  author =       "Denis Caromel and Ludovic Henrio and Bernard
                 Serpette",
  title =        "Context Inference for Static Analysis of {Java} Card
                 Object Sharing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "43--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400043.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400043.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Caromel:2001:RMC,
  author =       "Denis Caromel and Julien Vayssi{\`e}re",
  title =        "Reflections on {MOPs}, Components, and {Java}
                 Security",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2072",
  pages =        "256--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:27 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2072.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2072/20720256.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2072/20720256.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Caromel:2001:SSA,
  author =       "Denis Caromel and Fabrice Huet and Julien
                 Vayssi{\`e}re",
  title =        "A Simple Security-Aware {MOP} for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2192",
  pages =        "118--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:36 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2192.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2192/21920118.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2192/21920118.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Carrano:2001:DAP,
  author =       "Frank M. Carrano and Janet J. Prichard",
  title =        "Data abstraction and problem solving with {Java}:
                 walls and mirrors",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxii + 806",
  year =         "2001",
  ISBN =         "0-201-70220-7",
  ISBN-13 =      "978-0-201-70220-0",
  LCCN =         "QA76.73.J38 C37 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language)",
}

@Book{Cattell:2001:JPB,
  author =       "R. G. G. (Roderic Geoffrey Galton) Cattell and Jim
                 Inscore",
  title =        "{J2EE} in Practice: Building Business Applications
                 with the {Java 2} Platform, Enterprise Edition",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 309",
  year =         "2001",
  ISBN =         "0-201-74622-0",
  ISBN-13 =      "978-0-201-74622-8",
  LCCN =         "QA76.73.J38 C38 2001",
  bibdate =      "Thu Jul 12 09:13:10 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "The Java series",
  acknowledgement = ack-nhfb,
}

@Article{Chang:2001:EEJ,
  author =       "Da-Wei Chang and Ruei-Chuan Chang",
  title =        "{EJVM}: an economic {Java} run-time environment for
                 embedded devices",
  journal =      j-SPE,
  volume =       "31",
  number =       "2",
  pages =        "129--146",
  month =        feb,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/1097-024X(200102)31:2<129::AID-SPE359>3.0.CO;2-1",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:25:28 MST 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76504935/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76504935&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Chatterjee:2001:CPA,
  author =       "R. Chatterjee and B. G. Ryder and W. A. Landi",
  title =        "Complexity of points-to analysis of {Java} in the
                 presence of exceptions",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "27",
  number =       "6",
  pages =        "481--512",
  month =        jun,
  year =         "2001",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/32.926173",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=926173",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Book{Chaudhri:2001:SOD,
  author =       "Akmal B. Chaudhri and Roberto Zicari",
  title =        "Succeeding with object databases: a practical look at
                 today's implementations with {Java} and {XML}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxi + 442",
  year =         "2001",
  ISBN =         "0-471-38384-8 (cloth)",
  ISBN-13 =      "978-0-471-38384-0 (cloth)",
  LCCN =         "QA76.9.D3 C3848 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 databases; XML (document markup language)",
}

@Article{Chen:2001:JJB,
  author =       "Ding-Yi Chen and Tyng-Ruey Chuang and Shi-Chun Tsai",
  title =        "{JGAP}: a {Java}-based graph algorithms platform",
  journal =      j-SPE,
  volume =       "31",
  number =       "7",
  pages =        "615--635",
  month =        jun,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.379",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Jul 14 12:28:45 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/78003148/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78003148&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@InProceedings{Chen:2001:JSM,
  author =       "Deqing Chen and Alan Messer and Philippe Bernadat and
                 Guangrui Fu and Zoran Dimitrijevic and David Jeun Fung
                 Lie and Durga Mannaru and Alma Riska and Dejan
                 Milojicic",
  title =        "{JVM} Susceptibility to Memory Errors",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/chen.html",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2001:SCJ,
  author =       "Zhenqiang Chen and Baowen Xu",
  title =        "Slicing Concurrent {Java} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "41--47",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Chen:2001:SOO,
  author =       "Zhenqiang Chen and Baowen Xu",
  title =        "Slicing Object-Oriented {Java} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "33--40",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Chiao:2001:ETS,
  author =       "Hsin-Ta Chiao and Shyan-Ming Yuan",
  title =        "An enhanced thread synchronization mechanism for
                 {Java}",
  journal =      j-SPE,
  volume =       "31",
  number =       "7",
  pages =        "667--695",
  month =        jun,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.383",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Feb 22 12:14:58 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  note =         "See correction \cite{Chiao:2001:RIM}.",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/78003134/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78003134&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Chiao:2001:MEM,
  author =       "Hsin-Ta Chiao and Chi-Houng Wu and Shyan-Ming Yuan",
  title =        "A More Expressive Monitor for Concurrent {Java}
                 Programming",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1900",
  pages =        "1053--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1900.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1900/19001053.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1900/19001053.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Chiao:2001:RIM,
  author =       "Hsin-Ta Chiao and Shyan-Ming Yuan",
  title =        "The real inventor of the monitor concept: a short note
                 to correct the {SP{\&}E} paper entitled {``An enhanced
                 thread synchronization mechanism for Java''}",
  journal =      j-SPE,
  volume =       "31",
  number =       "14",
  pages =        "1393--1393",
  day =          "25",
  month =        nov,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.420",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Feb 22 12:06:59 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  note =         "See \cite{Chiao:2001:ETS}.",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/85515675/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=85515675&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Choi:2001:CLF,
  author =       "Kwanghoon Choi and Hyun-il Lim and Taisook Han",
  title =        "Compiling Lazy Functional Programs Based on the
                 Spineless Tagless {$G$}-Machine for the {Java} Virtual
                 Machine",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2024",
  pages =        "92--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:41 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2024.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2024/20240092.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2024/20240092.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Christiaens:2001:JRR,
  author =       "Mark Christiaens",
  title =        "{JaRec}: Record\slash Replay for Multi-threaded {Java}
                 Programs",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/JVM_wips/S07.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Christiaens:2001:TDR,
  author =       "Mark Christiaens and Koen {De Bosschere}",
  title =        "{TRaDe}: Data Race Detection for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2074",
  pages =        "761--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:30 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2074.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2074/20740761.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2074/20740761.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Christiaens:2001:TTA,
  author =       "Mark Christiaens and Koen {De Bosschere}",
  title =        "{TRaDe}: a Topological Approach to On-the-Fly Race
                 Detection in {Java} Programs",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/christiaens.html",
  acknowledgement = ack-nhfb,
}

@Article{Christian:2001:PJT,
  author =       "Wolfgang Christian and Mario Belloni and Melissa
                 Dancy",
  title =        "Physlets: {Java} Tools for a {Web}-Based Physics
                 Curriculum",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2073",
  pages =        "1061--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2073.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2073/20731061.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2073/20731061.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Cleaveland:2001:PGJ,
  author =       "J. Craig Cleaveland",
  title =        "Program generators with {Java} and {XML}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxviii + 415",
  year =         "2001",
  ISBN =         "0-13-025878-4",
  ISBN-13 =      "978-0-13-025878-6",
  LCCN =         "QA76.73.J38 C54 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  keywords =     "generators (computer programs); Java (computer program
                 language); XML (document markup language)",
}

@Book{Cleaveland:2001:PGX,
  author =       "J. Craig Cleaveland",
  title =        "Program generators with {XML} and {Java}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxviii + 415",
  year =         "2001",
  ISBN =         "0-13-025878-4",
  ISBN-13 =      "978-0-13-025878-6",
  LCCN =         "QA76.73.J38 C54 2001",
  bibdate =      "Wed Mar 27 20:47:26 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  series =       "The Charles F. Goldfarb series on open information
                 management",
  acknowledgement = ack-nhfb,
  keywords =     "generators (computer programs); Java (computer program
                 language); XML (document markup language)",
}

@Article{Cocosco:2001:JIV,
  author =       "Chris A. Cocosco and Alan C. Evans",
  title =        "{Java} {Internet} Viewer: a {WWW} Tool for Remote
                 {$3$D} Medical Image Data Visualization and
                 Comparison",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2208",
  pages =        "1415--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:53 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2208.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2208/22081415.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2208/22081415.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Coglio:2001:TSJ,
  author =       "Alessandro Coglio and Allen Goldberg",
  title =        "Type safety in the {JVM}: some problems in {Java 2 SDK
                 1.2} and proposed solutions",
  journal =      j-CCPE,
  volume =       "13",
  number =       "13",
  pages =        "1153--1171",
  month =        nov,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.596",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Feb 25 14:51:24 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/88011336/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=88011336&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Book{Collins:2001:DSJ,
  author =       "William J. (William Joseph) Collins",
  title =        "Data structures and the {Java} collections framework",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xx + 716",
  year =         "2001",
  ISBN =         "0-07-236964-7",
  ISBN-13 =      "978-0-07-236964-9",
  LCCN =         "QA76.73.J38 C657 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language)",
}

@Book{Cooper:2001:JI,
  author =       "Brian Cooper",
  title =        "{JavaScript}: an introduction",
  publisher =    "Dorling Kindersley Pub.",
  address =      "New York, NY, USA",
  pages =        "72",
  year =         "2001",
  ISBN =         "0-7894-8005-0 (paperback)",
  ISBN-13 =      "978-0-7894-8005-7 (paperback)",
  LCCN =         "QA76.73.J39 C66 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "At head of title: Internet",
  series =       "Essential computers",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Courtney:2001:FFR,
  author =       "Antony Courtney",
  title =        "{Frapp{\'e}}: Functional Reactive Programming in
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1990",
  pages =        "29--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:09 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1990.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1990/19900029.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1990/19900029.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@TechReport{Cowlishaw:2001:DAJ,
  author =       "Mike Cowlishaw",
  title =        "Decimal Arithmetic for {\tt java.math}: {JSR 13}
                 Public Review Draft",
  type =         "Technical Report",
  number =       "Version 1.33",
  institution =  "IBM UK Laboratories",
  address =      "Hursley, UK",
  pages =        "iii + 60",
  day =          "16",
  month =        jul,
  year =         "2001",
  bibdate =      "Fri May 20 14:37:16 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www2.hursley.ibm.com/jsr13/jsr13spec.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "decimal floating-point arithmetic",
  remark =       "Describes a proposal for arbitrary-precision decimal
                 floating-point arithmetic in Java.",
}

@Article{Cox:2001:JQH,
  author =       "Brad Cox",
  title =        "{Java Q\&A}: How Do {I} Handle Multiline Strings?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "147--149",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/jqa0601.txt",
  abstract =     "Can Java handle multiline strings? Yes, and Brad shows
                 you how. Additional resources include jqa0601.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Cox:2001:WAJ,
  author =       "Brad Cox",
  title =        "{Web} Applications as {Java} Servlets",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "97--100, 102--104",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/webapp.txt;
                 http://www.ddj.com/ftp/2001/2001_05/webapp.zip",
  abstract =     "Brad describes an approach to building web-based
                 applications that exploit Java's type-checking ability
                 to validate field parameters and detect invalid links
                 between pages. Additional resources include webapp.txt
                 (listings) and webapp.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Craig:2001:IJS,
  author =       "David Craig and Steven Carroll and Fabian Breg and
                 Dimitrios S. Nikolopoulos and Constantine
                 Polychronopoulos",
  title =        "Improving {Java} Server Performance with
                 Interruptlets",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2073",
  pages =        "223--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2073.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2073/20730223.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2073/20730223.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Crowell:2001:CP,
  author =       "Talbott Crowell",
  title =        "{C\#} and {Perl}: {C\#} has a lot in common with many
                 languages",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "50, 52, 54",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/csharpperl.txt",
  abstract =     "Although C\# is an evolution of C/C++ much like Java,
                 it also borrows from other languages --- and has
                 facilities familiar to Perl. Talbott presents common
                 Perl scripts that you can implement in C\#. Additional
                 resources include {\tt csharpperl.txt} (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Dale:2001:IJS,
  author =       "Nell B. Dale and Chip Weems and Mark R. Headington",
  title =        "Introduction to {Java} and software design",
  publisher =    pub-JONES-BARTLETT,
  address =      pub-JONES-BARTLETT:adr,
  pages =        "xxiii + 771",
  year =         "2001",
  ISBN =         "0-7637-1064-4",
  ISBN-13 =      "978-0-7637-1064-4",
  LCCN =         "QA76.73.J38 D34 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer software -- development; Java (computer
                 program language)",
}

@InProceedings{Daly:2001:PID,
  author =       "Charles Daly and Jane Horgan and James Power and John
                 Waldron",
  title =        "Platform Independent Dynamic {Java Virtual Machine
                 Analysis}: the {Java Grande Forum} Benchmark Suite",
  crossref =     "ACM:2001:PAJ",
  pages =        "106--115",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/16.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500106.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Misc{Darcy:2001:BLH,
  author =       "Joseph D. Darcy",
  title =        "{Borneo} Language Homepage",
  howpublished = "World Wide Web site.",
  year =         "2001",
  bibdate =      "Mon May 06 09:06:04 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jddarcy.org/Borneo",
  acknowledgement = ack-nhfb,
  keywords =     "floating-point arithmetic; IEEE 754; Java",
}

@InProceedings{Darcy:2001:WEU,
  author =       "Joseph D. Darcy",
  booktitle =    "JavaOne 2001, June 7, 2001",
  title =        "What Everybody Using the {Java\TM} Programming
                 Language Should Know About Floating-Point Arithmetic",
  publisher =    "????",
  address =      "????",
  pages =        "??--??",
  year =         "2001",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon May 06 09:14:05 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "51 slides.",
  URL =          "http://java.sun.com/people/darcy/JavaOne/2001/1789darcy.pdf",
  acknowledgement = ack-nhfb,
}

@Book{Darwin:2001:JCS,
  author =       "Ian Darwin",
  title =        "{Java} Cookbook: Solutions and Examples for {Java}
                 Developers",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxix + 850",
  month =        jun,
  year =         "2001",
  ISBN =         "0-596-00170-3 (paperback)",
  ISBN-13 =      "978-0-596-00170-4 (paperback)",
  LCCN =         "QA76.73.J38 D348 2001",
  bibdate =      "Mon Jul 30 06:50:24 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/ora.bib;
                 http://www.oreilly.com/catalog/",
  price =        "US\$44.95",
  URL =          "http://www.oreilly.com/catalog/9780596001704;
                 http://www.oreilly.com/catalog/javacook",
  abstract =     "Offering Java developers short, focused pieces of code
                 that are easy to incorporate into other programs, this
                 text focuses on things that are useful, tricky, or
                 both. The book's code segments cover all of the
                 dominant APIs and many specialized APIs.",
  acknowledgement = ack-nhfb,
  tableofcontents = "1. Getting Started: Compiling, Running, and
                 Debugging \\
                 2. Interacting with the Environment \\
                 3. Strings and Things \\
                 4. Pattern Matching with Regular Expressions \\
                 5. Numbers \\
                 6. Dates and Times \\
                 7. Structuring Data with Java \\
                 8. Object-Oriented Techniques \\
                 9. Input and Output \\
                 10. Directory and Filesystem Operations \\
                 11. Programming Serial and Parallel Ports \\
                 12. Graphics and Sound \\
                 13. Graphical User Interfaces \\
                 14. Internationalization and Localization \\
                 15. Network Clients \\
                 16. Server-Side Java: Sockets \\
                 17. Network Clients II: Applets and Web Clients \\
                 18. Web Server Java: Servlets and JSP \\
                 19. Java and Electronic Mail \\
                 20. Database Access \\
                 21. XML \\
                 22. Distributed Java: RMI \\
                 23. Packages and Packaging \\
                 24. Threaded Java \\
                 25. Introspection, or ``A Class Named Class'' \\
                 26. Using Java with Other Languages",
}

@Article{Dautelle:2001:JDJ,
  author =       "Jean-Marie Dautelle",
  title =        "{J.A.D.E.}: The {Java Addition to the Default
                 Environment}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "52, 54, 56",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jade.txt",
  abstract =     "The Java Addition to the Default Environment (or
                 ``J.A.D.E.'' for short) is an open-source project that
                 fills gaps in the JDK core library. Additional
                 resources include jade.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{deDinechin:2001:JQW,
  author =       "Christophe de Dinechin",
  title =        "{Java Q\&A}: What is {Moka}?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "125--126, 128, 130--131",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/jqa0701.txt",
  abstract =     "Moka is a Java-to-Java compiler that lets you extend
                 Java to add features the language currently does not
                 support. Additional resources include jqa0701.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Deitsch:2001:JI,
  author =       "Andrew Deitsch and David Czarnecki",
  title =        "{Java} internationalization",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 444",
  year =         "2001",
  ISBN =         "0-596-00019-7",
  ISBN-13 =      "978-0-596-00019-6",
  LCCN =         "QA76.73.J38 D45 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; Java (computer
                 program language)",
}

@Book{Deshpande:2001:CDA,
  author =       "Salil Deshpande",
  title =        "{CORBA} and Distributed Applications Including
                 {Java}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "????",
  year =         "2001",
  ISBN =         "0-13-349960-X",
  ISBN-13 =      "978-0-13-349960-5",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:27:36 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$45",
  acknowledgement = ack-nhfb,
}

@InProceedings{Deters:2001:SMA,
  author =       "Ralph Deters",
  title =        "A Scalable Multi-Agent System",
  crossref =     "ACM:2001:PAJ",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/19.html",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@InProceedings{Dice:2001:IFJ,
  author =       "David Dice",
  title =        "Implementing Fast {Java{\TM}} Monitors with
                 Relaxed-Locks",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/dice.html",
  acknowledgement = ack-nhfb,
}

@Book{Diehl:2001:DVW,
  author =       "Stephan Diehl",
  title =        "Distributed virtual worlds: foundations and
                 implementation techniques using {VRML}, {Java}, and
                 {CORBA}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xii + 166",
  year =         "2001",
  ISBN =         "3-540-67624-4",
  ISBN-13 =      "978-3-540-67624-9",
  LCCN =         "QA76.9.D5 D427 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "CORBA (computer architecture); electronic data
                 processing -- distributed processing; Java (computer
                 program language); virtual reality; VRML (computer
                 program language)",
}

@Article{Dietrich:2001:RGU,
  author =       "Suzanne W. Dietrich and Dan Suceava and Chakrapani
                 Cherukuri and Susan D. Urban",
  title =        "A reusable graphical user interface for manipulating
                 object-oriented databases using {Java} and {XML}",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "362--366",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364712",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes the design and functionality of a
                 graphical user interface (GUI) written in Java Swing
                 that is used to support instructional activities
                 associated with teaching object-oriented database
                 (OODB) concepts. The GUI supports the manipulation of
                 objects in an OODB, assuming the implementation of a
                 specified interface for interacting with an OODB. By
                 using the interface, students can focus on
                 object-oriented design and programming concepts
                 associated with OODB concepts rather than the
                 development of a user interface. Since the GUI uses the
                 Extensible Markup Language (XML) for defining the
                 database schema and data import/export, the use of the
                 GUI provides the added benefit of demonstrating the
                 manner in which XML interacts with database
                 technology.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Dobbing:2001:OSJ,
  author =       "Brian Dobbing",
  title =        "Overview of the {Sun Java Community Process}'s
                 {Real-Time Expert Group} specification of {RT-Java}:
                 {Session Summary}",
  journal =      j-SIGADA-LETTERS,
  volume =       "21",
  number =       "1",
  pages =        "18--19",
  month =        mar,
  year =         "2001",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Dobbing:2001:RPH,
  author =       "Brian Dobbing",
  title =        "The {Ravenscar} profile for high-integrity {Java}
                 programs?",
  journal =      j-SIGADA-LETTERS,
  volume =       "21",
  number =       "1",
  pages =        "56--61",
  month =        mar,
  year =         "2001",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Dobbing:2001:RSA,
  author =       "Brian Dobbing and Tullio Vardanega",
  title =        "Report of session: analysis of the {J} consortium
                 real-time {Java} proposal",
  journal =      j-SIGADA-LETTERS,
  volume =       "21",
  number =       "1",
  pages =        "17--18",
  month =        mar,
  year =         "2001",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Domani:2001:IFG,
  author =       "Tamar Domani and Elliot K. Kolodner and Ethan Lewis
                 and Eliot E. Salant and Katherine Barabash and Itai
                 Lahan and Yossi Levanoni and Erez Petrank and Igor
                 Yanorer",
  title =        "Implementing an On-the-Fly Garbage Collector for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "155--166",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Donsez:2001:TMA,
  author =       "Didier Donsez and S{\'e}bastien Jean and Sylvain
                 Lecomte and Olivier Thomas",
  title =        "Turning Multi-applications Smart Cards Services
                 Available from Anywhere at Anytime: a {SOAP \slash MOM}
                 Approach in the Context of {Java} Cards",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "83--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400083.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400083.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Drossopoulou:2001:AMJ,
  author =       "Sophia Drossopoulou",
  title =        "An Abstract Model of {Java} Dynamic Linking and
                 Loading",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2071",
  pages =        "53--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:26 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2071.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2071/20710053.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2071/20710053.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Drossopoulou:2001:FTJ,
  author =       "Sophia Drossopoulou and Susan Eisenbach and Bart
                 Jacobs and Gary T. Leavens and Peter M{\"u}ller and
                 Arnd Poetzsch-Heffter",
  title =        "Formal Techniques for {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1964",
  pages =        "41--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Feb 1 09:17:20 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1964.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1964/19640041.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1964/19640041.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Drozdek:2001:DSA,
  author =       "Adam Drozdek",
  title =        "Data structures and algorithms in {Java}",
  publisher =    pub-BROOKS-COLE,
  address =      pub-BROOKS-COLE:adr,
  pages =        "xvii + 622",
  year =         "2001",
  ISBN =         "0-534-37668-1",
  ISBN-13 =      "978-0-534-37668-0",
  LCCN =         "QA76.73.J38 D695 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer algorithms; data structures (computer
                 science); Java (computer program language)",
}

@Article{Duncan:2001:LPD,
  author =       "Ray Duncan and Duncan Harris and Douglas Reilly and
                 Craig Rodrigues and Michael Birken and Paul S. Person",
  title =        "Letters: Plug-in Desupport; Threading and the {.Net}
                 Framework; {CORBA} Interoperability; Game Over for
                 {Java}; Totally Wired",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "10, 12",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InProceedings{Dutchyn:2001:MDJ,
  author =       "Christopher Dutchyn and Paul Lu and Duane Szafron and
                 Steven Bromling and Wade Holst",
  title =        "Multi-Dispatch in the {Java Virtual Machine}: Design
                 and Implementation",
  crossref =     "USENIX:2001:PUC",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 18:09:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/coots01/dutchyn.html",
  acknowledgement = ack-nhfb,
}

@Article{Dysvik:2001:JEE,
  author =       "B. Dysvik and I. Jonassen",
  title =        "{J-Express}: exploring gene expression data using
                 {Java}",
  journal =      j-BIOINFORMATICS,
  volume =       "17",
  number =       "4",
  pages =        "369--370",
  month =        apr,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "2",
}

@Article{Eaddy:2001:CVJ,
  author =       "Marc Eaddy",
  title =        "{C\#} Versus {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "74, 76, 78, 80, 82",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/csharpj.txt",
  abstract =     "Six of one and half a dozen of the other? Marc finds
                 out when he examines how Microsoft's C\# differs from
                 Java. Additional resources include csharpj.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Eberhard:2001:EOC,
  author =       "John Eberhard and Anand Tripathi",
  title =        "Efficient Object Caching for Distributed {Java RMI}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2218",
  pages =        "15--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:05 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2218.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2218/22180015.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2218/22180015.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Edelstein:2001:MJP,
  author =       "Orit Edelstein and Eitan Farchi and Yarden Nir and Gil
                 Ratsaby and Shmuel Ur",
  title =        "Multithreaded {Java} Program Test Generation",
  crossref =     "ACM:2001:PAJ",
  pages =        "181--181",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/18.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500181.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Book{Edwards:2001:CJ,
  author =       "W. Keith Edwards",
  title =        "Core {Jini}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xliii + 962",
  year =         "2001",
  ISBN =         "0-13-089408-7",
  ISBN-13 =      "978-0-13-089408-3",
  LCCN =         "QA76.9.D5 E38 2001",
  bibdate =      "Fri Apr 13 15:28:03 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$54.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130894087.html",
  acknowledgement = ack-nhfb,
}

@Book{Edwards:2001:JEE,
  author =       "W. Keith Edwards and Tom Rodden",
  title =        "{Jini} Example by Example",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "xii + 569",
  year =         "2001",
  ISBN =         "0-13-033858-3",
  ISBN-13 =      "978-0-13-033858-7",
  LCCN =         "QA76.9.D5E383 2001",
  bibdate =      "Fri Apr 11 15:54:24 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun BluePrints Program",
  URL =          "http://www.sun.com/books/catalog/edwards4/index.html",
  acknowledgement = ack-nhfb,
}

@Article{Egyedi:2001:SFC,
  author =       "T. Egyedi",
  title =        "Strategies for De facto Compatibility:
                 Standardization, Proprietary and Open Source Approaches
                 to {Java}",
  journal =      "Knowledge, Technology, and Policy",
  volume =       "14",
  number =       "2",
  pages =        "113--128",
  day =          "1",
  month =        jul,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "0897-1986",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "16",
}

@Article{Eisenbach:2001:SIF,
  author =       "Susan Eisenbach and Gary T. Leavens",
  title =        "Special issue: formal techniques for {Java} programs",
  journal =      j-CCPE,
  volume =       "13",
  number =       "13",
  pages =        "1121--1123",
  month =        nov,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.595",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Feb 25 14:51:24 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/88011339/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=88011339&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{El-Kharashi:2001:ATA,
  author =       "M. Watheq El-Kharashi and Fayez Elguibaly and Kin F.
                 Li",
  title =        "Adapting {Tomasulo}'s algorithm for bytecode folding
                 based {Java} processors",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "29",
  number =       "5",
  pages =        "1--8",
  month =        dec,
  year =         "2001",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:41:22 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Eluard:2001:OSJ,
  author =       "Marc {\'E}luard and Thomas Jensen and Ewen Denne",
  title =        "An Operational Semantics of the {Java} Card Firewall",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "95--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400095.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400095.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Emmerich:2001:CTJ,
  author =       "Wolfgang Emmerich and Nima Kaveh",
  title =        "Component technologies: {Java Beans}, {COM}, {CORBA},
                 {RMI}, {EJB} and the {CORBA Component Model}",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "5",
  pages =        "311--312",
  month =        sep,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/503271.503259",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:10 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "This one-day tutorial is aimed at software engineering
                 practitioners and researchers, who are familiar with
                 object-oriented analysis, design and programming and
                 want to obtain an overview of the technologies that are
                 enabling component-based development. We introduce the
                 idea of component-based development by defining the
                 concept and providing its economic rationale. We
                 describe how object-oriented programming evolved into
                 local component models, such as Java Beans and
                 distributed object technologies, such as the Common
                 Object Request Broker Architecture (CORBA), Java Remote
                 Method Invocation (RMI) and the Component Object Model
                 (COM). We then address how these technologies matured
                 into distributed component models, in particular
                 Enterprise Java Beans (EJB) and the CORBA Component
                 Model (CCM). We give an assessment of the maturity of
                 each of these technologies and sketch how they are used
                 to build distributed architectures.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Estell:2001:IWB,
  author =       "John K. Estell",
  title =        "{IPP}: a {Web}-based interactive programming
                 portfolio",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "149--153",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364569",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The portfolio is a well-established method for
                 documenting student learning outcomes. This paper
                 presents the development of a web-based interactive
                 programming portfolio methodology at our institution.
                 This methodology allows the reviewer to easily interact
                 with the computer program under review through the use
                 of Java applets. Both an evaluation form as well as
                 detailed rubrics for the evaluation of the portfolio
                 entry is accessible from the web page containing the
                 portfolio entry. These resources allow reviewers to
                 easily submit their feedback electronically to our
                 students.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ethington:2001:DPS,
  author =       "Russ Ethington",
  title =        "Diagnosing Proxy Server Problems",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "104, 106, 108, 110",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/proxy.txt;
                 http://www.ddj.com/ftp/2001/2001_03/proxy.zip",
  abstract =     "Russ presents TCPMapper, a Java utility that lets you
                 peek inside the network connections between your
                 browser and a proxy server. Additional resources
                 include proxy.txt (listings) and proxy.zip (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Evripidou:2001:PMP,
  author =       "Paraskevas Evripidou and George Samaras and
                 Christoforos Panayiotou and Evaggelia Pitoura",
  title =        "The {PaCMAn Metacomputer}: parallel computing with
                 {Java} mobile agents",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "265--280",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/33/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@InProceedings{Fahringer:2001:MDP,
  author =       "Thomas Fahringer and Cl{\'o}vis Seragiotto
                 J{\'u}nior",
  title =        "Modeling and Detecting Performance Problems for
                 Distributed and Parallel Programs with {JavaPSL}",
  crossref =     "ACM:2001:SHP",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Sat Feb 10 14:28:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc2001.org/papers/pap.pap245.pdf",
  acknowledgement = ack-nhfb,
  pagecount =    "17",
}

@Article{Feijs:2001:MNA,
  author =       "Loe M. G. Feijs",
  title =        "Mechanisms for naming: an algebraic approach with an
                 application to {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "39",
  number =       "2--3",
  pages =        "149--188",
  day =          "??",
  month =        mar,
  year =         "2001",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Sat Jul 14 11:56:10 MDT 2001",
  bibsource =    "http://www.elsevier.com/locate/issn/01676423;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/39/21/43/23/20/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/39/21/43/23/20/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Findler:2001:BCB,
  author =       "Robert Bruce Findler and Mario Latendresse and
                 Matthias Felleisen",
  title =        "Behavioral contracts and behavioral subtyping",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "5",
  pages =        "229--236",
  month =        sep,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/503271.503240",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:10 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Component-based software manufacturing has the
                 potential to bring division-of-labor benefits to the
                 world of software engineering. In order to make a
                 market of software components viable, however,
                 producers and consumers must agree on enforceable
                 software contracts. In this paper, we show how to
                 enforce contracts if components are manufactured from
                 class and interface hierarchies. In particular, we
                 focus on one style of contract: pre- and
                 post-conditions. Programmers annotate class and
                 interface methods with pre- and post-conditions and the
                 run-time system checks these conditions during
                 evaluation. These contracts guarantee that methods are
                 called properly and provide appropriate results. In
                 procedural languages, the use of pre- and
                 post-condition contracts is well-established and
                 studies have demonstrated its value. In object-oriented
                 languages, however, assigning blame for pre- and
                 post-condition failures poses subtle and complex
                 problems. Specifically, assigning blame for malformed
                 class and interface hierarchies is so difficult that
                 none of the existing contract monitoring tools
                 correctly assign blame for these failures. In this
                 paper, we show how to overcome these problems in the
                 context of Java. Our work is based on the notion of
                 behavioral subtyping.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Fischmeister:2001:EST,
  author =       "Sebastian Fischmeister and Giovanni Vigna and Richard
                 A. Kemmerer",
  title =        "Evaluating the Security of Three {Java}-Based Mobile
                 Agent Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2240",
  pages =        "31--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:25 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2240.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2240/22400031.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2240/22400031.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Flanagan:2001:HAA,
  author =       "C. Flanagan and K. R. M. Leino",
  title =        "{Houdini}, an Annotation Assistant for {ESC\slash
                 Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2021",
  pages =        "500--517",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Fleury:2001:ERV,
  author =       "Ann E. Fleury",
  title =        "Encapsulation and reuse as viewed by {Java} students",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "189--193",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364582",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Through audio-taped student interviews, this study
                 examined beginning Java students' conceptions of
                 object-oriented programming. Students rated programs on
                 stylistic criteria including ease of comprehension,
                 ease of debugging, ease of modification, ease of reuse,
                 and overall quality of design. They also explained the
                 reasons for their ratings. The results will be
                 discussed and interpreted in light of previous
                 research. Implications for instruction will also be
                 examined.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@InProceedings{Fong:2001:PLD,
  author =       "Philip W. L. Fong and Robert D. Cameron",
  title =        "Proof Linking: Distributed Verification of {Java}
                 Classfiles in the Presence of Multiple Classloaders",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/fong.html",
  acknowledgement = ack-nhfb,
}

@Article{Fox:2001:SIA,
  author =       "Geoffrey Fox",
  title =        "Special Issue: {ACM 2000 Java Grande Conference}",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "643--644",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.574",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503221/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503221&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Foxwell:2001:JXE,
  author =       "Harry J. Foxwell",
  title =        "{Java and XSLT by Eric M. Burke}",
  journal =      j-MARKUP-LANG,
  volume =       "3",
  number =       "4",
  pages =        "446--447",
  month =        "Fall",
  year =         "2001",
  CODEN =        "MLTPFG",
  ISSN =         "1099-6621",
  ISSN-L =       "1099-6621",
  bibdate =      "Sat Sep 6 11:22:16 MDT 2003",
  bibsource =    "http://mitpress.mit.edu/journal-home.tcl?issn=10996621;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://mitpress.mit.eduhttp://mitpress.mit.edu/catalog/item/default.asp?sid=81FFBAAF-F78B-4799-8942-1A7B831BFC9A&ttype=6&tid=9097",
  acknowledgement = ack-nhfb,
  fjournal =     "Markup languages: theory \& practice",
}

@Article{Foxwell:2001:PJD,
  author =       "H. J. Foxwell",
  title =        "{Professional Java Data, by Danny Ayres, John Bell,
                 Carl Bettis, Thomas Bishop, Bjarki Holm, Glenn Mitchell
                 II, Kelly Lin Poon, Sean Rhody, Mike Bogavich, Matthew
                 Ferris, Rick Grehan, Tony Loton, Nitin Nanda, and Mark
                 Wilcox}",
  journal =      j-MARKUP-LANG,
  volume =       "3",
  number =       "3",
  pages =        "382--383",
  day =          "10",
  month =        dec,
  year =         "2001",
  CODEN =        "MLTPFG",
  ISSN =         "1099-6621",
  ISSN-L =       "1099-6621",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Markup languages: theory \& practice",
  pagecount =    "2",
}

@Article{Foxwell:2001:RPJ,
  author =       "Harry J. Foxwell",
  title =        "Review: {Professional Java Data by Danny Ayres et
                 al.}",
  journal =      j-MARKUP-LANG,
  volume =       "3",
  number =       "3",
  pages =        "382--383",
  month =        "Summer",
  year =         "2001",
  CODEN =        "MLTPFG",
  ISSN =         "1099-6621",
  ISSN-L =       "1099-6621",
  bibdate =      "Sat Sep 6 11:22:17 MDT 2003",
  bibsource =    "http://mitpress.mit.edu/journal-home.tcl?issn=10996621;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Markup languages: theory \& practice",
}

@MastersThesis{Freeby:2001:CDJ,
  author =       "James M. Freeby",
  title =        "A comparison of {DHTML} and {JAVA} applets",
  type =         "Thesis ({M.S.})",
  school =       "University of California, Santa Cruz",
  address =      "Santa Cruz, CA, USA",
  year =         "2001",
  LCCN =         "QA76.76.H94 F74 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "academic dissertations -- University of California,
                 Santa Cruz -- 2001; academic dissertations --
                 University of California, Santa Cruz -- computer; DHTML
                 (document markup language); JavaScript (computer
                 program language); science; Web sites -- design",
}

@Article{Fukunari:2001:BWJ,
  author =       "Miki Fukunari and Yu-Liang Chi and Philip M. Wolfe",
  title =        "Best of {Websim99}: {JavaBean}-based simulation with
                 operational procedure table {(OPT)}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "17",
  number =       "5",
  pages =        "513--523",
  month =        mar,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:21 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/45/30/27/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Gabrilovich:2001:JCI,
  author =       "Evgeniy Gabrilovich and Lev Finkelstein",
  title =        "{JNI--C++} Integration Made Easy",
  journal =      j-CCCUJ,
  volume =       "19",
  number =       "1",
  pages =        "10--??",
  month =        jan,
  year =         "2001",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:29 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Extremely versatile interfaces like the Java JNI also
                 tend to be extremely cumbersome, as a rule. The authors
                 have found a way to break that rule.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@InProceedings{Gagnon:2001:SRF,
  author =       "Etienne M. Gagnon and Laurie J. Hendren",
  title =        "{SableVM}: a Research Framework for the Efficient
                 Execution of {Java} Bytecode",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/gagnon.html",
  acknowledgement = ack-nhfb,
}

@Article{Galambos:2001:LDI,
  author =       "Leo Galambos",
  title =        "Lemmatizer for Document Information Retrieval Systems
                 in {JAVA}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2234",
  pages =        "243--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:20 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2234.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2234/22340243.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2234/22340243.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Gannon:2001:JCC,
  author =       "Dennis Gannon and others",
  title =        "Panel Discussion: {Java}, {C++}, {C\#}, and Virtual
                 Machines for high performance",
  crossref =     "ACM:2001:PAJ",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Book{Garms:2001:PJS,
  author =       "Jess Garms and Daniel Somerfield",
  title =        "Professional {Java} security",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "vii + 523",
  year =         "2001",
  ISBN =         "1-86100-425-7",
  ISBN-13 =      "978-1-86100-425-3",
  LCCN =         "QA76.73.J38 G37 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer security; Java (computer program language)",
}

@Book{Garrido:2001:OOD,
  author =       "Jose M. Garrido",
  title =        "Object-oriented discrete-event simulation with {Java}:
                 a practical introduction",
  publisher =    pub-KLUWER,
  address =      pub-KLUWER:adr,
  pages =        "xvi + 256",
  year =         "2001",
  ISBN =         "0-306-46688-0",
  ISBN-13 =      "978-0-306-46688-5",
  LCCN =         "QA76.73.J38 G365 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM with simulation models explained in
                 the book.",
  series =       "Series in computer systems",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer programming language); object-oriented
                 programming (computer science)",
}

@Book{Geary:2001:AJP,
  author =       "David M. Geary",
  title =        "Advanced {JavaServer} pages",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xx + 487",
  year =         "2001",
  ISBN =         "0-13-030704-1 (paperback)",
  ISBN-13 =      "978-0-13-030704-0 (paperback)",
  LCCN =         "TK5105.8885.J38 G43 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java 2 platform, enterprise edition series",
  URL =          "http://www.sun.com/books/catalog/gearyjsp/",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); JavaServer pages
                 (computer file); Web servers",
}

@Article{Getov:2001:JCL,
  author =       "V. Getov and M. Philippsen",
  title =        "Java Communications for Large-Scale Parallel
                 Computing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2179",
  pages =        "33--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:22 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2179.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2179/21790033.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2179/21790033.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Getov:2001:MCJ,
  author =       "Vladimir Getov and Gregor von Laszewski and Michael
                 Philippsen and Ian Foster",
  title =        "Multiparadigm communications in {Java} for {Grid}
                 computing",
  journal =      j-CACM,
  volume =       "44",
  number =       "10",
  pages =        "118--125",
  month =        oct,
  year =         "2001",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 30 17:44:59 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Ghaly:2001:SEA,
  author =       "Ragae Ghaly and Krishna Kothapalli and Uma Meyyappan",
  title =        "Selecting {EJB} Application Servers: Benchmark and
                 test a variety of {EJB} servers before making a
                 decision",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "96, 98, 100--101",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "The Enterprise JavaBeans (EJB) architecture is the
                 standard component architecture for building
                 distributed object-oriented business applications in
                 Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Gibbons:2001:TDJ,
  author =       "Chad Gibbons",
  title =        "Tape Devices and {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "44, 46, 48--50",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/javatape.txt;
                 http://www.ddj.com/ftp/2001/2001_02/javatape.zip",
  abstract =     "Since native support for tape devices doesn't exist in
                 Java, Chad had to build his own tape library.
                 Additional resources include javatape.txt (listings)
                 and javatape.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Gilreath:2001:JNP,
  author =       "William F. Gilreath",
  title =        "{Java Network Programming} Introduces the
                 Fundamentals",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "2",
  number =       "5",
  year =         "2001",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:47:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0105/departments/bks0105b.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Glitho:2001:AFU,
  author =       "R. Glitho and R. Hamadi and R. Huie",
  title =        "Architectural Framework for Using {Java} Servlets in a
                 {SIP} Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2094",
  pages =        "707--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:54 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2094.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2094/20940707.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2094/20940707.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Goeschl:2001:JTT,
  author =       "Siegfried Goeschl",
  title =        "The {JUnit++} Testing Tool",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "34, 36--38",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/junitpp.txt;
                 http://www.ddj.com/ftp/2001/2001_02/junitpp.zip",
  abstract =     "JUnit++ is a freely available Java unit test framework
                 that includes a test data repository, command-line
                 arguments, and a TestRunner class that supports a
                 built-in repetition counter and multithreading at the
                 command line. Additional resources include junitpp.txt
                 (listings) and junitpp.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Goldman:2001:JQW,
  author =       "Oliver Goldman",
  title =        "{Java Q\&A}: What are Checked Exceptions?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "111--112, 114",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/jqa1101.txt",
  abstract =     "Java provides two types of exceptions: checked and
                 unchecked. Additional resources include {\tt
                 jqa1101.txt} (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Goldweber:2001:URU,
  author =       "Michael Goldweber and Clare Congdon and Barry Fagin
                 and Deborah Hwang and Frank Klassner",
  title =        "The use of robots in the undergraduate curriculum:
                 experience reports",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "404--405",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364763",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Using the robot as a metaphor for assisting students
                 in understanding problem solving in general, the
                 algorithmic process, and the relationship between
                 algorithms and computing agents is not new. While
                 simulated robot environments have existed for many
                 years (e.g., Karel the Robot[3]) it is only recently
                 that the technology for inexpensively supplying
                 undergraduates with real robots has become available.
                 Lego Mindstorms, MIT Handyboards, the Rug Warrior, and
                 others are examples of such systems. Programmable in
                 familiar languages, including C, Ada, and Java, these
                 systems allow for the creative exploration of important
                 computer science concepts. Representing a variety of
                 institution types the panelists will discuss their
                 experiences in using hands-on robot-based projects for
                 illustrating various important computer science
                 concepts.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gonzalez-Castano:2001:JCV,
  author =       "F. J. Gonz{\'a}lez-Casta{\~n}o and L. Anido-Rif{\'o}n
                 and J. M. Pousada-Carballo and P. S.
                 Rodr{\'\i}guez-Hern{\'a}ndez and R.
                 L{\'o}pez-G{\'o}mez",
  title =        "A {Java\slash CORBA} virtual machine architecture for
                 remote execution of optimization solvers in
                 heterogeneous networks",
  journal =      j-SPE,
  volume =       "31",
  number =       "1",
  pages =        "1--16",
  month =        jan,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/1097-024X(200101)31:1<1::AID-SPE354>3.0.CO;2-C",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:25:28 MST 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/76502341/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76502341&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Gonzalez:2001:EDT,
  author =       "Evelio J. Gonz{\'a}lez and Alberto F. Hamilton and
                 Lorenzo Moreno and Jos{\'e} F. Sigut and Roberto L.
                 Marichal",
  title =        "{Evenet 2000}: Designing and Training Arbitrary Neural
                 Networks in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2085",
  pages =        "104--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2085.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2085/20850104.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2085/20850104.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Goodman:2001:JB,
  author =       "Danny Goodman",
  title =        "{JavaScript} bible",
  publisher =    pub-HUNGRY-MINDS-IN,
  address =      pub-HUNGRY-MINDS-IN:adr,
  edition =      "Gold",
  pages =        "xxxv + 1511",
  year =         "2001",
  ISBN =         "0-7645-4718-6 (paperback)",
  ISBN-13 =      "978-0-7645-4718-8 (paperback)",
  LCCN =         "QA76.73.J39 G65 2001b",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Accompanying CD-ROM includes a searchable e-version of
                 the book, nearly 300 ready-to-run scripts from the
                 book, printable version of the JavaScript and Browser
                 Object Quick Reference, the full version on WebSpice
                 Objects, a demo of BBEdit, and TextPad shareware
                 Contents: CD-ROM contents: nearly 300 HTML document
                 listings from the book -- Supplemental book material --
                 Electronic version of the Quick Reference -- A
                 complete, searchable version of the book -- Adobe
                 Acrobat Reader -- Third-party software: Microsoft
                 Internet Explorer 5.5 for Windows -- Windows and
                 Macintosh versions of Netscape Navigator 6.0 --
                 WebSpice Objects (full version) -- TextPad (Windows
                 only) -- BBEdit (Macintosh) (demo)",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Book{Goodman:2001:JEB,
  author =       "Danny Goodman",
  title =        "{JavaScript} examples bible: the essential companion
                 to {JavaScript} bible",
  publisher =    pub-HUNGRY-MINDS-IN,
  address =      pub-HUNGRY-MINDS-IN:adr,
  pages =        "xix + 525",
  year =         "2001",
  ISBN =         "0-7645-4855-7 (paperback)",
  ISBN-13 =      "978-0-7645-4855-0 (paperback)",
  LCCN =         "QA76.73.J39 .G653 2001",
  bibdate =      "Thu Oct 31 17:54:12 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Accompanying CD-ROM includes a searchable e-version of
                 this book and over 300 ready-to-run scripts from the
                 text",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Book{Goodrich:2001:DSA,
  author =       "Michael T. Goodrich and Roberto Tamassia",
  title =        "Data structures and algorithms in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xiii + 641",
  year =         "2001",
  ISBN =         "0-471-38367-8 (cloth)",
  ISBN-13 =      "978-0-471-38367-3 (cloth)",
  LCCN =         "QA76.76.J38 G66 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer algorithms; data structures (computer
                 science); Java (computer program language)",
}

@Article{Gore:2001:CAM,
  author =       "Rajeev Gor{\'e} and Lan Duy Nguyen",
  title =        "{CardKt}: Automated Multi-modal Deduction on {Java}
                 Cards for Multi-application Security",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "38--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410038.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410038.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gore:2001:CMT,
  author =       "Rajeev Prabhakar Gor{\'e} and Phuong Th{\^e}
                 Nguy{\^e}n",
  title =        "{CardS4}: Modal Theorem Proving on {Java} Smartcards",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "111--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400111.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400111.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gourley:2001:ALB,
  author =       "Don Gourley",
  title =        "An {Apache} Load Balancing Cluster",
  journal =      j-SYS-ADMIN,
  volume =       "10",
  number =       "1",
  pages =        "8, 10, 12, 14, 16",
  month =        jan,
  year =         "2001",
  CODEN =        "SYADE7",
  ISSN =         "1061-2688",
  bibdate =      "Tue Dec 19 15:44:43 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.samag.com/",
  abstract =     "Gourley describes the Java Application Server
                 Pseudo-cluster (JASPer), a simple cluster built with
                 commodity hardware and free software from the Apache
                 Foundation.",
  acknowledgement = ack-nhfb,
  fjournal =     "Sys admin: the journal for UNIX system
                 administrators",
}

@Article{Gregg:2001:IEJ,
  author =       "David Gregg and M. Anton Ertl and Andreas Krall",
  title =        "Implementing an Efficient {Java} Interpreter",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "613--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100613.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100613.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Grimm:2001:SAC,
  author =       "Robert Grimm and Brian N. Bershad",
  title =        "Separating access control policy, enforcement, and
                 functionality in extensible systems",
  journal =      j-TOCS,
  volume =       "19",
  number =       "1",
  pages =        "36--70",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-1/p36-grimm/p36-grimm.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-1/p36-grimm/",
  abstract =     "Extensible systems, such as Java or the SPIN
                 extensible operating system, allow for units of code,
                 or extensions, to be added to a running system in
                 almost arbitrary fashion. Extensions closely interact
                 through low-latency but type-safe interfaces to form a
                 tightly integrated system. As extensions can come from
                 arbitrary sources, not all of whom can be trusted to
                 conform to an organization's security policy, such
                 structuring raises the question of how security
                 constraints are enforced in an extensible system. In
                 this paper, we present an access control mechanism for
                 extensible systems to address this problem. Our access
                 control mechanism decomposes access control into a
                 policy-neutral enforcement manager and a security
                 policy manager, and it is transparent to extensions in
                 the absence of security violations. It structures the
                 system into protection domains, enforces protection
                 domains through access control checks, and performs
                 auditing of system operations. The access control
                 mechanism works by inspecting extensions for their
                 types and operations to determine which abstractions
                 require protection and by redirecting procedure or
                 method invocations to inject access control operations
                 into the system. We describe the design of this access
                 control mechanism, present an implementation within the
                 SPIN extensible operating systems, and provide a
                 qualitative as well as quantitative evaluation of the
                 mechanism.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Computer Systems",
  generalterms = "Security",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "access check; auditing; extensible systems; Java;
                 policy-neutral enforcement; protection domain;
                 protection domain transfer; security policy; SPIN",
  subject =      "Software --- Operating Systems (D.4); Software ---
                 Operating Systems --- General (D.4.0); Software ---
                 Operating Systems --- Security and Protection (D.4.6):
                 {\bf Access controls}",
}

@Article{Gu:2001:JBP,
  author =       "Yan Gu and Bu-Sung Lee and Wentong Cai",
  title =        "{JBSP}: a {BSP} Programming Library in {Java}",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "61",
  number =       "8",
  pages =        "1126--1142",
  day =          "1",
  month =        aug,
  year =         "2001",
  CODEN =        "JPDCER",
  DOI =          "https://doi.org/10.1006/jpdc.2001.1735",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Tue Feb 26 06:20:17 MST 2002",
  bibsource =    "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.idealibrary.com/links/doi/10.1006/jpdc.2001.1735;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2001.1735/pdf;
                 http://www.idealibrary.com/links/doi/10.1006/jpdc.2001.1735/ref",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Gunnels:2001:FFL,
  author =       "John A. Gunnels and Fred G. Gustavson and Greg M.
                 Henry and Robert A. van de Geijn",
  title =        "{FLAME}: {Formal Linear Algebra Methods Environment}",
  journal =      j-TOMS,
  volume =       "27",
  number =       "4",
  pages =        "422--455",
  month =        dec,
  year =         "2001",
  CODEN =        "ACMSCU",
  DOI =          "https://doi.org/10.1145/504210.504213",
  ISSN =         "0098-3500 (print), 1557-7295 (electronic)",
  ISSN-L =       "0098-3500",
  bibdate =      "Wed Mar 13 08:49:29 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toms/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Since the advent of high-performance
                 distributed-memory parallel computing, the need for
                 intelligible code has become ever greater. The
                 development and maintenance of libraries for these
                 architectures is simply too complex to be amenable to
                 conventional approaches to implementation. Attempts to
                 employ traditional methodology have led, in our
                 opinion, to the production of an abundance of
                 anfractuous code that is difficult to maintain and
                 almost impossible to upgrade.Having struggled with
                 these issues for more than a decade, we have concluded
                 that a solution is to apply a technique from
                 theoretical computer science, formal derivation, to the
                 development of high-performance linear algebra
                 libraries. We think the resulting approach results in
                 aesthetically pleasing, coherent code that greatly
                 facilitates intelligent modularity and high performance
                 while enhancing confidence in its correctness. Since
                 the technique is language-independent, it lends itself
                 equally well to a wide spectrum of programming
                 languages (and paradigms) ranging from C and Fortran to
                 C++ and Java. In this paper, we illustrate our
                 observations by looking at the Formal Linear Algebra
                 Methods Environment (FLAME), a framework that
                 facilitates the derivation and implementation of linear
                 algebra algorithms on sequential architectures. This
                 environment demonstrates that lessons learned in the
                 distributed-memory world can guide us toward better
                 approaches even in the sequential world. We present
                 performance experiments on the Intel (R) Pentium (R)
                 III processor that demonstrate that high performance
                 can be attained by coding at a high level of
                 abstraction.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Mathematical Software",
  journal-URL =  "http://portal.acm.org/toc.cfm?idx=J782",
}

@Article{Gunton:2001:SSD,
  author =       "Neil Gunton",
  title =        "{SOAP}: Simplifying Distributed Development: Putting
                 the {Simple Object Access Protocol} to work",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "89, 91--92, 95",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/soap.txt",
  abstract =     "The Simple Object Access Protocol (SOAP) was developed
                 as an open RPC protocol using XML, targeting much the
                 same problem set as CORBA, DCOM, and Java RMI. Neil
                 uses it to add new facilities to his web site.
                 Additional resources include {\tt soap.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Guo:2001:DDS,
  author =       "Yike Guo and Patrick Wendel",
  title =        "Developing a distributed scalable {Java} component
                 server",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "17",
  number =       "8",
  pages =        "1051--1057",
  month =        jun,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/45/35/40/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Hachiya:2001:JUM,
  author =       "Shouichi Hachiya",
  title =        "{Java} Use in Mobile Information Devices: Introducing
                 {JTRON}",
  journal =      j-IEEE-MICRO,
  volume =       "21",
  number =       "4",
  pages =        "16--21",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "IEMIDZ",
  DOI =          "https://doi.org/10.1109/40.946675",
  ISSN =         "0272-1732 (print), 1937-4143 (electronic)",
  ISSN-L =       "0272-1732",
  bibdate =      "Thu Aug 30 11:09:58 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/mi/books/mi2001/pdf/m4016.pdf;
                 m4016abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Micro",
  journal-URL =  "http://www.computer.org/csdl/mags/mi/index.html",
}

@Article{Hakala:2001:GAD,
  author =       "Markku Hakala and Juha Hautam{\"a}ki and Kai Koskimies
                 and Jukka Paakki and Antti Viljamaa and Jukka
                 Viljamaa",
  title =        "Generating Application Development Environments for
                 {Java} Frameworks",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2186",
  pages =        "163--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:29 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2186.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2186/21860163.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2186/21860163.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Hall:2001:CWP,
  author =       "Marty Hall and Larry Brown",
  title =        "Core {Web} programming",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xli + 1398",
  year =         "2001",
  ISBN =         "0-13-089793-0",
  ISBN-13 =      "978-0-13-089793-0",
  LCCN =         "QA76.625 .H35 2001",
  bibdate =      "Thu Jul 12 09:06:31 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun Microsystems Press Java series",
  URL =          "http://www.sun.com/books/catalog/hall2/index.html",
  acknowledgement = ack-nhfb,
}

@Book{Hall:2001:MHC,
  author =       "Marty Hall",
  title =        "{Marty Hall}'s Core Servlets and {JavaServer Pages}
                 Training Course: a digital seminar on {CD-ROM}",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "308",
  year =         "2001",
  ISBN =         "0-13-093400-3",
  ISBN-13 =      "978-0-13-093400-0",
  LCCN =         "????",
  bibdate =      "Fri Apr 11 15:57:36 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun BluePrints Program",
  acknowledgement = ack-nhfb,
}

@Book{Halter:2001:JEE,
  author =       "Steven L. Halter",
  title =        "{JavaSpaces} Example by Example",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "xiv + 272",
  year =         "2001",
  ISBN =         "0-13-061916-7",
  ISBN-13 =      "978-0-13-061916-7",
  LCCN =         "QA76.76.J38H35 2001",
  bibdate =      "Fri Apr 11 15:53:24 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun BluePrints Program",
  URL =          "http://www.sun.com/books/catalog/halter2/index.html",
  acknowledgement = ack-nhfb,
}

@Book{Hanegan:2001:CCS,
  author =       "Kevin Hanegan",
  title =        "Custom {CGI} scripting with {Perl}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxvii + 276",
  year =         "2001",
  ISBN =         "0-471-01379-X (e-book), 0-471-39597-8",
  ISBN-13 =      "978-0-471-01379-2 (e-book), 978-0-471-39597-3",
  LCCN =         "QA76.73.P22 H36 2001eb",
  bibdate =      "Wed Mar 13 13:43:08 MDT 2013",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/string-matching.bib",
  acknowledgement = ack-nhfb,
  subject =      "Perl (Computer program language); CGI (Computer
                 network protocol); Web sites; Design; COMPUTERS;
                 Programming Languages; JavaScript; VBScript; Electronic
                 books",
  tableofcontents = "Why Is CGI Useful? \\
                 Client/Server Applications \\
                 The HTTP Protocol \\
                 The CGI Process \\
                 Is CGI Dead? \\
                 The CGI Framework \\
                 Pros and Cons of Hosting Your Own Web Server \\
                 Hardware Concerns \\
                 Choosing a Platform \\
                 Choosing Web Server Software \\
                 What to Ask Your Web Hosting Company \\
                 Installing a CGI Script \\
                 Selecting a Text Editor \\
                 Uploading Your Files \\
                 Getting around on Your Web Server \\
                 Installing Your First CGI Script \\
                 Perl Building Blocks \\
                 Introduction to Perl \\
                 Origin of Perl \\
                 About the Language \\
                 Why Use Perl? \\
                 Perl Competitors \\
                 Writing Perl \\
                 Designing Your First Perl Script for the Internet \\
                 Using the Print Statement \\
                 Using the Print Function \\
                 Using the Here Document \\
                 Using q and qq \\
                 Using Variables \\
                 Scalar Variables \\
                 List Arrays \\
                 Statements and Conditionals \\
                 Conditional Control Statements \\
                 Looping Control Statements \\
                 Using Subroutines \\
                 Subroutine Basics \\
                 Return Values \\
                 Pattern Matching \\
                 The Match Operator \\
                 Grouping and Memory \\
                 Substitutions \\
                 File Input and Output \\
                 Creating a New File \\
                 File Tests \\
                 File Functions \\
                 Opening and Closing Files \\
                 Reading a File \\
                 Writing to a File \\
                 Appending to a File \\
                 File Permissions \\
                 File Locking \\
                 Working with HTML Forms \\
                 Post \\
                 Get \\
                 Using cgi-lib.pl \\
                 Using CGI.pm \\
                 Page Redirection \\
                 Using Hidden Fields \\
                 Using Databases \\
                 How Relational Databases Work \\
                 SQL \\
                 Using the DBI Module \\
                 Communicating with the Database \\
                 Interacting with Your Operating System",
}

@Book{Hardy:2001:CQC,
  author =       "Yorick Hardy and W.-H Steeb",
  title =        "Classical and quantum computing with {C++} and {Java}
                 simulations",
  publisher =    pub-BIRKHAUSER,
  address =      pub-BIRKHAUSER:adr,
  pages =        "xxiii + 589",
  year =         "2001",
  ISBN =         "3-7643-6610-9, 0-8176-6610-9",
  ISBN-13 =      "978-3-7643-6610-0, 978-0-8176-6610-1",
  LCCN =         "QA76.73.C153 H367 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "C (computer program language); Java (computer program
                 language)",
}

@Article{Harf:2001:APS,
  author =       "Mait Harf and Kristiina Kindel and Vahur Kotkas and
                 Peep K{\"u}ngas and Enn Tyugu",
  title =        "Automated Program Synthesis for {Java} Programming
                 Language",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2244",
  pages =        "157--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2244.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2244/22440157.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2244/22440157.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Harms:2001:JSM,
  author =       "David (David Gerhard) Harms",
  title =        "{JSP}, servlets, and {MySQL}",
  publisher =    pub-MT,
  address =      pub-MT:adr,
  pages =        "xxiv + 499",
  year =         "2001",
  ISBN =         "0-7645-4787-9",
  ISBN-13 =      "978-0-7645-4787-4",
  LCCN =         "QA76.73.J38 H365 2001",
  bibdate =      "Wed Apr 27 05:41:25 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/bios/wiley045/2001016954.html;
                 http://www.loc.gov/catdir/description/wiley038/2001016954.html;
                 http://www.loc.gov/catdir/toc/wiley021/2001016954.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); JavaServer pages;
                 SQL (Computer program language); Web databases",
}

@Article{Harrold:2001:RTS,
  author =       "Mary Jean Harrold and James A. Jones and Tongyu Li and
                 Donglin Liang and Ashish Gujarathi",
  title =        "Regression test selection for {Java} software",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "312--326",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Hartel:2001:FSJ,
  author =       "Pieter H. Hartel and Luc Moreau",
  title =        "Formalizing the safety of {Java}, the {Java Virtual
                 Machine}, and {Java} card",
  journal =      j-COMP-SURV,
  volume =       "33",
  number =       "4",
  pages =        "517--558",
  month =        dec,
  year =         "2001",
  CODEN =        "CMSVAN",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Wed Feb 6 16:25:08 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
}

@Article{Hartel:2001:PMP,
  author =       "Pieter H. Hartel and Eduard de Jong",
  title =        "A Programming and a Modelling Perspective on the
                 Evaluation of {Java} Card Implementations",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "52--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410052.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410052.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Hartley:2001:AGM,
  author =       "Stephen J. Hartley",
  title =        "``{Alfonse}, give me a call!''",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "229--232",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364590",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The SR programming language supports a simple and
                 elegant set of abstractions for its model of
                 distributed computing. The model provides an effective
                 framework for demonstrating to students the different
                 styles of distributed programming. A small Java toolkit
                 based on SR's model is presented in this paper. This
                 toolkit allows instructors to use the popular Java
                 language as a platform in parallel and distributed
                 processing courses.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hatcliff:2001:UBT,
  author =       "John Hatcliff and Matthew Dwyer",
  title =        "Using the Bandera Tool Set to Model-Check Properties
                 of Concurrent {Java} Software",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2154",
  pages =        "39--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:57 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2154.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2154/21540039.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2154/21540039.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Heijl:2001:DXS,
  author =       "Danny Heijl",
  title =        "The {Delphi XML SAX2} Component and {MSXML 3.0}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "42, 46, 48, 50, 52, 54",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "See correction \cite{Todd:2001:LSS}.",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/xmlsax2.txt;
                 http://www.ddj.com/ftp/2001/2001_09/xmlsax2.zip",
  abstract =     "Danny shows how to use the C++ COM interfaces of
                 Microsoft's MSXML 3.0 SAX2 parser with Borland Delphi.
                 He then presents TSAXParser, a Delphi component that
                 uses these interfaces, but shields you from their
                 complexities. Additional resources include {\tt
                 xmlsax2.txt} (listings) and {\tt xmlsax2.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Helmer:2001:AID,
  author =       "Guy Helmer and Johnny Wong and Subhasri Madaka",
  title =        "Anomalous intrusion detection system for hostile
                 {Java} applets",
  journal =      j-J-SYST-SOFTW,
  volume =       "55",
  number =       "3",
  pages =        "273--286",
  day =          "15",
  month =        jan,
  year =         "2001",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Wed Apr 18 06:31:11 MDT 2001",
  bibsource =    "http://www.elsevier.com/locate/issn/01641212;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/29/11/54/27/28/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/29/11/54/27/28/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Book{Holmes:2001:OOP,
  author =       "Barry (Barry J.) Holmes and Daniel T. Joyce",
  title =        "Object-oriented programming with {Java}",
  publisher =    pub-JONES-BARTLETT,
  address =      pub-JONES-BARTLETT:adr,
  edition =      "Second",
  pages =        "xviii + 826",
  year =         "2001",
  ISBN =         "0-7637-1435-6",
  ISBN-13 =      "978-0-7637-1435-2",
  LCCN =         "QA76.73.J38 H62 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Book{Horstmann:2001:CJ,
  author =       "Cay S. Horstmann and Gary Cornell",
  title =        "Core {Java 2}",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  edition =      "Fifth",
  pages =        "????",
  year =         "2001",
  ISBN =         "0-13-089468-0 (vol. 1)",
  ISBN-13 =      "978-0-13-089468-7 (vol. 1)",
  LCCN =         "QA76.73.J38 H6753 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM with complete source code examples,
                 J2SE Version 1.3, Forte for Java Community Edition (a
                 complete toolkit for Java application development), and
                 trial versions of other useful tools.",
  series =       "Sun Microsystems Press Java series",
  URL =          "http://www.sun.com/books/catalog/horstmann8/index.html",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Hsu:2001:CAS,
  author =       "John Y. Hsu",
  title =        "Computer Architecture: Software Aspects, Coding,
                 Hardware",
  publisher =    pub-CRC,
  address =      pub-CRC:adr,
  pages =        "427",
  year =         "2001",
  ISBN =         "0-8493-1026-1, 1-351-83604-8, 1-4200-4110-X (e-book)",
  ISBN-13 =      "978-0-8493-1026-3, 978-1-351-83604-3,
                 978-1-4200-4110-1 (e-book)",
  LCCN =         "A76.9.A73 H758 2001",
  bibdate =      "Fri Jan 19 15:47:59 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/microchip.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib;
                 http://www.math.utah.edu/pub/tex/bib/visual-instruction-set.bib",
  price =        "US\$89.95, UK\pounds 59.99",
  abstract =     "With the new developments in computer architecture,
                 fairly recent publications can quickly become outdated.
                 Computer Architecture: Software Aspects, Coding, and
                 Hardware takes a modern approach. This comprehensive,
                 practical text provides that critical understanding of
                 a central processor by clearly detailing fundamentals,
                 and cutting edge design features. With its balanced
                 software/hardware perspective and its description of
                 Pentium processors, the book allows readers to acquire
                 practical PC software experience. The text presents a
                 foundation-level set of ideas, design concepts, and
                 applications that fully meet the requirements of
                 computer organization and architecture courses. The
                 book features a ``bottom up'' computer design approach,
                 based upon the author's thirty years experience in both
                 academe and industry. By combining computer engineering
                 with electrical engineering, the author describes how
                 logic circuits are designed in a CPU. The extensive
                 coverage of a microprogrammed CPU and new processor
                 design features gives the insight of current computer
                 development. Computer Architecture: Software Aspects,
                 Coding, and Hardware presents a comprehensive review of
                 the subject, from beginner to advanced levels. Topics
                 include: * Two's complement numbers * Integer overflow
                 * Exponent overflow and underflow * Looping *
                 Addressing modes * Indexing * Subroutine linking * I/O
                 structures * Memory mapped I/O * Cycle stealing *
                 Interrupts * Multitasking * Microprogrammed CPU *
                 Multiplication tree * Instruction queue * Multimedia
                 instructions * Instruction cache * Virtual memory *
                 Data cache * Alpha chip * Interprocessor communications
                 * Branch prediction * Speculative loading * Register
                 stack * JAVA virtual machine * Stack machine
                 principles.",
  acknowledgement = ack-nhfb,
  keywords =     "Compaq/DEC Alpha; floating-point arithmetic; Intel
                 x86; Java Virtual Machine; multimedia instructions;
                 Pentium",
  libnote =      "Not yet in my library.",
  tableofcontents = "Number Systems \\
                 Basic Computer Principles \\
                 Assembly Language Principles \\
                 Computer Architecture--General Features \\
                 Microprogrammed CPU Design \\
                 Superscalar Machine Principles \\
                 Vector and Multiple-Processor Machines \\
                 Processor Design Case Studies \\
                 Stack Machine Principles",
}

@Book{Hubbard:2001:PJB,
  author =       "J. R. (John Rast) Hubbard and Anthony Q. Baxter and J.
                 R. Hubbard",
  title =        "Programming with {Java}: based on {Schaum}'s outline
                 of programming with {Java}",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "v + 162",
  year =         "2001",
  ISBN =         "0-07-136977-5 (paperback)",
  ISBN-13 =      "978-0-07-136977-0 (paperback)",
  LCCN =         "QA76.76.J38 H817 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Schaum's outline series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Hubbard:2001:SOT,
  author =       "J. R. (John Rast) Hubbard",
  title =        "{Schaum}'s outline of theory and problems of data
                 structures with {Java}",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "viii + 369",
  year =         "2001",
  ISBN =         "0-07-136128-6 (paperback)",
  ISBN-13 =      "978-0-07-136128-6 (paperback)",
  LCCN =         "QA76.73.J38 H82 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Schaum's outline series",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language)",
}

@InProceedings{Hudson:2001:SCG,
  author =       "Richard Hudson and Eliot Moss",
  title =        "{Sapphire}: Copying {GC} Without Stopping the World",
  crossref =     "ACM:2001:PAJ",
  pages =        "48--57",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/32.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500048.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Huisman:2001:CSC,
  author =       "Marieke Huisman and Bart Jacobs and Joachim van den
                 Berg",
  title =        "A case study in class library verification: {Java}'s
                 vector class",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "3",
  number =       "3",
  pages =        "332--352",
  month =        aug,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Tue Nov 23 15:01:40 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
}

@Book{Hunter:2001:JSP,
  author =       "Jason Hunter and William Crawford",
  title =        "{Java} servlet programming",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxiii + 753",
  year =         "2001",
  ISBN =         "0-596-00040-5",
  ISBN-13 =      "978-0-596-00040-0",
  LCCN =         "QA76.73.J38 H87 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Igarashi:2001:FJM,
  author =       "Atsushi Igarashi and Benjamin C. Pierce and Philip
                 Wadler",
  title =        "Featherweight {Java}: a minimal core calculus for
                 {Java} and {GJ}",
  journal =      j-TOPLAS,
  volume =       "23",
  number =       "3",
  pages =        "396--450",
  month =        may,
  year =         "2001",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Feb 19 15:41:56 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Illmann:2001:TMM,
  author =       "Torsten Illmann and Tilman Krueger and Frank Kargl and
                 Michael Weber",
  title =        "Transparent Migration of Mobile Agents Using the
                 {Java} Platform Debugger Architecture",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2240",
  pages =        "198--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:25 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2240.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2240/22400198.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2240/22400198.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Ishimoto:2001:POB,
  author =       "Kenya Ishimoto",
  title =        "Preference Object-based Internationalization for
                 Distributed Application Framework in {Java}",
  crossref =     "UC:2001:EIU",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Wed Jul 11 15:39:50 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.unicode.org/iuc/iuc18/papers.html",
  URL =          "http://www.unicode.org/iuc/iuc18/papers/a16.ppt",
  acknowledgement = ack-nhfb,
  authoraddress = "Staff Software Engineer, IBM Japan Ltd., Japan",
}

@Article{Iyer:2001:JBR,
  author =       "K. Viswanathan Iyer and M. Harinath",
  title =        "{Java} based replicated server objects and their
                 remote method invocations in a distributed
                 environment",
  journal =      j-SPE,
  volume =       "31",
  number =       "4",
  pages =        "357--370",
  day =          "10",
  month =        apr,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.377",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:25:28 MST 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/77004438/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=77004438&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Jackson:2001:JQW,
  author =       "Jared Jackson",
  title =        "{Java Q\&A}: What Are Resource Bundles and What Do
                 They Have to Do With Internationalization?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "117--119",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/jqa0901.txt",
  abstract =     "Resource bundles provide the means for utilizing
                 locale-specific information without having to maintain
                 multiple versions of code for those various locales.
                 Additional resources include {\tt jqa0901.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Jacobs:2001:FJE,
  author =       "Bart Jacobs",
  title =        "A Formalisation of {Java}'s Exception Mechanism",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2028",
  pages =        "284--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:45 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2028.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2028/20280284.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2028/20280284.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jacobs:2001:JPV,
  author =       "Bart Jacobs",
  title =        "{JavaCard} Program Verification",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2152",
  pages =        "1--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:56 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2152.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2152/21520001.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2152/21520001.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jacobs:2001:LJM,
  author =       "Bart Jacobs and Erik Poll",
  title =        "A Logic for the {Java} Modeling Language {JML}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2029",
  pages =        "284--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:46 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2029.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2029/20290284.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2029/20290284.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jagannathan:2001:ICS,
  author =       "Ramesh Jagannathan and Paolo A. G. Sivilotti",
  title =        "Increasing client-side confidence in remote component
                 implementations",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "5",
  pages =        "52--61",
  month =        sep,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/503271.503217",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:10 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "When a client makes use of a remote component, it does
                 not have direct access to the remote component's
                 implementation or state information. By observing the
                 component's interactions with its environment, however,
                 the client can determine whether the component's
                 behavior conforms to its promised specification. We
                 present a distributed infrastructure with which a
                 client can make these observations and thereby increase
                 its confidence in the correctness of the remote
                 component. This infrastructure supports temporal
                 specifications of distributed components with
                 autonomous threads of control. It also supports
                 multiple levels of confidence, with commensurate
                 performance costs. As a proof-of-concept for this
                 design, we have implemented a prototype in Java for
                 distributed systems built using CORBA.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Jamil:2001:CBN,
  author =       "T. Jamil",
  title =        "The complex binary number system",
  journal =      j-IEEE-POT,
  volume =       "20",
  number =       "5",
  pages =        "39--41",
  month =        dec,
  year =         "2001",
  CODEN =        "IEPTDF",
  DOI =          "https://doi.org/10.1109/45.983342",
  ISSN =         "0278-6648 (print), 1558-1772 (electronic)",
  ISSN-L =       "0278-6648",
  bibdate =      "Sat Dec 04 10:43:52 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Conversion algorithms and arithmetic procedures for a
                 $ ( - 1 + j) $-base binary number allow a given complex
                 number to be represented as one unit. This should
                 simplify the operations involving complex numbers in
                 today's microprocessors. With the division process
                 secure, we can implement the usual algorithms for
                 calculating functions and processes such as logarithms,
                 exponentials and trigonometric functions Currently,
                 work is underway to write Java applets for the
                 algorithms. We are planning to design an arithmetic
                 unit based on the new binary system which will then be
                 implemented using field programmable gate arrays",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Potentials",
}

@Article{Jensen:2001:DRT,
  author =       "E. D. Jensen",
  title =        "The distributed real-time specification for {Java}: an
                 initial proposal",
  journal =      j-INT-J-COMPUT-SYST-SCI-ENG,
  volume =       "16",
  number =       "2",
  pages =        "??--??",
  month =        mar,
  year =         "2001",
  CODEN =        "CSSEEI",
  ISSN =         "0267-6192",
  bibdate =      "Wed Feb 20 12:01:01 2002",
  bibsource =    "http://www.crlpublishing.co.uk/cssecont01.htm;
                 http://www.math.utah.edu/pub/tex/bib/computsystscieng.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Computer Systems Science and
                 Engineering",
}

@Book{Jepsen:2001:JTS,
  author =       "Thomas C. Jepsen and Farooq Anjum",
  title =        "{Java} in telecommunications: solutions for next
                 generation networks",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "vii + 193",
  year =         "2001",
  ISBN =         "0-471-49826-2",
  ISBN-13 =      "978-0-471-49826-1",
  LCCN =         "QA76.73.J38 J368 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Wiley series in communications networking and
                 distributed systems",
  URL =          "http://www.loc.gov/catdir/toc/onix06/2001026305.html",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); telecommunication
                 systems",
}

@Article{Jolin:2001:JQC,
  author =       "Art Jolin",
  title =        "{Java Q\&A}: Can {J2EE} Manage Cache and Pool
                 Memory?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "117--120",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/jqa1001.txt;
                 http://www.ddj.com/ftp/2001/2001_10/jqa1001.zip",
  abstract =     "Can J2EE manage cache and pool memory? Yes, and Art
                 shows you how. Additional resources include {\tt
                 jqa1001.txt} (listings) and {\tt jqa1001.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Kalin:2001:OOP,
  author =       "Martin Kalin",
  title =        "Object-Oriented Programming in {Java}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxvii + 641",
  year =         "2001",
  ISBN =         "0-13-019859-5",
  ISBN-13 =      "978-0-13-019859-4",
  LCCN =         "QA76.64 .K36 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$58.00",
  series =       "The JK computer science and mathematics series",
  URL =          "http://www.phptr.com/ptrbooks/esm_0130198595.html",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Kambites:2001:OLI,
  author =       "M. E. Kambites and J. Obdr{\v{z}}{\'a}lek and J. M.
                 Bull",
  title =        "An {OpenMP}-like interface for parallel programming in
                 {Java}",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "793--814",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.579",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/ccpe.bib;
                 ftp://ftp.math.utah.edu/pub/tex/bib/pvm.bib;
                 http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503220/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503220&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Book{Keeton:2001:SEU,
  author =       "Brian Keeton and Chuck Cavaness and Geoff Friesen",
  title =        "Special edition using {Java 2}",
  publisher =    pub-QUE,
  address =      pub-QUE:adr,
  pages =        "xiv + 1126",
  year =         "2001",
  ISBN =         "0-7897-2468-5",
  ISBN-13 =      "978-0-7897-2468-7",
  LCCN =         "QA76.73.J38 K44 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Kiczales:2001:AOP,
  author =       "Gregor Kiczales and Erik Hilsdale",
  title =        "Aspect-oriented programming",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "5",
  pages =        "313",
  month =        sep,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/503271.503260",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:10 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Aspect-oriented programming (AOP) is a technique for
                 improving separation of concerns in software design and
                 implementation. AOP works by providing explicit
                 mechanisms for capturing the structure of crosscutting
                 concerns. This tutorial shows how to use AOP to
                 implement crosscutting concerns in a concise modular
                 way. It works with AspectJ, a seamless aspect-oriented
                 extension to the Java(tm) programming language, and
                 with AspectC, an aspect-oriented extension to C in the
                 style of AspectJ. It also includes a description of
                 their underlying model, in terms of which a wide range
                 of AOP languages can be understood.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Kielmann:2001:EJH,
  author =       "Thilo Kielmann and Philip Hatcher and Luc Boug{\'e}
                 and Henri E. Bal",
  title =        "Enabling {Java} for high-performance computing",
  journal =      j-CACM,
  volume =       "44",
  number =       "10",
  pages =        "110--117",
  month =        oct,
  year =         "2001",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 30 17:44:59 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Kientzle:2001:JQH,
  author =       "Tim Kientzle",
  title =        "{Java Q\&A}: How Can {I} Speed Up My {JDBC}-Based
                 Programs?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "111--112",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/jqa1201.txt;
                 http://www.ddj.com/ftp/2001/2001_12/jqa1201.zip",
  abstract =     "Tim focuses on JDBC as he examines techniques for
                 optimizing the performance of database-centric
                 applications. Additional resources include {\tt
                 jqa1201.txt} (listings) and {\tt jqa1201.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Kingsley-Hughes:2001:JE,
  author =       "Adrian Kingsley-Hughes and Kathie Kingsley-Hughes",
  title =        "{JavaScript 1.5} by example",
  publisher =    pub-QUE,
  address =      pub-QUE:adr,
  pages =        "xii + 299",
  year =         "2001",
  ISBN =         "0-7897-2499-5",
  ISBN-13 =      "978-0-7897-2499-1",
  LCCN =         "QA76.73.J39 K55 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "By example series",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Book{Kingston:2001:ADS,
  author =       "Jeffrey Kingston and Brian Cole",
  title =        "Algorithms and Data Structures: Design, Correctness,
                 Analysis: {Java} Edition",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "????",
  year =         "2001",
  ISBN =         "0-201-36062-4",
  ISBN-13 =      "978-0-201-36062-2",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:24:05 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44",
  acknowledgement = ack-nhfb,
}

@Article{Klemm:2001:EJS,
  author =       "Reinhard Klemm and Navjot Singh",
  title =        "Enhancing {Java} server availability with {JAS}",
  journal =      j-SPE,
  volume =       "31",
  number =       "7",
  pages =        "697--716",
  month =        jun,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.387",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Jul 14 12:28:45 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/78003146/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78003146&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Kniesel:2001:JAR,
  author =       "G{\"u}nter Kniesel and Dirk Theisen",
  title =        "{JAC} --- {Access} right based encapsulation for
                 {Java}",
  journal =      j-SPE,
  volume =       "31",
  number =       "6",
  pages =        "555--576",
  month =        may,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.372",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Jul 14 12:28:45 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/78003102/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78003102&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Knoblock:2001:TES,
  author =       "Todd B. Knoblock and Jakob Rehof",
  title =        "Type elaboration and subtype completion for {Java}
                 bytecode",
  journal =      j-TOPLAS,
  volume =       "23",
  number =       "2",
  pages =        "243--272",
  month =        mar,
  year =         "2001",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Feb 19 15:41:55 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{Knuckles:2001:IIP,
  author =       "Craig D. Knuckles",
  title =        "Introduction to interactive programming on the
                 {Internet}: using {HTML} and {JavaScript}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xviii + 423",
  year =         "2001",
  ISBN =         "0-471-38366-X (paperback)",
  ISBN-13 =      "978-0-471-38366-6 (paperback)",
  LCCN =         "QA76.625 .K58 2001",
  bibdate =      "Wed May 8 07:40:44 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "HTML (document markup language); Internet programming;
                 JavaScript (computer program language)",
}

@Book{Knudsen:2001:WJD,
  author =       "Jonathan Knudsen",
  title =        "Wireless {Java}: developing with {Java 2}, micro
                 edition",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xiii + 226",
  year =         "2001",
  ISBN =         "1-893115-50-X",
  ISBN-13 =      "978-1-893115-50-7",
  LCCN =         "QA76.73.J38 K58 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Books for professionals by professionals",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); personal
                 communication service systems",
}

@Article{Koffman:2001:SJP,
  author =       "Elliot Koffman and Ursula Wolz",
  title =        "A simple {Java} package for {GUI}-like interactivity",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "11--15",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364528",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper discusses the motivation for a simple
                 package designed to incorporate user interactivity into
                 a first course in computer science. The package enables
                 novice programmers to build programs with GUI-like
                 interactivity while maintaining good design principles.
                 An advantage of this package is that it is easy to
                 implement using the Swing class. Therefore, it can be
                 used as a case study to illustrate Java features.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kolling:2001:GTO,
  author =       "Michael K{\"o}lling and John Rosenberg",
  title =        "Guidelines for teaching object orientation with
                 {Java}",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "3",
  pages =        "33--36",
  month =        sep,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/507758.377461",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:50 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "How to best teach object orientation to first year
                 students is currently a topic of much debate. One of
                 the tools suggested to aid in this task is BlueJ, an
                 integrated development environment specifically
                 designed for teaching. BlueJ supports a unique style of
                 introduction of OO concepts. In this paper we discuss a
                 set of problems with OO teaching, present some
                 guidelines for better course design and show how BlueJ
                 can be used to make significant improvements to
                 introductory OO courses. We end by presenting a
                 description of a possible project sequence using this
                 teaching approach.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Koved:2001:SCE,
  author =       "L. Koved and A. Nadalin and N. Nagaratnam and M.
                 Pistoia and T. Shrader",
  title =        "Security challenges for {Enterprise Java} in an
                 e-business environment",
  journal =      j-IBM-SYS-J,
  volume =       "40",
  number =       "1",
  pages =        "130--152",
  month =        "????",
  year =         "2001",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Sat Apr 7 16:40:01 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/sj40-1.html",
  URL =          "http://www.research.ibm.com/journal/sj/401/koved.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  ordernumber =  "G321-0140",
}

@Article{Krall:2001:JLS,
  author =       "A. Krall and P. Tomsich",
  title =        "Java for Large-Scale Scientific Computations?",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2179",
  pages =        "228--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:22 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2179.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2179/21790228.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2179/21790228.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kreger:2001:JME,
  author =       "H. Kreger",
  title =        "{Java Management Extensions} for application
                 management",
  journal =      j-IBM-SYS-J,
  volume =       "40",
  number =       "1",
  pages =        "104--129",
  month =        "????",
  year =         "2001",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Sat Apr 7 16:40:01 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/sj40-1.html",
  URL =          "http://www.research.ibm.com/journal/sj/401/kreger.html",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  ordernumber =  "G321-0140",
}

@Article{Krintz:2001:UJC,
  author =       "Chandra Krintz and Rich Wolski",
  title =        "Using {JavaNws} to compare {C} and {Java TCP-Socket}
                 performance",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "815--839",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.580",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503224/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503224&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Krishna:2001:SRI,
  author =       "Ksheerabdhi Krishna and Michael Montgomery",
  title =        "A Simple(r) Interface Distribution Mechanism for
                 {Java} Card",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "114--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410114.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410114.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Kumaran:2001:JTO,
  author =       "S. Ilango Kumaran",
  title =        "{Jini} technology: an overview",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "358",
  year =         "2001",
  ISBN =         "0-13-033385-9",
  ISBN-13 =      "978-0-13-033385-8",
  LCCN =         "QA76.9.D5 K83 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing;
                 Jini",
}

@Article{Kuo:2001:AAJ,
  author =       "Dean Kuo and Doug Palmer",
  title =        "Automated Analysis of {Java} Message Service
                 Providers",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2218",
  pages =        "1--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:05 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2218.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2218/22180001.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2218/22180001.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kurzyniec:2001:FCL,
  author =       "Dawid Kurzyniec and Vaidy Sunderam",
  title =        "Flexible Class Loader Framework: Sharing {Java}
                 Resources in Harness System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2073",
  pages =        "375--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2073.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2073/20730375.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2073/20730375.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Ladd:2001:PEU,
  author =       "Eric Ladd",
  title =        "{Platinum} edition using {XHTML}, {XML} and {Java 2}",
  publisher =    pub-QUE,
  address =      pub-QUE:adr,
  edition =      "Platinum",
  pages =        "xxiv + 1413",
  year =         "2001",
  ISBN =         "0-7897-2473-1",
  ISBN-13 =      "978-0-7897-2473-1",
  LCCN =         "QA76.76.H94 P585 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XHTML (document
                 markup language); XML (document markup language)",
}

@Article{Laird:2001:JQW,
  author =       "Cameron Laird",
  title =        "{Java Q\&A}: When Should You Script {Java} with
                 {TCL}?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "133--134",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/jqa0301.txt",
  abstract =     "Can you script Java with Tcl? Sure, and TclBlend is a
                 great way to do it. Additional resources include
                 jqa0301.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Larsen:2001:JPB,
  author =       "Albert L. Larsen",
  title =        "{Java} programming: from the beginning",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "1",
  pages =        "97--98",
  month =        jan,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/505894.505922",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:04 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Launay:2001:EPP,
  author =       "Pascale Launay and Jean-Louis Pazat",
  title =        "Easing parallel programming for clusters with {Java}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "253--263",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/32/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Laure:2001:OJF,
  author =       "Erwin Laure",
  title =        "{OpusJava}: {A Java} framework for distributed high
                 performance computing",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "235--251",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/31/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@InProceedings{Lawlor:2001:SDP,
  author =       "Orion Lawlor and Laxmikant Kale",
  title =        "Supporting Dynamic Parallel Object Arrays",
  crossref =     "ACM:2001:PAJ",
  pages =        "21--28",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/7.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500021.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Lee:2001:IEW,
  author =       "Raymond S. T. Lee and James N. K. Liu",
  title =        "{iJADE eMiner} --- {A} {Web}-Based Mining Agent Based
                 on Intelligent {Java} Agent Development Environment
                 {(iJADE)} on {Internet} Shopping",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2035",
  pages =        "28--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:52 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2035.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2035/20350028.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2035/20350028.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lehrbaum:2001:FESi,
  author =       "Rick Lehrbaum",
  title =        "Focus on Embedded Systems: Embedded {Linux} at
                 {JavaOne}",
  journal =      j-LINUX-J,
  volume =       "89",
  pages =        "48--49",
  month =        sep,
  year =         "2001",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Thu Aug 30 06:06:53 MDT 2001",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue89/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Lerner:2001:FEJ,
  author =       "Reuven M. Lerner",
  title =        "At the Forge: {Enterprise JavaBeans}",
  journal =      j-LINUX-J,
  volume =       "92",
  pages =        "20--22, 24--25",
  month =        dec,
  year =         "2001",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Fri Feb 8 14:44:29 MST 2002",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue92/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://noframes.linuxjournal.com/lj-issues/issue92/article.php?sid=5497",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Lerner:2001:FJ,
  author =       "Reuven M. Lerner",
  title =        "At the Forge: {JavaBeans}",
  journal =      j-LINUX-J,
  volume =       "86",
  pages =        "18, 20--22",
  month =        jun,
  year =         "2001",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Wed May 23 15:20:33 MDT 2001",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue86/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://noframes.linuxjournal.com/lj-issues/issue86/4686",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Lerner:2001:FJP,
  author =       "Reuven M. Lerner",
  title =        "At the Forge: {JavaServer} Pages",
  journal =      j-LINUX-J,
  volume =       "85",
  pages =        "16, 18, 20--22",
  month =        may,
  year =         "2001",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Wed May 23 15:20:33 MDT 2001",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue85/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://noframes.linuxjournal.com/lj-issues/issue85/4639",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Lerner:2001:FSS,
  author =       "Reuven M. Lerner",
  title =        "At the Forge: Server-side {Java} with
                 {Jakarta-Tomcat}",
  journal =      j-LINUX-J,
  volume =       "84",
  pages =        "50, 52--54, 56--58",
  month =        apr,
  year =         "2001",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Fri Apr 13 06:26:46 MDT 2001",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue84/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Leroy:2001:CBV,
  author =       "Xavier Leroy",
  title =        "On-Card Bytecode Verification for {Java} Card",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "150--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400150.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400150.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Leroy:2001:JBV,
  author =       "Xavier Leroy",
  title =        "Java Bytecode Verification: An Overview",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2102",
  pages =        "265--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:02 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2102.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2102/21020265.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2102/21020265.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Levanoni:2001:FRC,
  author =       "Yossi Levanoni and Erez Petrank",
  title =        "An on-the-fly reference counting garbage collector for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "367--380",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Lewis:2001:APH,
  author =       "Brian Lewis and Bernd Mathiske and Neal Gafter",
  title =        "Architecture of the {PEVM}: a High-Performance
                 Orthogonally {Persistent Java{\TM} Virtual Machine}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2135",
  pages =        "18--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:37 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2135.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2135/21350018.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2135/21350018.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Lewis:2001:JSS,
  author =       "John Lewis and William Loftus",
  title =        "{Java} Software Solutions: Foundations of Program
                 Design",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxviii + 784",
  year =         "2001",
  ISBN =         "0-201-72597-5",
  ISBN-13 =      "978-0-201-72597-1",
  LCCN =         "QA76.73.J38 L49 2001",
  bibdate =      "Wed Feb 21 06:33:20 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Book{LewisJohn:2001:JSS,
  author =       "Ph. D. {Lewis, John} and William Loftus",
  title =        "{Java} software solutions: foundations of program
                 design",
  publisher =    pub-AW-LONGMAN,
  address =      pub-AW-LONGMAN:adr,
  edition =      "Second",
  pages =        "xxviii + 784",
  year =         "2001",
  ISBN =         "0-201-72597-5 (paperback)",
  ISBN-13 =      "978-0-201-72597-1 (paperback)",
  LCCN =         "QA76.73.J38 L49 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Accompanying CD-ROM contains Java development tools,
                 source code, and PowerPoint slides from the text",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Li:2001:WMB,
  author =       "Maozhen Li and Omer F. Rana and David W. Walker",
  title =        "Wrapping {MPI}-based legacy codes as {Java\slash
                 CORBA} components",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "213--223",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/29/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@InProceedings{Liang:2001:EEF,
  author =       "Donglin Liang and Maikel Pennings and Mary Jean
                 Harrold",
  title =        "Extending and evaluating flow-insensitive and
                 context-insensitive points-to analyses for {Java}",
  crossref =     "ACM:2001:ASS",
  pages =        "73--79",
  year =         "2001",
  bibdate =      "Thu Aug 30 08:01:24 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/paste/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/soft/379605/p73-liang/p73-liang.pdf;
                 http://www.acm.org/pubs/citations/proceedings/soft/379605/p73-liang/",
  acknowledgement = ack-nhfb,
}

@Book{Liang:2001:IJP,
  author =       "Y. Daniel Liang",
  title =        "Introduction to {Java} Programming",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  edition =      "Third",
  pages =        "784 (est.)",
  year =         "2001",
  ISBN =         "0-13-031997-X",
  ISBN-13 =      "978-0-13-031997-5",
  LCCN =         "A76.73.J38 L52 2001",
  bibdate =      "Fri Apr 13 15:31:29 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$68.00",
  URL =          "http://www.phptr.com/ptrbooks/esm_013031997X.html",
  acknowledgement = ack-nhfb,
}

@Article{Lingsong:2001:EDB,
  author =       "He Lingsong",
  title =        "Exchanging Data between {Java} and {C/C++ Windows}
                 Programs",
  journal =      j-CCCUJ,
  volume =       "19",
  number =       "1",
  pages =        "34--??",
  month =        jan,
  year =         "2001",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:29 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The notorious ``endian'' problem shows up in all sorts
                 of places --- in this case, between different
                 programming languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Lippman:2001:CD,
  author =       "Stanley B. Lippman",
  title =        "The {C\#} Delegate",
  journal =      j-CCCUJ,
  volume =       "19",
  number =       "7",
  pages =        "42--??",
  month =        jul,
  year =         "2001",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:32 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "If you're comparing C\# to other ``C-family''
                 languages, here's an unusual feature that has no real
                 equivalent in C++ or Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Luthi:2001:IPC,
  author =       "Johannes L{\"u}thi and Catalina M. Llad{\'o}",
  title =        "Interval parameters for capturing uncertainties in an
                 {EJB} performance model",
  journal =      j-SIGMETRICS,
  volume =       "29",
  number =       "1",
  pages =        "291--300",
  month =        jun,
  year =         "2001",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/384268.378794",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Thu Jun 26 11:34:55 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Exact as well as approximate analytical solutions for
                 quantitative performance models of computer systems are
                 usually obtained by performing a series of arithmetical
                 operations on the input parameters of the model.
                 However, especially during early phases of system
                 design and implementation, not all the parameter values
                 are usually known exactly. In related research
                 contributions, intervals have been proposed as a means
                 to capture parameter uncertainties. Furthermore,
                 methods to adapt existing solution algorithms to
                 parameter intervals have been discussed. In this paper
                 we present the adaptation of an existing performance
                 model to parameter intervals. The approximate solution
                 of a queueing network modelling an Enterprise JavaBeans
                 server implementation is adapted to interval arithmetic
                 in order to represent the uncertainty in some of the
                 parameters of the model. A new interval splitting
                 method is applied to obtain reasonable tight
                 performance measure intervals. Monotonicity properties
                 of intermediate computation results are exploited to
                 achieve a more efficient interval solution. In
                 addition, parts of the original solution algorithm are
                 modified to increase the efficiency of the
                 corresponding interval arithmetical solution.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
  keywords =     "distributed systems; enterprise JavaBeans; interval
                 parameters; parameter uncertainties; performance
                 models; queueing",
}

@Article{Lutz:2001:NBIb,
  author =       "Michael J. Lutz",
  title =        "New Books: Investigating Evidential Computing;
                 Steering the Computing Juggernaut; In the Mood for
                 {Java}, {Smalltalk}, and Algorithms?; Meeting the
                 Computational Intelligence Challenge; Assessing the
                 Digital Economy",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "2",
  pages =        "112--112",
  month =        feb,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Feb 14 07:15:50 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r2112.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Maassen:2001:EJR,
  author =       "Jason Maassen and Rob {Van Nieuwpoort} and Ronald
                 Veldema and Henri Bal and Thilo Kielmann and Ceriel
                 Jacobs and Rutger Hofman",
  title =        "Efficient {Java RMI} for parallel programming",
  journal =      j-TOPLAS,
  volume =       "23",
  number =       "6",
  pages =        "747--775",
  month =        nov,
  year =         "2001",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Thu Aug 1 06:48:01 MDT 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{MacAuley:2001:JPR,
  author =       "Christian MacAuley and Paul Jobson",
  title =        "{JavaScript} programmer's reference",
  publisher =    pub-OSBORNE,
  address =      pub-OSBORNE:adr,
  pages =        "xiii + 272",
  year =         "2001",
  ISBN =         "0-07-219296-8",
  ISBN-13 =      "978-0-07-219296-4",
  LCCN =         "QA76.76.J39 M34 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Madrigal:2001:FOD,
  author =       "Victor M. {Madrigal III}",
  title =        "Fundamentals of {OOP} and data structures in {Java}",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "1",
  pages =        "99--99",
  month =        jan,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/505894.505924",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:04 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@InProceedings{Maessen:2001:PAS,
  author =       "Jan-Willem Maessen and Vivek Sarkar and David Grove",
  title =        "Program analysis for safety guarantees in a {Java}
                 virtual machine written in {Java}",
  crossref =     "ACM:2001:ASS",
  pages =        "62--65",
  year =         "2001",
  bibdate =      "Thu Aug 30 08:01:24 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/paste/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/soft/379605/p62-maessen/p62-maessen.pdf;
                 http://www.acm.org/pubs/citations/proceedings/soft/379605/p62-maessen/",
  acknowledgement = ack-nhfb,
}

@Article{Maly:2001:IHJ,
  author =       "R. Maly and H. Abdel-Wahab and C. Wild and C. M.
                 Overstreet and A. Gupta and A. Abdel-Hamid and S.
                 Ghanem and A. Gonzalez and X. Zhu",
  title =        "{IRI-h}, a {Java-based} distance education system:
                 architecture and performance",
  journal =      j-JERIC,
  volume =       "1",
  number =       "1es",
  pages =        "??--??",
  month =        mar,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1531-4278",
  bibdate =      "Tue Feb 3 18:43:36 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/jeric/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "ACM Journal on Educational Resources in Computing
                 (JERIC)",
}

@Article{Mamlin:2001:OSX,
  author =       "B. Mamlin",
  title =        "An Open-source {XML}-based {Java} Implementation of
                 the Medical Gopher Order and Note Writing Tool",
  journal =      j-J-BIOMED-INF,
  volume =       "35",
  number =       "SUPP",
  pages =        "826--??",
  year =         "2001",
  CODEN =        "JBIOBL",
  ISSN =         "1532-0464",
  bibdate =      "Tue Feb 18 07:16:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Biomedical Informatics",
}

@Article{Manduchi:2001:DJA,
  author =       "Gabriele Manduchi",
  title =        "Developing {Java} applications for a nuclear fusion
                 experiment: a test case for {Java} applicability in a
                 demanding environment",
  journal =      j-SPE,
  volume =       "31",
  number =       "11",
  pages =        "1025--1042",
  month =        sep,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.399",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Jul 14 12:28:46 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/83001949/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=83001949&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@InProceedings{Manson:2001:CSM,
  author =       "Jeremy Manson and William Pugh",
  title =        "Core Semantics of Multithreaded {Java}",
  crossref =     "ACM:2001:PAJ",
  pages =        "29--38",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/42.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500029.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Marchand:2001:APG,
  author =       "Richard Marchand and Mathieu Charbonneau-Lefort and
                 Mathieu Dumberry and Benoit Pronovost",
  title =        "{ARANEA}, a program for generating unstructured
                 triangular meshes with a {Java Graphics User
                 Interface}",
  journal =      j-COMP-PHYS-COMM,
  volume =       "139",
  number =       "2",
  pages =        "172--185",
  day =          "15",
  month =        sep,
  year =         "2001",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/S0010-4655(01)00187-4",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Mon Feb 13 23:41:02 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compphyscomm1970.bib;
                 http://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465501001874",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Book{Marco:2001:EJJ,
  author =       "Lou Marco",
  title =        "{EJB} and {JSP}: {Java} on the edge, unlimited
                 edition",
  publisher =    pub-MT,
  address =      pub-MT:adr,
  pages =        "xxiv + 452",
  year =         "2001",
  ISBN =         "0-7645-4802-6",
  ISBN-13 =      "978-0-7645-4802-4",
  LCCN =         "QA76.73.J38 M3482 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Professional mindware",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; electronic
                 commerce -- computer programs; Internet programming;
                 JavaBeans; JavaServer pages",
}

@Article{Marquez:2001:IOP,
  author =       "Alonso Marquez and Stephen M. Blackburn and Gavin
                 Mercer and John Zigman",
  title =        "Implementing Orthogonally Persistent {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2135",
  pages =        "247--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:37 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2135.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2135/21350247.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2135/21350247.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Marti:2001:ZZH,
  author =       "Don Marti",
  title =        "{ZapMedia ZapStation\slash Harman Kardon DMC 100}",
  journal =      j-EMBEDDED-LINUX-J,
  volume =       "2",
  pages =        "12--13",
  month =        mar # "\slash " # apr,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1534-083X",
  bibdate =      "Thu Feb 15 10:13:22 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://embedded.linuxjournal.com/magazine/issue02/4526;
                 http://www.linuxdevices.com/articles/AT8585138080.html",
  abstract =     "Java-based ``Digital Media Center'' plays DVDs, MP3s
                 and more, and it's running Linux.",
  acknowledgement = ack-nhfb,
  fjournal =     "Embedded Linux Journal",
}

@Article{Martin:2001:ATG,
  author =       "Hugues Martin and Lydie du Bousquet",
  title =        "Automatic Test Generation for {Java}-Card Applets",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "121--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410121.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410121.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Masum:2001:BRBa,
  author =       "Hassan Masum",
  title =        "Book Review: {{\booktitle{Data Structures and
                 Algorithms in Java}} (2nd ed): Michael T Goodrich and
                 Roberto Tamassia}",
  journal =      j-SIGACT,
  volume =       "32",
  number =       "1",
  pages =        "3--5",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGNDM",
  DOI =          "https://doi.org/10.1145/568438.568441",
  ISSN =         "0163-5700 (print), 1943-5827 (electronic)",
  ISSN-L =       "0163-5700",
  bibdate =      "Wed Mar 21 18:30:24 MDT 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigact.bib",
  note =         "See
                 \cite{Goodrich:1997:DSA,Goodrich:2001:DSA,Goodrich:2004:DSA,Goodrich:2006:DSA,Goodrich:2010:DSA}.",
  abstract =     "Data Structures is a first book on algorithms and data
                 structures, using an object- oriented approach. The
                 target audience for the book is a second-year CS class
                 introducing fundamental data structures and their
                 associated algorithms. This second edition of the book
                 has been corrected and revised, and is a substantial
                 improvement over the first edition. A companion web
                 site contains useful ancillary tools, including an
                 excellent set of slides. Despite several minor errors
                 and some questionable stylistic choices, I found this
                 version of the book to be well-written. The problem
                 sets are large, interesting, and thought-stimulating.
                 In several places connections are drawn between the
                 algorithm being discussed and important contemporary
                 real-world problems (e.g. search engines, DNA sequence
                 comparison, garbage collection), which students usually
                 appreciate.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGACT News",
  journal-URL =  "http://dl.acm.org/citation.cfm?id=J697",
}

@Book{Matena:2001:AEJ,
  author =       "Vlada Matena and Beth Stearns",
  title =        "Applying {Enterprise JavaBeans}: Component-Based
                 Development for the {J2EE} Platform",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxv + 436",
  year =         "2001",
  ISBN =         "0-201-70267-3 (paperback)",
  ISBN-13 =      "978-0-201-70267-5 (paperback)",
  LCCN =         "QA76.73.J38 M377 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); JavaBeans",
}

@Article{Matsuoka:2001:TPE,
  author =       "Satoshi Matsuoka and Shigeo Itou",
  title =        "Towards performance evaluation of high-performance
                 computing on multiple {Java} platforms",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "281--291",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/34/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{McCluskey:2001:JPa,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "26",
  number =       "1",
  pages =        "??--??",
  month =        feb,
  year =         "2001",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:45:51 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2001-02/index.html",
  URL =          "http://www.usenix.org/publications/login/2001-02/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2001:JPb,
  author =       "Glen McCluskey",
  title =        "{Java} Performance",
  journal =      j-LOGIN,
  volume =       "26",
  number =       "2",
  pages =        "??--??",
  month =        apr,
  year =         "2001",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:51:58 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2001-04/index.html",
  URL =          "http://www.usenix.org/publications/login/2001-04/pdfs/mccluskey1.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McDirmid:2001:JNA,
  author =       "Sean McDirmid and Matthew Flatt and Wilson C. Hsieh",
  title =        "{Jiazzi}: new-age components for old-fashioned
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "211--222",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{McKenzie:2001:JQJ,
  author =       "Nadine McKenzie",
  title =        "{Java Q\&A}: Is {JavaScript} an Object-Oriented
                 Language?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "115--116",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/jqa0801.txt",
  abstract =     "Is JavaScript an object-oriented language? Well, it
                 does utilize prototype-based inheritance and support
                 encapsulation. Additional resources include jqa0801.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{McLaughlin:2001:JX,
  author =       "Brett McLaughlin",
  title =        "{Java} and {XML}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xv + 509",
  year =         "2001",
  ISBN =         "0-596-00197-5 (paperback)",
  ISBN-13 =      "978-0-596-00197-1 (paperback)",
  LCCN =         "QA76.73.J38 M39 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Also available via the Internet",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language)",
}

@Book{McLaughlin:2001:JXE,
  author =       "Brett McLaughlin",
  title =        "{Java} and {XML}: Solutions to Real-World Problems",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xv + 509",
  month =        sep,
  year =         "2001",
  ISBN =         "0-596-00197-5",
  ISBN-13 =      "978-0-596-00197-1",
  LCCN =         "QA76.73.J38 .M39 2001",
  bibdate =      "Mon Apr 18 15:03:43 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$39.95",
  URL =          "http://www.oreilly.com/catalog/9780596001971;
                 http://www.oreilly.com/catalog/javaxml2",
  acknowledgement = ack-nhfb,
  remark =       "Previous ed.: 2000.",
  subject =      "Java (Computer program language); XML (Document markup
                 language); Web publishing",
}

@Article{Meijer:2001:TFF,
  author =       "Hans Meijer and Erik Poll",
  title =        "Towards a Full Formal Specification of the {JavaCard
                 API}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "165--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400165.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400165.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Metsker:2001:BPJ,
  author =       "Steven John Metsker",
  title =        "Building Parsers With {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxv + 371",
  year =         "2001",
  ISBN =         "0-201-71962-2 (paperback)",
  ISBN-13 =      "978-0-201-71962-8 (paperback)",
  LCCN =         "QA76.73.J38 M48 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  price =        "US\$40.00",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@InProceedings{Midkiff:2001:JCM,
  author =       "Sam Midkiff",
  title =        "A {Java} Compiler for Many Memory Models",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/JVM_wips/S11.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Mikheev:2001:CCM,
  author =       "Vitaly V. Mikheev and Stanislav A. Fedoseev",
  title =        "Compiler-Cooperative Memory Management in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2244",
  pages =        "511--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2244.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2244/22440511.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2244/22440511.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Monson-Haefel:2001:EJ,
  author =       "Richard Monson-Haefel",
  title =        "{Enterprise JavaBeans}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xix + 567",
  year =         "2001",
  ISBN =         "0-596-00226-2",
  ISBN-13 =      "978-0-596-00226-8",
  LCCN =         "QA76.73.J38 M65 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Covers EJB 2.0",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); JavaBeans",
}

@Book{Monson-Haefel:2001:JMS,
  author =       "Richard Monson-Haefel and David Chappell",
  title =        "{Java} message service",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 220",
  year =         "2001",
  ISBN =         "0-596-00068-5",
  ISBN-13 =      "978-0-596-00068-4",
  LCCN =         "QA76.73.J38 M655 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); telecommunication --
                 message processing",
}

@Article{Montgomery:2001:FIF,
  author =       "Michael Montgomery and Ksheerabdhi Krishna",
  title =        "A Flexible Invocation Framework for {Java} Card",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2140",
  pages =        "188--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2140/21400188.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2140/21400188.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Moore:2001:EFJ,
  author =       "J. Strother Moore and George M. Porter",
  title =        "An Executable Formal {Java Virtual Machine} Thread
                 Model",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/moore.html",
  acknowledgement = ack-nhfb,
}

@InProceedings{Moreira:2001:CTA,
  author =       "Jos{\'e} Moreira and Sam Midkiff and Manish Gupta",
  title =        "A Comparison of Three Approaches to Language,
                 Compiler, and Library Support for Multidimensional
                 Arrays in {Java}",
  crossref =     "ACM:2001:PAJ",
  pages =        "116--125",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/44.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500116.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Moreira:2001:NP,
  author =       "Jos{\'e} E. Moreira and Samuel P. Midkiff and Manish
                 Gupta and Pedro V. Artigas and Peng Wu and George
                 Almasi",
  title =        "The {NINJA} project",
  journal =      j-CACM,
  volume =       "44",
  number =       "10",
  pages =        "102--109",
  month =        oct,
  year =         "2001",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 30 17:44:59 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  keywords =     "NINJA (Numerically INtensive JAva)",
}

@Article{Morelli:2001:JAH,
  author =       "Ralph Morelli and Ralph Walde and Gregg Marcuccio",
  title =        "A {Java API} for historical ciphers: an
                 object-oriented design project",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "307--311",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364609",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/cryptography2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes a project suitable for a software
                 engineering or object-oriented design course. The
                 project consists of asking students to design an
                 application programming interface (API) for a
                 particular range of applications. An API-design project
                 has several features not always found in
                 application-design projects: It forces students to
                 focus carefully on the distinction between the
                 programming and the user interfaces; it provides a good
                 justification for studying existing APIs as model code;
                 it provides a natural way to divide tasks between
                 different groups of designers/programmers; and, the
                 final product can be used as the basis for programming
                 projects in other courses. In this case the particular
                 project we describe is the design of an API for
                 implementing Historical Cipher algorithms.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Morgenthal:2001:EAI,
  author =       "J. P. (Jeffrey P.) Morgenthal and Bill La Forge",
  title =        "Enterprise Application Integration with {XML} and
                 {Java}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xix + 504",
  year =         "2001",
  ISBN =         "0-13-085135-3",
  ISBN-13 =      "978-0-13-085135-2",
  LCCN =         "QA76.76.H94 M6 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  price =        "US\$44.99",
  series =       "The definitive {XML} series from {Charles F.
                 Goldfarb}",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130851353.html",
  acknowledgement = ack-nhfb,
  keywords =     "application software; Java (computer program
                 language); XML (document markup language)",
}

@Article{Nakajima:2001:BAE,
  author =       "Shin Nakajima and Tetsuo Tamai",
  title =        "Behavioural Analysis of the {Enterprise {\bf
                 JavaBeans{\TM}} Component Architecture}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2057",
  pages =        "163--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:13 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2057.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2057/20570163.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2057/20570163.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Narasimhan:2001:CBS,
  author =       "Srivatsan Narasimhan and Santosh Pande",
  title =        "Compiler Based Scheduling of {Java} Mobile Agents",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2017",
  pages =        "372--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:35 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2017.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2017/20170372.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2017/20170372.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Narasimhan:2001:IJR,
  author =       "N. Narasimhan and L. E. Moser and P. M.
                 Melliar-Smith",
  title =        "Interceptors for {Java Remote Method Invocation}",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "755--774",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.575",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503222/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503222&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Neary:2001:JJB,
  author =       "Michael O. Neary and Alan Phipps and Steven Richman
                 and Peter Cappello",
  title =        "{Javelin 2.0}: {Java}-Based Parallel Computing on the
                 {Internet}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1900",
  pages =        "1231--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1900.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1900/19001231.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1900/19001231.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Negrino:2001:JWW,
  author =       "Tom Negrino and Dori Smith",
  title =        "{JavaScript} for the {World Wide Web}",
  publisher =    pub-PEACHPIT,
  address =      pub-PEACHPIT:adr,
  edition =      "Fourth",
  pages =        "xiv + 430",
  year =         "2001",
  ISBN =         "0-201-73517-2",
  ISBN-13 =      "978-0-201-73517-8",
  LCCN =         "QA76.73.J39 N44 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Visual quickstart guide",
  acknowledgement = ack-nhfb,
  keywords =     "Internet publishing; JavaScript (computer program
                 language); World Wide Web",
}

@InProceedings{Nelisse:2001:OBC,
  author =       "Arnold Nelisse and Thilo Kielmann and Henri Bal and
                 Jason Maassen",
  title =        "Object-based Collective Communication in {Java}",
  crossref =     "ACM:2001:PAJ",
  pages =        "11--20",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/26.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500011.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@MastersThesis{Newhouse:2001:JAE,
  author =       "Travis Gregory Newhouse",
  title =        "{Java} active extensions: a mobile-code mechanism for
                 extending client resources",
  type =         "Thesis ({M.S.})",
  school =       "University of California, San Diego",
  address =      "San Diego, CA, USA",
  year =         "2001",
  LCCN =         "QA 3.9 .N3 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "dissertations, academic -- UCSD -- computer science;
                 dissertations, academic -- UCSD -- computer science and
                 engineering",
}

@InProceedings{Ngo:2001:IJJ,
  author =       "Ton Ngo and Steve Smith",
  title =        "Implementing {JNI} in {Java} for {Jalape{\~n}o}",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/JVM_wips/S06.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Nicholas:2001:TED,
  author =       "Tyrone Nicholas and Jerzy A. Barchanski",
  title =        "{TOS}: an educational distributed operating system in
                 {Java}",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "312--316",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364611",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes TOS --- an educational
                 distributed operating system implemented in Java. First
                 the current trends in commercial operating systems are
                 shortly presented and compared with several available
                 educational operating systems. Next we give our
                 rationals to use Java as the TOS implementation
                 language. Then the architecture of the system and its
                 components --- launchers and servers are described.
                 Finally we explain the advantages of this architecture
                 and give some examples of possible student projects and
                 assignments.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Nipkow:2001:VBV,
  author =       "T. Nipkow",
  title =        "Verified Bytecode Verifiers",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2030",
  pages =        "347--363",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Dec 01 06:56:10 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Noble:2001:SCJ,
  author =       "Michael S. Noble and Stoyanka Zlateva",
  title =        "Scientific Computation with {JavaSpaces}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "657--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100657.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100657.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Oaks:2001:JS,
  author =       "Scott Oaks",
  title =        "{Java} security",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xvi + 599",
  year =         "2001",
  ISBN =         "0-596-00157-6",
  ISBN-13 =      "978-0-596-00157-5",
  LCCN =         "QA76.73.J38 O247 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Covers JAAS and JSEE; Writing and deploying secure
                 applications; Covers Java 1.1, Java 2, and JCE 1.2.1.",
  acknowledgement = ack-nhfb,
  keywords =     "computer security; Java (computer program language)",
}

@Article{Oestreicher:2001:ECJ,
  author =       "Dan Oestreicher",
  title =        "Experience with a commercial {Java} implementation of
                 group communication using reliable multicast",
  journal =      j-OPER-SYS-REV,
  volume =       "35",
  number =       "4",
  pages =        "21--31",
  month =        oct,
  year =         "2001",
  CODEN =        "OSRED8",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Sat Aug 26 08:55:53 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
}

@Article{Ogasawara:2001:SEH,
  author =       "Takeshi Ogasawara and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "A study of exception handling and its dynamic
                 optimization in {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "83--95",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Oliver:2001:SEE,
  author =       "Jos{\'e} Oliver and Jordi Guitart and Eduard
                 Ayguad{\'e} and Nacho Navarro and Jordi Torres",
  title =        "Strategies for the efficient exploitation of
                 loop-level parallelism in {Java}",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "663--680",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.573",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503218/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503218&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Olson:2001:BJP,
  author =       "Quentin Olson",
  title =        "Brewing {Java} at the Point of Sale",
  journal =      j-EMBEDDED-LINUX-J,
  volume =       "6",
  pages =        "28--31",
  month =        nov # "\slash " # dec,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1534-083X",
  bibdate =      "Fri Nov 23 18:22:03 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://embedded.linuxjournal.com/magazine/issue06/;
                 http://www.linuxdevices.com/articles/AT8821374910.html",
  abstract =     "Retail operations can benefit from Java features,
                 especially dynamic class loading.",
  acknowledgement = ack-nhfb,
  fjournal =     "Embedded Linux Journal",
}

@Article{Omma:2001:BRS,
  author =       "Mikael Omma",
  title =        "Book Review: {{\em Server Based Java Programming}}",
  journal =      j-PARALLEL-DIST-COMP-PRACT,
  volume =       "4",
  number =       "4",
  pages =        "??--??",
  month =        dec,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1097-2803",
  bibdate =      "Thu Sep 2 12:08:56 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/4/4.toc",
  acknowledgement = ack-nhfb,
  fjournal =     "PDCP: Parallel and Distributed Computing Practices",
}

@Article{Orleans:2001:DDA,
  author =       "Doug Orleans and Karl Lieberherr",
  title =        "{DJ}: Dynamic Adaptive Programming in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2192",
  pages =        "73--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:36 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2192.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2192/21920073.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2192/21920073.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Paleczny:2001:JHS,
  author =       "Michael Paleczny and Christopher Vick and Cliff
                 Click",
  title =        "The {Java HotSpot{\TM}} Server Compiler",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/paleczny.html",
  acknowledgement = ack-nhfb,
}

@Article{Pancake:2001:HPJ,
  author =       "Cherri Pancake and Christian Lengauer",
  title =        "{High-performance Java}",
  journal =      j-CACM,
  volume =       "44",
  number =       "10",
  pages =        "98--101",
  month =        oct,
  year =         "2001",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 30 17:44:59 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@InProceedings{Pang:2001:PSR,
  author =       "James Pang and Gholamali Shoja and Eric Manning",
  title =        "Providing Soft Real-time {QoS} Guarantees for {Java}
                 Threads",
  crossref =     "ACM:2001:PAJ",
  pages =        "39--46",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/21.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500039.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Pang:2001:SSR,
  author =       "James C. Pang and Gholamali C. Shoja and Eric G.
                 Manning",
  title =        "Supporting Soft Real-Time Tasks and {QoS} on the
                 {Java} Platform",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2026",
  pages =        "86--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:43 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2026.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2026/20260086.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2026/20260086.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Park:2001:RRJ,
  author =       "Jung Gyu Park and Arthur H. Lee",
  title =        "Removing Reflection from {Java} Programs Using Partial
                 Evaluation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2192",
  pages =        "274--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:36 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2192.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2192/21920274.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2192/21920274.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Parrish:2001:IAV,
  author =       "Allen Parrish and Joe Hollingsworth and Peter Maurer
                 and Benjamin Shults and Bruce Weide",
  title =        "Identifying an appropriate view of software components
                 for undergraduate education",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "394--395",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364756",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Software components have existed in one form or
                 another for a number of years. Work in this area can be
                 classified into two broad categories. On the one hand,
                 a number of researchers have approached the concept of
                 software components from a first principles
                 perspective, advancing ideas regarding what constitutes
                 the ideal component paradigm from perspectives of
                 efficiency, verifiability and reusability. On the other
                 hand, recent commercial advances in a number of popular
                 technologies have elevated the software component
                 concept into widespread use within the software
                 practitioner community. Such technologies include a
                 number of technologies made popular by Microsoft (such
                 as Active-X, COM, DCOM and Visual Basic), as well as
                 CORBA and Java Beans. Neither of these perspectives on
                 software components has become a standard cornerstone
                 of software development pedagogy. Yet both perspectives
                 may have an important role in preparing software
                 developers to build high-quality software in the
                 context of modern software development technologies. In
                 particular, teaching students how to design and
                 construct software components from first principles
                 provides students with important guidance as to the
                 ``right way'' to structure correct and efficient
                 software systems (i.e., with emphasis on ``what''
                 component-based systems should contain). On the other
                 hand, teaching students about current commercial
                 component technologies exposes students to the
                 important dimension of best commercial practice (i.e.,
                 with emphasis on ``how'' component-based systems could
                 be built).The participants of this panel are all
                 actively involved in the development of courses and
                 curricula that provide various perspectives on
                 component-based systems. They represent both the first
                 principles and commercial perspectives discussed above.
                 Position statements for each of the panelists appear
                 below.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Pasareanu:2001:FFC,
  author =       "Corina S. Pasareanu and Matthew B. Dwyer and Willem
                 Visser",
  title =        "Finding Feasible Counter-examples when Model Checking
                 Abstracted {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2031",
  pages =        "284--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:48 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2031.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2031/20310284.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2031/20310284.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Paulson:2001:NBRb,
  author =       "Linda Dailey Paulson",
  title =        "News Briefs: Researchers Work on Improving Memory:
                 Tracking Your {E}-Mail: Handheld-to-Handheld: Fighting
                 over {Java}; Future Searches; Location, Location,
                 Location; {Michigan} Goes to Cybercourt",
  journal =      j-COMPUTER,
  volume =       "34",
  number =       "7",
  pages =        "19--21",
  month =        jul,
  year =         "2001",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Jul 11 07:52:11 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2001/pdf/r7019.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Pawlak:2001:JFS,
  author =       "Renaud Pawlak and Lionel Seinturier and Laurence
                 Duchien and G{\'e}rard Florin",
  title =        "{JAC}: a Flexible Solution for Aspect-Oriented
                 Programming in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2192",
  pages =        "1--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:36 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2192.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2192/21920001.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2192/21920001.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Pelrine:2001:MED,
  author =       "Joseph Pelrine and Alan Knight and Adrian Cho",
  title =        "Mastering {ENVY\slash Developer}",
  volume =       "22",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  year =         "2001",
  ISBN =         "0-521-66650-3",
  ISBN-13 =      "978-0-521-66650-3",
  LCCN =         "QA76.64 .P46 2001",
  bibdate =      "Mon Apr 02 18:39:25 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95",
  series =       "Advances in object technology",
  acknowledgement = ack-nhfb,
  keywords =     "Java; Smalltalk",
}

@Article{Perry:2001:OND,
  author =       "Tekla S. Perry",
  title =        "Operating in neutral [digital music legislation]",
  journal =      j-IEEE-SPECTRUM,
  volume =       "38",
  number =       "10",
  pages =        "52--57",
  month =        oct,
  year =         "2001",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/6.954541",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib4;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "A. J. Nichols; audio signal processing; Cities and
                 towns; digital music legislation; electrical engineer;
                 Engineering profession; entertainment; Helium; hobby
                 computing; IEEE members; Java; judicial advice;
                 legislation; Motion pictures; music; Napster; Neck;
                 neutral expert; Peer to peer computing; Publishing;
                 Testing",
}

@Article{Philippsen:2001:JHP,
  author =       "Michael Philippsen and Ronald F. Boisvert and Valdimir
                 S. Getov and Roldan Pozo and Jos{\'e} Moreira and
                 Dennis Gannon and Geoffrey C. Fox",
  title =        "{JavaGrande} --- High Performance Computing with
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1947",
  pages =        "20--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:51 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1947.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1947/19470020.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1947/19470020.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Pitt:2001:JRR,
  author =       "Esmond Pitt and Kathy McNiff",
  title =        "{Java.RMI}: the remote method invocation guide",
  publisher =    "Pearson Education",
  address =      "Harlow, England",
  pages =        "xxxi + 284",
  year =         "2001",
  ISBN =         "0-201-70043-3",
  ISBN-13 =      "978-0-201-70043-5",
  LCCN =         "QA76.73.J38 P58 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; electronic data
                 processing -- distributed processing; Java (computer
                 program language); RMI (computer architecture)",
}

@Book{Pohl:2001:JDU,
  author =       "Ira Pohl and Charlie McDowell",
  title =        "{Java} by Dissection: Update with {C} Primer",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "????",
  year =         "2001",
  ISBN =         "0-201-72596-7",
  ISBN-13 =      "978-0-201-72596-4",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:50:23 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$68",
  acknowledgement = ack-nhfb,
}

@Article{Poll:2001:FSJ,
  author =       "Erik Poll and Joachim van den Berg and Bart Jacobs",
  title =        "Formal specification of the {JavaCard API} in {JML}:
                 the {APDU} class",
  journal =      j-COMP-NET-AMSTERDAM,
  volume =       "36",
  number =       "4",
  pages =        "407--421",
  day =          "16",
  month =        jul,
  year =         "2001",
  CODEN =        "????",
  ISSN =         "1389-1286 (print), 1872-7069 (electronic)",
  ISSN-L =       "1389-1286",
  bibdate =      "Wed Jul 25 16:48:14 MDT 2001",
  bibsource =    "http://www.elsevier.com/locate/issn/13891286;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.nl/gej-ng/10/15/22/61/28/28/abstract.html;
                 http://www.elsevier.nl/gej-ng/10/15/22/61/28/28/article.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Networks (Amsterdam, Netherlands: 1999)",
  journal-URL =  "http://www.sciencedirect.com/science/journal/13891286",
}

@Article{Pollet:2001:DSD,
  author =       "Isabelle Pollet and Baudouin Le Charlier and Agostino
                 Cortesi",
  title =        "Distinctness and Sharing Domains for Static Analysis
                 of {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2072",
  pages =        "77--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:27 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2072.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2072/20720077.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2072/20720077.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Pollock:2001:JBG,
  author =       "John Pollock",
  title =        "{JavaScript}: a beginner's guide",
  publisher =    pub-OSBORNE,
  address =      pub-OSBORNE:adr,
  pages =        "xx + 603",
  year =         "2001",
  ISBN =         "0-07-213140-3",
  ISBN-13 =      "978-0-07-213140-6",
  LCCN =         "QA76.73.J39 P65 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Pominville:2001:FOJ,
  author =       "Patrice Pominville and Feng Qian and Raja
                 Vall{\'e}e-Rai and Laurie Hendren and Clark Verbrugge",
  title =        "A Framework for Optimizing {Java} Using Attributes",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2027",
  pages =        "334--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2027.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2027/20270334.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2027/20270334.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Powell:2001:JCR,
  author =       "Thomas A. Powell and Fritz Schneider",
  title =        "{JavaScript}: the complete reference",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xxiv + 1079",
  year =         "2001",
  ISBN =         "0-07-219127-9",
  ISBN-13 =      "978-0-07-219127-1",
  LCCN =         "QA76.73.J39 P69 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Praehofer:2001:BWC,
  author =       "Herbert Praehofer and Johannes Sametinger and Alois
                 Stritzinger",
  title =        "Best of {Websim99}: Concepts and architecture of a
                 simulation framework based on the {JavaBeans} component
                 model",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "17",
  number =       "5",
  pages =        "539--559",
  month =        mar,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:21 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/45/30/29/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Prechelt:2001:IMI,
  author =       "Lutz Prechelt and Rainer Typke",
  title =        "An interface for melody input",
  journal =      j-TOCHI,
  volume =       "8",
  number =       "2",
  pages =        "133--149",
  year =         "2001",
  CODEN =        "ATCIF4",
  ISSN =         "1073-0516 (print), 1557-7325 (electronic)",
  ISSN-L =       "1073-0516",
  bibdate =      "Sat Jul 14 12:07:47 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tochi/2001-8-2/p133-prechelt/p133-prechelt.pdf;
                 http://www.acm.org/pubs/citations/journals/tochi/2001-8-2/p133-prechelt/",
  abstract =     "We present a software system, called Tuneserver, which
                 recognizes a musical tune whistled by the user, finds
                 it in a database, and returns its name, composer, and
                 other information. Such a service is useful for track
                 retrieval at radio stations, music stores, etc., and is
                 also a step toward the long-term goal of communicating
                 with a computer much like one would with a human being.
                 Tuneserver is implemented as a public Java-based WWW
                 service with a database of approximately 10,000 motifs.
                 Tune recognition is based on a highly error-resistant
                 encoding, proposed by Parsons, that uses only the
                 direction of the melody, ignoring the size of intervals
                 as well as rhythm. We present the design and
                 implementation of the tune recognition core, outline
                 the design of the Web service, and describe the results
                 obtained in an empirical evaluation of the new
                 interface, including the derivation of suitable system
                 parameters, resulting performance figures, and an error
                 analysis.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Computer-Human Interaction",
  generalterms = "Algorithms; Human Factors; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J756",
  keywords =     "input mode; melody; motif; recognition; theme; tune",
  subject =      "Data --- Coding and Information Theory (E.4): {\bf
                 Error control codes}; Information Systems --- Models
                 and Principles --- User/Machine Systems (H.1.2): {\bf
                 Human information processing}; Information Systems ---
                 Information Storage and Retrieval --- Information
                 Search and Retrieval (H.3.3): {\bf Selection process};
                 Information Systems --- Information Storage and
                 Retrieval --- Online Information Services (H.3.5);
                 Information Systems --- Information Interfaces and
                 Presentation --- Hypertext/Hypermedia (H.5.4);
                 Computing Methodologies --- Artificial Intelligence ---
                 Miscellaneous (I.2.m); Computing Methodologies ---
                 Pattern Recognition --- Applications (I.5.4): {\bf
                 Signal processing}; Information Systems --- Information
                 Interfaces and Presentation --- Hypertext/Hypermedia
                 (H.5.4): {\bf User issues}; Computing Milieux ---
                 Computers and Society --- Miscellaneous (K.4.m);
                 Information Systems --- Information Interfaces and
                 Presentation --- Sound and Music Computing (H.5.5)",
}

@Book{Price:2001:JPO,
  author =       "Jason Price",
  title =        "{Java} programming with {Oracle SQLJ}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 381",
  year =         "2001",
  ISBN =         "0-596-00087-1 (paperback)",
  ISBN-13 =      "978-0-596-00087-5 (paperback)",
  LCCN =         "QA76.73.J38 P74 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); Oracle (computer
                 file); SQL (computer program language)",
}

@Article{Prochazka:2001:ATE,
  author =       "Marek Prochazka",
  title =        "Advanced Transactions in {Enterprise Java Beans}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1999",
  pages =        "215--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:18 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1999.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1999/19990215.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1999/19990215.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Radhakrishnan:2001:JRS,
  author =       "R. Radhakrishnan and N. Vijaykrishnan and L. K. John
                 and A. Sivasubramaniam and J. Rubio and J.
                 Sabarinathan",
  title =        "{Java} runtime systems: characterization and
                 architectural implications",
  journal =      j-IEEE-TRANS-COMPUT,
  volume =       "50",
  number =       "2",
  pages =        "131--146",
  month =        feb,
  year =         "2001",
  CODEN =        "ITCOB4",
  DOI =          "https://doi.org/10.1109/12.908989",
  ISSN =         "0018-9340 (print), 1557-9956 (electronic)",
  ISSN-L =       "0018-9340",
  bibdate =      "Tue Oct 24 10:08:12 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The Java Virtual Machine (JVM) is the cornerstone of
                 Java technology and its efficiency in executing the
                 portable Java bytecodes is crucial for the success of
                 this technology. Interpretation, Just-in-Time (JIT)
                 compilation, and hardware realization are well-known
                 solutions for a JVM and previous research has proposed
                 optimizations for each of these techniques. However,
                 each technique has its pros and cons and may not be
                 uniformly attractive for all hardware platforms.
                 Instead, an understanding of the architectural
                 implications of JVM implementations with real
                 applications can be crucial to the development of
                 enabling technologies for efficient Java runtime system
                 development on a wide range of platforms. Toward this
                 goal, this paper examines architectural issues from
                 both the hardware and JVM implementation perspectives.
                 The paper starts by identifying the important execution
                 characteristics of Java applications from a bytecode
                 perspective. It then explores the potential of a smart
                 JIT compiler strategy that can dynamically interpret or
                 compile based on associated costs and investigates the
                 CPU and cache architectural support that would benefit
                 JVM implementations. We also study the available
                 parallelism during the different execution modes using
                 applications from the SPECjvm98 benchmarks. At the
                 bytecode level, it is observed that less than 5 out of
                 the 256 bytecodes constitute 90 percent of the dynamic
                 bytecode stream. Method sizes fall into a trinodal
                 distribution with peak of 1, 9, and 26 bytecodes across
                 all benchmarks. The architectural issues explored in
                 this study show that, when Java applications are
                 executed with a JIT compiler, selective translation
                 using good heuristics can improve performance, but the
                 saving is only 10-15 percent at best. The instruction
                 and data cache performance of Java applications are
                 seen to be better than that of C/C++ applications
                 except in the case of data cache performance in the JIT
                 mode. Write misses resulting from installation of JIT
                 compiler output dominate the misses and deteriorate the
                 data cache performance in JIT mode. A study on the
                 available parallelism shows that Java programs executed
                 using JIT compilers have parallelism comparable to
                 C/C++ programs for small window sizes, but falls behind
                 when the window size is increased. Java programs
                 executed using the interpreter have very little
                 parallelism due to the stack nature of the SVM
                 instruction set, which is dominant in the interpreted
                 execution mode. In addition, this work gives revealing
                 insights and architectural proposals for designing an
                 efficient Java runtime system.",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Computers",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12",
}

@Article{Raje:2001:CSD,
  author =       "Rajeev R. Raje and Ming Zhong and Tongyu Wang",
  title =        "Case study: a distributed concurrent system with
                 {AspectJ}",
  journal =      j-SIGAPP,
  volume =       "9",
  number =       "2",
  pages =        "17--23",
  month =        jul,
  year =         "2001",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/512000.512004",
  ISSN =         "1559-6915 (print), 1931-0161 (electronic)",
  ISSN-L =       "1559-6915",
  bibdate =      "Thu Jan 23 10:21:34 MST 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                  http://www.math.utah.edu/pub/tex/bib/sigapp2000.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/512000.512004",
  abstract =     "This paper presents a simple three-tier client/server
                 application using two prototypes. The first prototype
                 makes the use of a traditional OOP language, Java. The
                 second prototype uses the Aspect-Oriented Programming
                 (AOP) language AspectJ. The \ldots{}",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGAPP Applied Computing Review",
  journal-URL =  "https://dl.acm.org/loi/sigapp",
}

@Article{Ramirez:2001:IDC,
  author =       "Rafael Ramirez and Andrew E. Santosa and Lee Wei
                 Hong",
  title =        "Implementing Declarative Concurrency in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1900",
  pages =        "700--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1900.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1900/19000700.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1900/19000700.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rao:2001:UCJa,
  author =       "Prithvi Rao",
  title =        "Using {CORBA} with {Java}",
  journal =      j-LOGIN,
  volume =       "26",
  number =       "1",
  pages =        "??--??",
  month =        feb,
  year =         "2001",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:45:51 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2001-02/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava26.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rao:2001:UCJb,
  author =       "Prithvi Rao",
  title =        "Using {CORBA} with {Java}",
  journal =      j-LOGIN,
  volume =       "26",
  number =       "3",
  pages =        "??--??",
  month =        jun,
  year =         "2001",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:00 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2001-06/index.html",
  URL =          "http://www.usenix.org/publications/java/usingjava27.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Rasala:2001:JPT,
  author =       "Richard Rasala and Jeff Raab and Viera K. Proulx",
  title =        "{Java} power tools: model software for teaching
                 object-oriented design",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "297--301",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364606",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The Java Power Tools or JPT is a Java toolkit designed
                 to enable students to rapidly develop graphical user
                 interfaces in freshman computer science programming
                 projects. Because it is simple to create GUIs using
                 JPT, students can focus on the more fundamental issues
                 of computer science rather than on widget management.
                 In a separate article[4], we will discuss with examples
                 how the JPT can help freshman students to learn about
                 the basics of algorithms, data structures, classes, and
                 interface design. In this article, we will focus on how
                 the JPT itself can be used as an extended case study of
                 object-oriented design principles in a more advanced
                 course. The fundamental design principles of the JPT
                 are that the elements of a graphical user interface
                 should be able to be combined recursively as nested
                 views and that the communication between these views
                 and the internal data models should be as automatic as
                 possible. In particular, in JPT, the totality of user
                 input from a complex view can be easily converted into
                 a corresponding data model and any input errors will be
                 detected and corrected along the way. This ease of
                 communication is achieved by using string objects as a
                 lingua franca for views and models and by using parsing
                 when appropriate to automatically check for errors and
                 trigger recovery. The JPT achieves its power by a
                 combination of computer science and software design
                 principles. Recursion, abstraction, and encapsulation
                 are systematically used to create GUI tools of great
                 flexibility. It should be noted that a much simpler
                 pedagogical package for Java IO was recently presented
                 in [9].",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Reddy:2001:FJP,
  author =       "Achut Reddy",
  title =        "Fast {Java}: Performance Tuning Guide",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "????",
  year =         "2001",
  ISBN =         "0-13-081245-5",
  ISBN-13 =      "978-0-13-081245-2",
  LCCN =         "????",
  bibdate =      "Tue Feb 20 18:33:10 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$45",
  acknowledgement = ack-nhfb,
}

@Article{Reed:2001:RCJ,
  author =       "David Reed",
  title =        "Rethinking {CS0} with {JavaScript}",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "100--104",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364552",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Traditional approaches to CS0 have emphasized either
                 breadth, through an overview of computer science, or
                 depth, through intensive programming. This paper
                 describes an alternative teaching method that strikes a
                 balance between these two approaches through the use of
                 JavaScript and the World Wide Web. By taking advantage
                 of JavaScript's simplicity and natural Web-based
                 interfaces, the CS0 course described here is able to
                 maintain a strong emphasis on programming and
                 problem-solving, integrate programming skills with Web
                 technology, and still provide reasonable breadth on
                 general computer science topics. This balance between
                 depth and breadth makes the course attractive to both
                 non-majors and majors alike, providing a broad
                 perspective of the field as well as a foundation for
                 continuing studies in computer science.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rempt:2001:SJP,
  author =       "Boudewijn Rempt",
  title =        "Scripting With {Java} and {Python}: Building a
                 {Python} console window in a {Java} application",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "56, 60--61",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/pyconsol.txt;
                 http://www.ddj.com/ftp/2001/2001_10/pyconsol.zip",
  abstract =     "Boudewijn shows how you can embed a standard language
                 such as Python into a Java application. Additional
                 resources include {\tt pyconsol.txt} (listings) and
                 {\tt pyconsol.zip} (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Renaud:2001:JRJ,
  author =       "Karen Renaud and Huw Evans",
  title =        "{JavaCloak}: Reflecting on {Java} Typing for Class
                 Reuse Using Proxies",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2192",
  pages =        "278--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:36 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2192.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2192/21920278.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2192/21920278.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Reus:2001:HCV,
  author =       "Bernhard Reus and Martin Wirsing and Rolf Hennicker",
  title =        "A {Hoare} Calculus for Verifying {Java} Realizations
                 of {OCL}-Constrained Design Models",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2029",
  pages =        "300--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:46 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2029.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2029/20290300.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2029/20290300.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Riccardi:2001:PDS,
  author =       "Greg Riccardi",
  title =        "Principles of database systems with {Internet} and
                 {Java} applications",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 518",
  year =         "2001",
  ISBN =         "0-201-61247-X",
  ISBN-13 =      "978-0-201-61247-9",
  LCCN =         "QA76.9.D3 R52 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "database management; Internet; Java (computer program
                 language)",
}

@Book{Riggs:2001:PWD,
  author =       "Roger Riggs and Antero Taivalsaari and Mark
                 VandenBrink and Jim Holliday",
  title =        "Programming wireless devices with the {Java 2}
                 platform, micro edition: {J2ME Connected Limited Device
                 Configuration (CLDC)}, {Mobil Information Device
                 Profile (MIDP)}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiii + 345",
  year =         "2001",
  ISBN =         "0-201-74627-1",
  ISBN-13 =      "978-0-201-74627-3",
  LCCN =         "TK5103.2 .R54 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); wireless
                 communication systems",
}

@InProceedings{Riley:2001:HPJ,
  author =       "Christopher Riley and Siddhartha Chatterjee and Rupak
                 Biswas",
  title =        "High-Performance {Java} Codes for Computational Fluid
                 Dynamics",
  crossref =     "ACM:2001:PAJ",
  pages =        "143--152",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/5.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500143.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Ritley:2001:DEP,
  author =       "K. A. Ritley and M. Schlestein and H. Dosch",
  title =        "{DataScan}: An extensible program for image analysis
                 in {Java}",
  journal =      j-COMP-PHYS-COMM,
  volume =       "137",
  number =       "2",
  pages =        "300--311",
  day =          "15",
  month =        jun,
  year =         "2001",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/S0010-4655(01)00155-2",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Tue Feb 14 07:23:49 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compphyscomm1970.bib;
                 http://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465501001552",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Robbins:2001:SPE,
  author =       "Steven Robbins",
  title =        "Starving philosophers: experimentation with monitor
                 synchronization",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "317--321",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364612",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Textbook discussions of synchronization seldom go
                 beyond a brief introduction in terms of classical
                 problems. This paper presents a simulator for the
                 monitor solution of the dining philosophers problem
                 that students can use to experimentally explore how
                 such a solution might behave in practice. The
                 simulator, which can be run remotely from a browser or
                 can be downloaded for running locally, is written in
                 Java so that it can be run on almost any system.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roberts:2001:OM,
  author =       "Eric Roberts",
  title =        "An overview of {MiniJava}",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "1--5",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364525",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes the implementation of MiniJava, a
                 teaching-oriented programming language closely based on
                 the Java language developed by Sun Microsystems [6].
                 The core of the MiniJava environment is a restricted
                 subset of the standard Java release and is designed to
                 reduce the intimidation factor introductory students
                 experience when they encounter a system as large as the
                 Java environment. The paper outlines the particular
                 restrictions and extensions that define MiniJava along
                 with pedagogical justifications for each.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@InProceedings{Robison:2001:ICE,
  author =       "Arch Robison",
  title =        "Impact of Compiler Economics on Program Optimization",
  crossref =     "ACM:2001:PAJ",
  pages =        "1--10",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/13.html;
                 http://www.philippsen.com/JGI2001/finalpapers/001.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Book{Rockwell:2001:XXJ,
  author =       "Westy Rockwell",
  title =        "{XML}, {XSLT}, {Java} and {JSP}: a case study in
                 developing a {Web} application",
  publisher =    pub-NEW-RIDERS,
  address =      pub-NEW-RIDERS:adr,
  pages =        "xviii + 746",
  year =         "2001",
  ISBN =         "0-7357-1089-9",
  ISBN-13 =      "978-0-7357-1089-4",
  LCCN =         "QA76.76.H94 R62 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  annote =       "CD-ROM has additional title, ``Exhibit D''. CD-ROM
                 includes: E-book of this book, plus various online
                 information sources, Java files, etc.",
  keywords =     "Java (computer program language); JavaServer pages;
                 Web sites -- authoring programs; XML (document markup
                 language); XSLT (document markup language)",
}

@Book{Rodrigues:2001:BIA,
  author =       "Lawrence H. Rodrigues",
  title =        "Building imaging applications with {Java} technology:
                 using {AWT} Imaging, {Java 2D}, and {Java Advanced
                 Imaging (JAI)}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xx + 857",
  year =         "2001",
  ISBN =         "0-201-70074-3 (paperback)",
  ISBN-13 =      "978-0-201-70074-9 (paperback)",
  LCCN =         "QA76.73.J38 R65 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "image processing -- digital techniques; Java (computer
                 program language)",
}

@Article{Ronthal:2001:WJI,
  author =       "Adam Ronthal",
  title =        "Why {Java} Isn't Appropriate for Everything",
  journal =      j-SYS-ADMIN,
  volume =       "10",
  number =       "7",
  pages =        "52, 54--55",
  month =        jul,
  year =         "2001",
  CODEN =        "SYADE7",
  ISSN =         "1061-2688",
  bibdate =      "Wed Jul 11 07:11:33 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.samag.com/",
  abstract =     "Web Exclusive.",
  acknowledgement = ack-nhfb,
  fjournal =     "Sys admin: the journal for UNIX system
                 administrators",
}

@Article{Rose:2001:JAP,
  author =       "Eva Rose and Kristoffer H{\o}gsbro Rose",
  title =        "{Java} access protection through typing",
  journal =      j-CCPE,
  volume =       "13",
  number =       "13",
  pages =        "1125--1132",
  month =        nov,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.599",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Feb 25 14:51:24 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/88011340/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=88011340&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Roth:2001:EJA,
  author =       "Volker Roth and Vania Conan",
  title =        "Encrypting {Java} Archives and Its Application to
                 Mobile Agent Security",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1991",
  pages =        "229--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:10 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1991.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1991/19910229.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1991/19910229.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rountev:2001:PAJ,
  author =       "Atanas Rountev and Ana Milanova and Barbara G. Ryder",
  title =        "Points-to analysis for {Java} using annotated
                 constraints",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "43--55",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Rummler:2001:EJF,
  author =       "Andreas Rummler and Gerd Scarbata",
  title =        "{eaLib} --- {A} {Java} Framework for Implementation of
                 Evolutionary Algorithms",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2206",
  pages =        "92--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:51 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2206.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2206/22060092.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2206/22060092.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rumpe:2001:BNP,
  author =       "Bernhard Rumpe",
  title =        "{$ \ll $Java$ \gg $OCL} Based on New Presentation of
                 the {OCL}-Syntax",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2263",
  pages =        "189--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:03 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2263.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2263/22630189.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2263/22630189.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Russell:2001:HSA,
  author =       "Kenneth Russell and Lars Bak",
  title =        "The {HotSpot{\TM}} Serviceability Agent: An
                 Out-of-Process High-Level Debugger for a {Java{\TM}
                 Virtual Machine}",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/russell.html",
  acknowledgement = ack-nhfb,
}

@Book{Sahu:2001:JSP,
  author =       "Maneesh Sahu",
  title =        "{Java Server Pages} from scratch",
  publisher =    pub-QUE,
  address =      pub-QUE:adr,
  pages =        "ix + 404",
  year =         "2001",
  ISBN =         "0-7897-2459-6",
  ISBN-13 =      "978-0-7897-2459-5",
  LCCN =         "QA76.73.J38 S25 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "CD-ROM includes: evaluation software for IBM's
                 Websphere Studio 3.0 entry edition, IBM's VisualAge for
                 Java 3.0 entry edition, IBM's DB2 Universal Database
                 professional edition v6.1, Tomcat Reference
                 Implementation v3.1, NetObject's Fusion demo version,
                 NetStudio 2000, Nokia WAP Toolkit product
                 information.",
  series =       "From scratch programming series",
  acknowledgement = ack-nhfb,
  keywords =     "client/server computing; JavaServer pages; Web site
                 development; Web sites -- design",
}

@Article{Sakamura:2001:EMJ,
  author =       "Ken Sakamura",
  title =        "{EIC} Message: a {Java}-enabled evolution",
  journal =      j-IEEE-MICRO,
  volume =       "21",
  number =       "4",
  pages =        "2--3, 5",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "IEMIDZ",
  DOI =          "https://doi.org/10.1109/MM.2001.946665",
  ISSN =         "0272-1732 (print), 1937-4143 (electronic)",
  ISSN-L =       "0272-1732",
  bibdate =      "Thu Aug 30 11:09:58 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/mi/books/mi2001/pdf/m4002.pdf;
                 m4002abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Micro",
  journal-URL =  "http://www.computer.org/csdl/mags/mi/index.html",
}

@Article{Saleh:2001:ADC,
  author =       "K. Saleh and A. A. Boujarwah and J. Al-Dallal",
  title =        "Anomaly detection in concurrent {Java} programs using
                 dynamic data flow analysis",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "43",
  number =       "15",
  pages =        "973--981",
  day =          "23",
  month =        dec,
  year =         "2001",
  CODEN =        "ISOTE7",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
  pagecount =    "9",
}

@Article{Sanchez:2001:BWA,
  author =       "Miguel S{\'a}nchez and Pietro Manzoni",
  title =        "Best of {Websim99}: {ANEJOS}: a {Java} based simulator
                 for ad hoc networks",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "17",
  number =       "5",
  pages =        "573--583",
  month =        mar,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:21 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/45/30/31/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Book{Sanchez:2001:JWC,
  author =       "Julio Sanchez and Maria P. Canton",
  title =        "{Java 2} weekend crash course",
  publisher =    pub-IDG-WORLDWIDE,
  address =      pub-IDG-WORLDWIDE:adr,
  pages =        "xxiv + 427",
  year =         "2001",
  ISBN =         "0-7645-4768-2",
  ISBN-13 =      "978-0-7645-4768-3",
  LCCN =         "QA76.73.J38 S25 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Sarkar:2001:EDA,
  author =       "Vivek Sarkar and Stephen Fink",
  title =        "Efficient Dependence Analysis for {Java} Arrays",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2150",
  pages =        "273--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:53 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2150.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2150/21500273.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2150/21500273.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Sarkar:2001:HPS,
  author =       "Vivek Sarkar and Julian Dolby",
  title =        "High-Performance Scalable {Java} Virtual Machines",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2228",
  pages =        "151--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:14 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2228.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2228/22280151.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2228/22280151.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Savitch:2001:JIC,
  author =       "Walter J. Savitch",
  title =        "{Java}: An Introduction to Computer Science and
                 Programming",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  edition =      "Second",
  pages =        "xxxiv + 1049",
  year =         "2001",
  ISBN =         "0-13-031697-0",
  ISBN-13 =      "978-0-13-031697-4",
  LCCN =         "QA76.73.J38 S27 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM with text's programs, icons and
                 TextPad. Study Guide and Slides available on the World
                 Wide Web.",
  price =        "US\$68.00",
  URL =          "http://cw.prenhall.com/bookbind/pubbooks/savitch;
                 http://www.phptr.com/ptrbooks/esm_0130316970.html",
  acknowledgement = ack-nhfb,
  keywords =     "computer science textbooks; Java (computer program
                 language)",
}

@Book{Schildt:2001:JCR,
  author =       "Herbert Schildt",
  title =        "{Java 2}: the complete reference",
  publisher =    pub-OSBORNE,
  address =      pub-OSBORNE:adr,
  edition =      "Fourth",
  pages =        "xxvi + 1077",
  year =         "2001",
  ISBN =         "0-07-213084-9",
  ISBN-13 =      "978-0-07-213084-3",
  LCCN =         "QA76.73.J38 S3283 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@InProceedings{Schneider:2001:APM,
  author =       "Daniel Schneider and Bernd Mathiske and Matthias Ernst
                 and Matthew Seidl",
  title =        "Automatic Persistent Memory Management for the
                 {Spotless Java{\TM} Virtual Machine} on the {Palm
                 Connected Organizer}",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/schneider.html",
  acknowledgement = ack-nhfb,
}

@Article{Sekkaki:2001:DAM,
  author =       "A. Sekkaki and L. M. C{\'a}ceres Alvarez and W.
                 Tatsuya Watanabe and B. Westphall",
  title =        "Development of Accounting Management Based Service
                 Environment in {Tina}, {Java} and {Corba}
                 Architectures",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2094",
  pages =        "438--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:54 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2094.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2094/20940438.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2094/20940438.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Seymour:2001:ATF,
  author =       "Keith Seymour and Jack Dongarra",
  title =        "Automatic Translation of {Fortran} to {JVM} Bytecode",
  crossref =     "ACM:2001:PAJ",
  pages =        "126--133",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.netlib.org/utk/people/JackDongarra/PAPERS/f2jreport.pdf;
                 http://www.philippsen.com/JGI2001/camerareadyabstracts/51.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500126.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Shah:2001:JSD,
  author =       "Mehul A. Shah and Michael J. Franklin and Samuel
                 Madden and Joseph M. Hellerstein",
  title =        "{Java} support for data-intensive systems: experiences
                 building the telegraph dataflow system",
  journal =      "SIGMOD",
  volume =       "30",
  number =       "4",
  pages =        "103--114",
  month =        dec,
  year =         "2001",
  bibdate =      "Mon Jan 12 07:43:32 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Shaham:2001:EGJ,
  author =       "Ran Shaham and Elliot K. Kolodner and Mooly Sagiv",
  title =        "On the Effectiveness of {GC} in {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "12--17",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Shaham:2001:HPS,
  author =       "Ran Shaham and Elliot K. Kolodner and Mooly Sagiv",
  title =        "Heap Profiling for Space-Efficient {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "104--113",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Shaofeng:2001:FDW,
  author =       "Wang Shaofeng and Sun Jiaguang",
  title =        "A framework design of workflow management system with
                 {Java RMI}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "86--93",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Shaofeng:2001:RJR,
  author =       "Wang Shaofeng",
  title =        "The role of {Java RMI} in designing workflow
                 management system",
  journal =      j-SIGSOFT,
  volume =       "26",
  number =       "2",
  pages =        "49--52",
  month =        mar,
  year =         "2001",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/505776.505789",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:06 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "The development of the workflow management
                 system(WfMS) has become one of the most important
                 research areas in information system. The design of the
                 WfMS is a very complicated process, involving many
                 difficult tasks. In this paper, We discuss the design
                 of Java RMI-based workflow management system JWfMS,
                 mainly on the designing framework of the JWfMS.
                 According to our experience, we found that Java RMI is
                 suitable and practical for the design of heterogeneous,
                 distributed system such as WfMS because Java RMI makes
                 the design and maintenance work much simpler.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Shapiro:2001:FJR,
  author =       "Joel A. Shapiro and Warren B. Powell and David
                 Bernstein",
  title =        "A Flexible {Java} Representation for Uncertainty in
                 Online Operations-Research Models",
  journal =      j-INFORMS-J-COMPUT,
  volume =       "13",
  number =       "1",
  pages =        "29--55",
  month =        "Winter",
  year =         "2001",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1287/ijoc.13.1.29.9749",
  ISSN =         "1091-9856 (print), 1526-5528 (electronic)",
  ISSN-L =       "1091-9856",
  bibdate =      "Mon Apr 9 08:10:19 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/informs-j-comput.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "https://pubsonline.informs.org/doi/abs/10.1287/ijoc.13.1.29.9749",
  acknowledgement = ack-nhfb,
  ajournal =     "INFORMS J. Comput.",
  fjournal =     "INFORMS Journal on Computing",
  journal-URL =  "https://pubsonline.informs.org/journal/ijoc",
  onlinedate =   "February 1, 2001",
}

@Article{Shegalov:2001:XEW,
  author =       "German Shegalov and Michael Gillmann and Gerhard
                 Weikum",
  title =        "{XML}-enabled workflow management for e-services
                 across heterogeneous platforms",
  journal =      j-VLDB-J,
  volume =       "10",
  number =       "1",
  pages =        "91--103",
  month =        aug,
  year =         "2001",
  CODEN =        "VLDBFR",
  DOI =          "https://doi.org/10.1007/s007780100038",
  ISSN =         "1066-8888 (print), 0949-877X (electronic)",
  ISSN-L =       "1066-8888",
  bibdate =      "Mon Jun 23 10:50:56 MDT 2008",
  bibsource =    "http://link.springer.de/link/service/journals/00778/tocs/t1010001.htm;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/journals/00778/bibs/1010001/10100091.htm;
                 http://link.springer.de/link/service/journals/00778/papers/1010001/10100091.pdf",
  abstract =     "Advanced e-services require efficient, flexible, and
                 easy-to-use workflow technology that integrates well
                 with mainstream Internet technologies such as XML and
                 Web servers. This paper discusses an XML-enabled
                 architecture for distributed workflow management that
                 is implemented in the latest version of our Mentor-lite
                 prototype system. The key asset of this architecture is
                 an XML mediator that handles the exchange of business
                 and flow control data between workflow and
                 business-object servers on the one hand and client
                 activities on the other via XML messages over http. Our
                 implementation of the mediator has made use of Oracle's
                 XSQL servlet. The major benefit of the advocated
                 architecture is that it provides seamless integration
                 of client applications into e-service workflows with
                 scalable efficiency and very little explicit coding, in
                 contrast to an earlier, Java-based, version of our
                 Mentor-lite prototype that required much more code and
                 exhibited potential performance problems.",
  acknowledgement = ack-nhfb,
  fjournal =     "VLDB Journal: Very Large Data Bases",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J869",
  keywords =     "business processes; information system
                 interoperability; Internet e-services; workflow
                 management; XML/XSL",
}

@Book{Shelly:2001:JCC,
  author =       "Gary B. Shelly",
  title =        "{JavaScript}: complete concepts and techniques",
  publisher =    pub-COURSE-TECHNOLOGY,
  address =      pub-COURSE-TECHNOLOGY:adr,
  edition =      "Second",
  pages =        "various",
  year =         "2001",
  ISBN =         "0-7895-6233-2",
  ISBN-13 =      "978-0-7895-6233-3",
  LCCN =         "QA76.73.J38 S457 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Shelly Cashman series",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Book{Shelly:2001:JPI,
  author =       "Gary B. Shelly and Thomas J. Cashman and Joy Starks",
  title =        "{Java} programming: introductory concepts and
                 techniques",
  publisher =    pub-COURSE-TECHNOLOGY,
  address =      pub-COURSE-TECHNOLOGY:adr,
  pages =        "various",
  year =         "2001",
  ISBN =         "0-7895-5959-5 (paperback)",
  ISBN-13 =      "978-0-7895-5959-3 (paperback)",
  LCCN =         "QA76.73.J38 S49 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Shelly Cashman series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@InProceedings{Shende:2001:IAT,
  author =       "Sameer Shende and Allen Malony",
  title =        "Integration and Application of the {TAU} Performance
                 System in Parallel {Java} Environments",
  crossref =     "ACM:2001:PAJ",
  pages =        "87--96",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/39.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500087.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Sheong:2001:BDF,
  author =       "Chang Sau Sheong",
  title =        "Building Dynamic Fail-Over {Java} Servers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "46, 48, 50, 52--54, 57",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/xander.txt;
                 http://www.ddj.com/ftp/2001/2001_11/xander.zip",
  abstract =     "System outage isn't just a hardware problem. The
                 design and implementation of software must be robust
                 and hardy enough to survive failures of all kinds.
                 Additional resources include {\tt xander.txt}
                 (listings) and {\tt xander.zip} (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Shudo:2001:AME,
  author =       "Kazuyuki Shudo and Yoichi Muraoka",
  title =        "Asynchronous migration of execution context in {Java
                 Virtual Machines}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "2",
  pages =        "225--233",
  month =        oct,
  year =         "2001",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Wed Feb 27 12:41:22 MST 2002",
  bibsource =    "http://www.elsevier.com/locate/issn/0167739X;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.elsevier.com/gej-ng/10/19/19/60/31/30/abstract.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@InProceedings{Shuf:2001:CMB,
  author =       "Yefim Shuf and Mauricio J. Serrano and Manish Gupta
                 and Jaswinder Pal Singh",
  title =        "Characterizing the memory behavior of {Java}
                 workloads: a structured view and opportunities for
                 optimizations",
  crossref =     "ACM:2001:SPJ",
  pages =        "194--205",
  year =         "2001",
  DOI =          "https://doi.org/10.1145/378420.378783",
  bibdate =      "Tue Oct 24 10:22:12 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper studies the memory behavior of important
                 Java workloads used in benchmarking Java Virtual
                 Machines (JVMs), based on instrumentation of both
                 application and library code in a state-of-the-art JVM,
                 and provides structured information about these
                 workloads to help guide systems' design. We begin by
                 characterizing the inherent memory behavior of the
                 benchmarks, such as information on the breakup of heap
                 accesses among different categories and on the hotness
                 of references to fields and methods. We then provide
                 detailed information about misses in the data TLB and
                 caches, including the distribution of misses over
                 different kinds of accesses and over different methods.
                 In the process, we make interesting discoveries about
                 TLB behavior and limitations of data prefetching
                 schemes discussed in the literature in dealing with
                 pointer-intensive Java codes. Throughout this paper, we
                 develop a set of recommendations to computer architects
                 and compiler writers on how to optimize computer
                 systems and system software to run Java programs more
                 efficiently. This paper also makes the first attempt to
                 compare the characteristics of SPECjvm98 to those of a
                 server-oriented benchmark, pBOB, and explain why the
                 current set of SPECjvm98 benchmarks may not be adequate
                 for a comprehensive and objective evaluation of JVMs
                 and just-in-time (JIT) compilers.We discover that the
                 fraction of accesses to array elements is quite
                 significant, demonstrate that the number of ``hot
                 spots'' in the benchmarks is small, and show that field
                 reordering cannot yield significant performance gains.
                 We also show that even a fairly large L2 data cache is
                 not effective for many Java benchmarks. We observe that
                 instructions used to prefetch data into the L2 data
                 cache are often squashed because of high TLB miss rates
                 and because the TLB does not usually have the
                 translation information needed to prefetch the data
                 into the L2 data cache. We also find that co-allocation
                 of frequently used method tables can reduce the number
                 of TLB misses and lower the cost of accessing type
                 information block entries in virtual method calls and
                 runtime type checking.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Siebert:2001:DEJ,
  author =       "Fridtjof Siebert and Andy Walter",
  title =        "Deterministic Execution of {Java}'s Primitive Bytecode
                 Operations",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/siebert.html",
  acknowledgement = ack-nhfb,
}

@Article{Sips:2001:JSC,
  author =       "H. J. Sips and K. van Reeuwijk",
  title =        "Java for Scientific Computation: Prospects and
                 Problems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2179",
  pages =        "236--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:22 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2179.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2179/21790236.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2179/21790236.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Smiley:2001:LPJ,
  author =       "John Smiley",
  title =        "Learn to program with {Java}",
  publisher =    pub-OSBORNE,
  address =      pub-OSBORNE:adr,
  pages =        "xii + 608",
  year =         "2001",
  ISBN =         "0-07-213189-6",
  ISBN-13 =      "978-0-07-213189-5",
  LCCN =         "QA76.73.J38 S598 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Smith:2001:JQH,
  author =       "Terry Smith",
  title =        "{Java Q\&A}: How Can {I} Simplify {Java} Data Access
                 Objects",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "135--136, 138--139",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/jqa0501.txt;
                 http://www.ddj.com/ftp/2001/2001_05/jqa0501.zip",
  abstract =     "While writing data access objects (DAO) from scratch
                 in Java can be a daunting task, Terry presents some
                 short cuts that turn the pain to gain. Additional
                 resources include jqa0501.txt (listings) and
                 jqa0501.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InProceedings{Smith:2001:PJG,
  author =       "L. A. Smith and J. M. Bull and J. Obdrz{\'a}lek",
  title =        "A Parallel {Java Grande} Benchmark Suite",
  crossref =     "ACM:2001:SHP",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Sat Feb 10 14:28:55 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc2001.org/papers/pap.pap158.pdf",
  acknowledgement = ack-nhfb,
  pagecount =    "10",
}

@InProceedings{Sohda:2001:IPS,
  author =       "Yukihiko Sohda and Hidemoto Nakada and Hirotaka Ogawa
                 and Satoshi Matsuoka",
  title =        "Implementation of Portable Software {DSM} in {Java}",
  crossref =     "ACM:2001:PAJ",
  pages =        "163--172",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/23.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500163.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Sooriamurthi:2001:PJE,
  author =       "Raja Sooriamurthi",
  title =        "Prelude to the {Java} event model (poster session)",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "3",
  pages =        "193--193",
  month =        sep,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/507758.377714",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:50 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Stanchfield:2001:EVJ,
  author =       "Scott Stanchfield and Isabelle Mauny",
  title =        "Effective {VisualAge} for {Java}, version 3: includes
                 coverage of versions 3.02 and 3.5",
  publisher =    pub-WILEY-COMPUTER,
  address =      pub-WILEY-COMPUTER:adr,
  pages =        "xxi + 936",
  year =         "2001",
  ISBN =         "0-471-31730-6 (paperback)",
  ISBN-13 =      "978-0-471-31730-2 (paperback)",
  LCCN =         "QA76.73.J38 S76 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); VisualAge",
}

@InProceedings{Stankovski:2001:AIJ,
  author =       "Zarko Stankovski",
  title =        "{ARLEQUIN}: An Integrated {Java} Application",
  crossref =     "ACM:2001:PAJ",
  pages =        "183--183",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/47.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500183.dvi",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Book{Stark:2001:JJV,
  author =       "Robert F. St{\"a}rk and Joachim Schmid and Egon
                 B{\"o}rger",
  title =        "{Java} and the {Java Virtual Machine}: definition,
                 verification, validation",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 381",
  year =         "2001",
  ISBN =         "3-540-42088-6",
  ISBN-13 =      "978-3-540-42088-0",
  LCCN =         "QA76.73.J38 S785 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/mathcw.bib",
  note =         "Includes CD-ROM with the entire text of the book and
                 numerous examples and exercises.",
  price =        "US\$49.95",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); virtual computer
                 systems",
}

@InProceedings{Steele:2001:NMN,
  author =       "Guy Steele",
  title =        "New Models for Numerical Computing in the {Java}
                 Programming Language",
  crossref =     "ACM:2001:PAJ",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Stoller:2001:TMC,
  author =       "Scott D. Stoller and Yanhong A. Liu",
  title =        "Transformations for Model Checking Distributed {Java}
                 Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2057",
  pages =        "192--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:13 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2057.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2057/20570192.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2057/20570192.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Story:TB22-3-161,
  author =       "Donald P. Story",
  title =        "{Techniques of introducing document-level JavaScript
                 into a \acro{PDF} file from a {\LaTeX} source}",
  journal =      j-TUGboat,
  volume =       "22",
  number =       "3",
  pages =        "161--167",
  month =        sep,
  year =         "2001",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@Article{Story:TB22-4-265,
  author =       "D. P. Story",
  title =        "{{\tt execJS}: A new technique for introducing
                 discardable JavaScript into a \acro{PDF} file from a
                 {\LaTeX} source}",
  journal =      j-TUGboat,
  volume =       "22",
  number =       "4",
  pages =        "265--268",
  month =        dec,
  year =         "2001",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@Article{Strohmeier:2001:SSC,
  author =       "Alfred Strohmeier and Stanislav Chachkov",
  title =        "A side-by-side comparison of exception handling in
                 {Ada} and {Java}",
  journal =      j-SIGADA-LETTERS,
  volume =       "21",
  number =       "3",
  pages =        "41--56",
  month =        sep,
  year =         "2001",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:11 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigada/ada_letters/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Strunk:2001:JQJ,
  author =       "Elisabeth Strunk",
  title =        "{Java Q\&A}: {Java} \& {NT} Authentication",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "145--146, 148",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jqa0201.txt",
  abstract =     "Elisabeth builds a JNI wrapper that lets the Java
                 Authentication and Authorization Service and Windows NT
                 authenticate specific users. Additional resources
                 include jqa0201.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Studer:2001:CFF,
  author =       "Thomas Studer",
  title =        "Constructive Foundations for Featherweight {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2183",
  pages =        "202--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:26 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2183.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2183/21830202.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2183/21830202.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Stuer:2001:PSA,
  author =       "Gunther Stuer and Jan Broeckhove and Frans Arickx",
  title =        "Performance and Stability Analysis of a Message
                 Oriented Reliable Multicast for Distributed Virtual
                 Environments in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2073",
  pages =        "423--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2073.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2073/20730423.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2073/20730423.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Suganuma:2001:DOF,
  author =       "Toshio Suganuma and Toshiaki Yasue and Motohiro
                 Kawahito and Hideaki Komatsu and Toshio Nakatani",
  title =        "A dynamic optimization framework for a {Java}
                 just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "180--195",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Sung:2001:DSL,
  author =       "K.-Y. Sung",
  title =        "Design of a Specification Language and Real-Time
                 {APIs} for Easy Expression of Soft Real-Time
                 Constraints with {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2093",
  pages =        "530--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:52 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2093.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2093/20930530.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2093/20930530.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Suri:2001:SCR,
  author =       "Niranjan Suri",
  title =        "State Capture and Resource Control for {Java}: The
                 Design and Implementation of the {Aroma Virtual
                 Machine}",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/JVM_wips/S15.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPA,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Alternatives to {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "135--137",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "So Java isn't your cup of tea? Michael explores the
                 alternatives.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
  keywords =     "C\#; Component Pascal; Internet C++; Juice; Lisp;
                 Perl",
}

@Book{Swan:2001:JJC,
  author =       "Tom Swan",
  title =        "{Java 2} just click! solutions",
  publisher =    pub-HUNGRY-MINDS,
  address =      pub-HUNGRY-MINDS:adr,
  pages =        "xix + 672",
  year =         "2001",
  ISBN =         "0-7645-4823-9",
  ISBN-13 =      "978-0-7645-4823-9",
  LCCN =         "QA76.73.J38 S92 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Accompanying CD-ROM contains source code to over 150
                 sample Java 2 programs, Microsoft Internet Explorer,
                 Netscape Communicator for Windows and Linux and the
                 author's hyperlinked indexes",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Systa:2001:SER,
  author =       "Tarja Syst{\"a} and Kai Koskimies and Hausi
                 M{\"u}ller",
  title =        "Shimba --- an environment for reverse engineering
                 {Java} software systems",
  journal =      j-SPE,
  volume =       "31",
  number =       "4",
  pages =        "371--394",
  day =          "10",
  month =        apr,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.386",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 13 06:25:28 MST 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/77004439/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=77004439&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Tamassia:2001:JDS,
  author =       "Roberto Tamassia and Michael T. Goodrich and Luca
                 Vismara and Mark Handy and Galina Shubina and Robert
                 Cohen and Beno{\^\i}t Hudson and Ryan S. Baker and
                 Natasha Gelfand and Ulrik Brandes",
  title =        "{JDSL}: The Data Structures Library in {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "21--22, 24, 26, 28, 30--31",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 17:39:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/jdsl.txt",
  abstract =     "The Data Structures Library in Java (JDSL) is a
                 collection of Java interfaces and classes implementing
                 fundamental data structures and algorithms. Additional
                 resources include jdsl.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Tanter:2001:RTO,
  author =       "{\'E}ric Tanter and Noury M. N. Bouraqadi-Sa{\^a}dani
                 and Jacques Noy{\'e}",
  title =        "{Reflex} --- Towards an Open Reflective Extension of
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2192",
  pages =        "25--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:36 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2192.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2192/21920025.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2192/21920025.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Tatsubori:2001:BTD,
  author =       "Michiaki Tatsubori and Toshiyuki Sasaki and Shigeru
                 Chiba and Kozo Itano",
  title =        "A Bytecode Translator for Distributed Execution of
                 ``Legacy'' {Java} Software",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2072",
  pages =        "236--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:27 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2072.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2072/20720236.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2072/20720236.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{TenEyck:2001:JBM,
  author =       "James TenEyck and G. Sampath",
  title =        "A {Java}-Based Model of Resource Sharing among
                 Independent Users on the {Internet}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "124--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100124.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100124.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Teodorescu:2001:UJC,
  author =       "Radu Teodorescu and Raju Pandey",
  title =        "Using {JIT} Compilation and Configurable Runtime
                 Systems for Efficient Deployment of {Java} Programs on
                 Ubiquitous Devices",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2201",
  pages =        "76--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:46 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2201.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2201/22010076.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2201/22010076.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Todd:2001:LSS,
  author =       "Andrew W. Todd and Jonathan Erickson and Nadine
                 McKenzie and Chris Cleeland and Richard Huang and Ragae
                 Ghaly and {The Editors}",
  title =        "Letters: Shared Source and Shared Secrets;
                 {JavaScript} Fix; {CORBA} Interoperability; {EJB}
                 Application Servers Update; Correction [{``The Delphi
                 XML SAX2 Component and MSXML 3.0''}]",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "10, 12",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "See \cite{Heijl:2001:DXS}.",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Ton:2001:EJB,
  author =       "Lee-Ren Ton and Lung-Chung Chang and Chung-Ping
                 Chung",
  title =        "Exploiting {Java} Bytecode Parallelism by Enhanced
                 {POC} Folding Model (Research Note)",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1900",
  pages =        "994--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1900.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1900/19000994.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1900/19000994.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Torres:2001:DSD,
  author =       "Mario A. Torres",
  title =        "Developing Scalable Distributed Applications: a
                 generic model implemented in {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "21--22, 24--25",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/scalable.txt",
  abstract =     "Mario presents a generic model designed to serve as a
                 blueprint for development of scalable distributed
                 computing applications. Additional resources include
                 {\tt scalable.txt} (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Tremblett:2001:IEJ,
  author =       "Paul Tremblett",
  title =        "Instant {Enterprise JavaBeans}",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xxi + 550",
  year =         "2001",
  ISBN =         "0-07-212943-3",
  ISBN-13 =      "978-0-07-212943-4",
  LCCN =         "QA76.73.J38 T74 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); JavaBeans",
}

@Article{Turner:2001:JTV,
  author =       "Joseph A. Turner and Joseph L. Zachary",
  title =        "{Javiva}: a tool for visualizing and validating
                 student-written {Java} programs",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "45--49",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364535",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The ability to think abstractly about the components
                 of a computer program is critical for computer science
                 students. A student who has not yet developed this
                 ability tends to view a program as an unstructured
                 collection of statements and expressions. Introductory
                 computer science textbooks promote the use of
                 pre-conditions, post-conditions, and abstraction
                 functions as techniques for fostering abstract
                 thinking. Existing programming languages and tools,
                 however, do not generally support these techniques.
                 Consequently, we have built and are beginning to
                 experiment with Javiva. Javiva extracts pre-conditions,
                 post-conditions, and abstraction functions---included
                 as stylized comments in Java source files---and uses
                 them to create instrumented class files. When these
                 instrumented class files are run, they automatically
                 diagnose and report violations by methods of pre- and
                 post-conditions. These classes also exploit abstraction
                 functions to automatically produce abstract
                 visualizations of their objects.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Tyagi:2001:MSM,
  author =       "Satyam Tyagi and Paul Tarau",
  title =        "A Most Specific Method Finding Algorithm for
                 Reflection Based Dynamic {Prolog-to-Java} Interfaces",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1990",
  pages =        "322--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:09 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1990.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1990/19900322.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1990/19900322.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Vakali:2001:JBM,
  author =       "A. I. Vakali and E. D. Terzi",
  title =        "A {Java}-Based Model for {I/O} Scheduling in Tertiary
                 Storage Subsystems",
  journal =      j-INT-J-COMPUT-APPL,
  volume =       "23",
  number =       "1",
  pages =        "45--50",
  year =         "2001",
  DOI =          "https://doi.org/10.1080/1206212X.2001.11441633",
  ISSN =         "1206-212X (print), 1925-7074 (electronic)",
  ISSN-L =       "1206-212X",
  bibdate =      "Sat Apr 21 17:19:36 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ijca.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "https://www.tandfonline.com/doi/full/10.1080/1206212X.2001.11441633",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Computer Applications",
  journal-URL =  "https://www.tandfonline.com/loi/tjca20",
  online-date =  "10 Jul 2015",
}

@Article{vandenBerg:2001:FSV,
  author =       "Joachim van den Berg and Bart Jacobs and Erik Poll",
  title =        "Formal Specification and Verification of {JavaCard}'s
                 Application Identifier Class",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "137--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410137.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410137.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{vandenBerg:2001:LCJ,
  author =       "Joachim van den Berg and Bart Jacobs",
  title =        "The {LOOP} Compiler for {Java} and {JML}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2031",
  pages =        "299--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:48 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2031.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2031/20310299.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2031/20310299.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{VanderHeyden:2001:CJC,
  author =       "William VanderHeyden and Edward Dendy and Nely
                 Padial-Collins",
  title =        "{CartaBlanca} --- {A} {Java}-Component-based Systems
                 Simulation Tool for Coupled Non-linear Physics on
                 Unstructured Grids",
  crossref =     "ACM:2001:PAJ",
  pages =        "134--142",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/3.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500134.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{vanNieuwpoort:2001:SEP,
  author =       "Rob V. van Nieuwpoort and Thilo Kielmann and Henri E.
                 Bal",
  title =        "{Satin}: Efficient Parallel Divide-and-Conquer in
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1900",
  pages =        "690--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1900.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1900/19000690.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1900/19000690.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{vanReeuwijk:2001:SEJ,
  author =       "Cees van Reeuwijk and Frits Kuijlman and Henk J.
                 Sips",
  title =        "{Spar}: an extension of {Java} for scientific
                 computation",
  crossref =     "ACM:2001:PAJ",
  pages =        "58--67",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/11.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500058.dvi",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Veldema:2001:OJS,
  author =       "Ronald S. Veldema and Thilo Kielmann and Henri E.
                 Bal",
  title =        "Optimizing {Java}-Specific Overheads: {Java} at the
                 Speed of {C}?",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "685--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100685.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100685.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Veldema:2001:ROJ,
  author =       "Ronald Veldema and Rutger Hofman and Raoul Bhoedjang
                 and Henri Bal",
  title =        "Runtime Optimizations for a {Java DSM}
                 Implementation",
  crossref =     "ACM:2001:PAJ",
  pages =        "153--162",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/41.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500153.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Veldhuizen:2001:JWY,
  author =       "Todd L. Veldhuizen",
  title =        "Just When You Thought Your Little Language Was Safe:
                 ``Expression Templates'' in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2177",
  pages =        "188--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:21 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2177.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2177/21770188.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2177/21770188.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Vijaykrishnan:2001:EBJ,
  author =       "N. Vijaykrishnan and M. Kandemir and S. Kim and S.
                 Tomar and A. Sivasubramaniam and M. J. Irwin",
  title =        "Energy Behavior of {Java} Applications from the Memory
                 Perspective",
  crossref =     "USENIX:2001:PJV",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 17:45:19 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/jvm01/vijaykrishnan.html",
  acknowledgement = ack-nhfb,
}

@Article{Villazon:2001:PRR,
  author =       "Alex Villaz{\'o}n and Walter Binder",
  title =        "Portable Resource Reification in {Java}-Based Mobile
                 Agent Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2240",
  pages =        "213--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:25 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2240.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2240/22400213.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2240/22400213.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Vincent:2001:AIB,
  author =       "Regis Vincent and Bryan Horling and Victor Lesser",
  title =        "An Agent Infrastructure to Build and Evaluate
                 Multi-agent Systems: The {Java} Agent Framework and
                 Multi-agent System Simulator",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1887",
  pages =        "102--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:41 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1887.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1887/18870102.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1887/18870102.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Vitek:2001:CTJ,
  author =       "Jan Vitek and Boris Bokowski",
  title =        "Confined types in {Java}",
  journal =      j-SPE,
  volume =       "31",
  number =       "6",
  pages =        "507--532",
  month =        may,
  year =         "2001",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.369",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Jul 14 12:28:45 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/78003101/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78003101&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{vonLaszewski:2001:GBA,
  author =       "Gregor von Laszewski and Kazuyuki Shudo and Yoichi
                 Muraoka",
  title =        "Grid-Based Asynchronous Migration of Execution Context
                 in {Java} Virtual Machines",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1900",
  pages =        "22--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:02:44 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1900.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1900/19000022.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1900/19000022.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{vonLaszewski:2001:JCG,
  author =       "Gregor von Laszewski and Ian Foster and Jarek Gawor
                 and Peter Lane",
  title =        "A {Java} commodity grid kit",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "645--662",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.572",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503216/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503216&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{vonOheimb:2001:HLJ,
  author =       "David von Oheimb",
  title =        "{Hoare} logic for {Java} in {Isabelle\slash HOL}",
  journal =      j-CCPE,
  volume =       "13",
  number =       "13",
  pages =        "1173--1214",
  month =        nov,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.598",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Feb 25 14:51:24 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/88011338/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=88011338&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Vormoor:2001:QEI,
  author =       "Oliver Vormoor",
  title =        "Quick and Easy Interactive Molecular Dynamics Using
                 {Java3D}",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "3",
  number =       "5",
  pages =        "98--104",
  month =        sep # "\slash " # oct,
  year =         "2001",
  CODEN =        "CSENFA",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Sat Feb 23 06:37:33 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://computer.org/cise/cs2001/c5098abs.htm;
                 http://dlib.computer.org/cs/books/cs2001/pdf/c5098.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Book{Waldo:2001:JS,
  author =       "Jim Waldo and Ken Arnold",
  title =        "The {Jini} specifications",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxvii + 645",
  year =         "2001",
  ISBN =         "0-201-72617-3",
  ISBN-13 =      "978-0-201-72617-6",
  LCCN =         "QA76.9.D5 J56 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Rev. ed of: The Jini specification / Ken Arnold
                 \ldots{} [et al]. c1999",
  series =       "Jini technology series",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing;
                 Jini",
}

@Article{Waldron:2001:IQH,
  author =       "John Waldron and David Gregg",
  title =        "Identification and Quantification of Hotspots in {Java
                 Grande} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "701--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100701.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100701.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Walsh:2001:CW,
  author =       "Aaron E. Walsh and Mikael Bourges-Sevenier",
  title =        "Core {Web $3$D}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "l + 1088 + 16",
  year =         "2001",
  ISBN =         "0-13-085728-9",
  ISBN-13 =      "978-0-13-085728-6",
  LCCN =         "T385 .W364 2001",
  bibdate =      "Fri Apr 13 15:35:32 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130857289.html;
                 http://www.virtuworlds.com/3DeZine_01/features/art_coreweb3d.html",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2001:FDW,
  author =       "Shaofeng Wang and Jiaguang Sun",
  title =        "A Framework Design for Workflow Management System with
                 {Java RMI}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "86--93",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Wang:2001:PCB,
  author =       "Tiejun Wang and Scott F. Smith",
  title =        "Precise Constraint-Based Type Inference for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2072",
  pages =        "99--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:04:27 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2072.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2072/20720099.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2072/20720099.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Watt:2001:JCI,
  author =       "David A. (David Anthony) Watt and Deryck F. Brown",
  title =        "{Java} collections: an introduction to abstract data
                 types, data structures, and algorithms",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "549",
  year =         "2001",
  ISBN =         "0-471-89978-X (paperback)",
  ISBN-13 =      "978-0-471-89978-5 (paperback)",
  LCCN =         "QA76.73.J38 W384 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "abstract data types (computer science); computer
                 algorithms; computer science textbooks; data structures
                 (computer science); Java (computer program language)",
}

@InProceedings{Weerawarana:2001:BML,
  author =       "Sanjiva Weerawarana and Francisco Curbera and Matthew
                 J. Duftler and David A. Epstein and Joseph Kesselman",
  title =        "{Bean Markup Language}: a Composition Language for
                 {JavaBeans} Components",
  crossref =     "USENIX:2001:PUC",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 18:09:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/coots01/weerawarana.html",
  acknowledgement = ack-nhfb,
}

@Article{Weis:2001:SYH,
  author =       "R{\"u}diger Weis and Bastiaan Bakker and Stefan
                 Lucks",
  title =        "Security on Your Hand: Secure Filesystems with a
                 ``Non-Cryptographic'' {JAVA}-Ring",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2041",
  pages =        "151--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:03:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2041/20410151.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2041/20410151.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Weisser:2001:PCL,
  author =       "M. Weisser",
  title =        "Programming for Corpus Linguistics: How to Do Text
                 Analysis with {Java}",
  journal =      j-LIT-LING-COMP,
  volume =       "16",
  number =       "4",
  pages =        "498--500",
  month =        dec,
  year =         "2001",
  CODEN =        "LLCOEI",
  ISSN =         "0268-1145",
  ISSN-L =       "0268-1145",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Literary and Linguistic Computing",
  pagecount =    "3",
}

@InProceedings{Welch:2001:KUB,
  author =       "Ian Welch and Robert J. Stroud",
  title =        "{Kava} --- Using Byte Code Rewriting to Add
                 Behavioural Reflection to {Java}",
  crossref =     "USENIX:2001:PUC",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 18:09:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/coots01/welch.html",
  acknowledgement = ack-nhfb,
}

@Article{Welch:2001:SVD,
  author =       "P. H. Welch and G. H. Hilderink and A. W. P. Bakkers
                 and G. S. Stiles",
  title =        "Safe and Verifiable Design of Concurrent {Java}
                 Programs",
  journal =      j-INT-J-COMPUT-APPL,
  volume =       "23",
  number =       "3",
  pages =        "159--165",
  year =         "2001",
  DOI =          "https://doi.org/10.1080/1206212X.2001.11441647",
  ISSN =         "1206-212X (print), 1925-7074 (electronic)",
  ISSN-L =       "1206-212X",
  bibdate =      "Sat Apr 21 17:19:58 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ijca.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "https://www.tandfonline.com/doi/full/10.1080/1206212X.2001.11441647",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Computer Applications",
  journal-URL =  "https://www.tandfonline.com/loi/tjca20",
  online-date =  "10 Jul 2015",
}

@Article{Whitlock:2001:FPE,
  author =       "David Whitlock and Antony L. Hosking",
  title =        "A Framework for Persistence-Enabled Optimization of
                 {Java} Object Stores",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2135",
  pages =        "4--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:37 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2135.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2135/21350004.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2135/21350004.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Williams:2001:JWT,
  author =       "Al Williams",
  title =        "{Java} and the {Waba} Toolkit",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "92, 94, 96, 98",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jwaba.txt",
  abstract =     "With Java and the Waba toolkit, you can develop
                 powerful applications for handhelds like the PalmPilot
                 or Windows CE-based systems. Additional resources
                 include jwaba.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wilson:2001:PBT,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Time Warps",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "159--160",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "Greg looks at a bunch of books, including Programming
                 Ruby, Program Development in Java, The Interpretation
                 of Object-Oriented Programming Languages, MMIXware: A
                 RISC Computer for the Third Millennium, Essential XML,
                 XML Processing with Python, Presenting C\#, and Women
                 in Computer Sciences: Closing the Gap in Higher
                 Education.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wincelberg:2001:JQH,
  author =       "David Wincelberg",
  title =        "{Java Q\&A}: How Do You Use the {{\tt javax.crypto}}
                 Package?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "139--140",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/jqa0401.txt;
                 http://www.ddj.com/ftp/2001/2001_04/jqa0401.zip",
  abstract =     "How do you use the javax.crypto package? David shows
                 you, as he adds security to Java-based e-commerce
                 systems by encrypting/decrypting users' credit-card
                 numbers. Additional resources include jqa0401.txt
                 (listings) and jqa0401.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Winston:2001:J,
  author =       "Patrick Henry Winston and Sundar Narasimhan",
  title =        "On to {Java 2}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "xi + 451",
  year =         "2001",
  ISBN =         "0-201-72593-2 (paperback)",
  ISBN-13 =      "978-0-201-72593-3 (paperback)",
  LCCN =         "QA76.73.J38 W56 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Wirthlin:2001:SRH,
  author =       "Michael J. Wirthlin and Brad L. Hutchings and Carl
                 Worth",
  title =        "Synthesizing {RTL} Hardware from {Java} Byte Codes",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2147",
  pages =        "123--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:49 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2147.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2147/21470123.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2147/21470123.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Wissink:2001:PSA,
  author =       "Andrew Wissink and Richard Hornung and Scott Kohn and
                 Steve Smith",
  title =        "Parallel Structured Adaptive Mesh Refinement
                 Applications Using the {SAMRAI} Library",
  crossref =     "ACM:2001:PAJ",
  pages =        "184--184",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.philippsen.com/JGI2001/camerareadyabstracts/57.html;
                 http://www.philippsen.com/JGI2001/finalpapers/18500184.ps",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Wolf:2001:ACH,
  author =       "Armin Wolf",
  title =        "Adaptive Constraint Handling with {CHR} in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2239",
  pages =        "256--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:07:24 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2239.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2239/22390256.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2239/22390256.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Wolz:2001:TDP,
  author =       "Ursula Wolz",
  title =        "Teaching design and project management with {Lego RCX}
                 robots",
  journal =      j-SIGCSE,
  volume =       "33",
  number =       "1",
  pages =        "95--99",
  month =        mar,
  year =         "2001",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/366413.364551",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:46 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In traditional CS 1 classes students may not develop
                 an appreciation for the planning process in software
                 development. Current IDEs provide such immediate
                 feedback that students can complete courses without an
                 appreciation for the need to plan in advance and design
                 thoughtfully. The course unit described here took time
                 out from a Java-based CS 1 course to give students
                 practical experience in programming a small robot in a
                 highly restricted setting. Outcomes are described in
                 detail. They are based on instructor's notes, and on
                 analysis of both videotaped student demonstrations and
                 student summative essays.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Wootton:2001:JPR,
  author =       "Cliff Wootton",
  title =        "{JavaScript} programmer's reference",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "xix + 973",
  year =         "2001",
  ISBN =         "1-86100-459-1 (paperback)",
  ISBN-13 =      "978-1-86100-459-8 (paperback)",
  LCCN =         "QA76.76.J39 W66 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Available also in CD-ROM format",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Wraxall:2001:JQH,
  author =       "Jason Wraxall",
  title =        "{Java Q\&A}: How Can {I} Extend the {Swing
                 JComboBox}?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "181--182, 184, 186",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/jqa0101.txt;
                 http://www.ddj.com/ftp/2001/2001_01/jqa0101.zip",
  abstract =     "The lightweight controls which come with Sun's JFC
                 Swing framework provide a rich set of interfaces for
                 extending the way they look or behave. Jason extends
                 the JComboBox control using Listener interfaces and a
                 custom data model to make it a little smarter and less
                 prone to error. Additional resources include
                 jqa0101.txt (listings) and jqa0101.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Wu:2001:IOO,
  author =       "C. Thomas Wu",
  title =        "An introduction to object-oriented programming with
                 {Java}",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  edition =      "Second",
  pages =        "xxviii + 863",
  year =         "2001",
  ISBN =         "0-07-239684-9 (softcover)",
  ISBN-13 =      "978-0-07-239684-3 (softcover)",
  LCCN =         "QA76.64. W78 2000",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Xu:2001:DAR,
  author =       "Baowen Xu and Zhenqiang Chen",
  title =        "Dependence Analysis for Recursive {Java} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "70--76",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Yahav:2001:VSP,
  author =       "Eran Yahav",
  title =        "Verifying safety properties of concurrent {Java}
                 programs using $3$-valued logic",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "27--40",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.acm.org/pubs/articles/proceedings/plan/360204/p27-yahav/p27-yahav.pdf;
                 http://www.acm.org/pubs/citations/proceedings/plan/360204/p27-yahav/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Ye:2001:WBP,
  author =       "R. Ye and W.-J. Hsu and Z.-H. Liu",
  title =        "{Web}-Based Parallel Simulation of {AGVs} Using {Java}
                 and {JINI}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2127",
  pages =        "379--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:28 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2127.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2127/21270379.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2127/21270379.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Yero:2001:JOO,
  author =       "Eduardo J. H. Yero and Marco A. A. Henriques and
                 Javier R. Garc{\"\i}a and Alina C. Leyva",
  title =        "{JOINT}: An Object Oriented Message Passing Interface
                 for Parallel Programming in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2110",
  pages =        "637--??",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:05:11 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2110.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2110/21100637.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2110/21100637.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Zhang:2001:HJAa,
  author =       "Xiaolan Zhang and Margo Seltzer",
  title =        "{HBench:JGC} --- An Application-Specific Benchmark
                 Suite for Evaluating {JVM} Garbage Collector
                 Performance",
  crossref =     "USENIX:2001:PUC",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Tue Oct 15 18:09:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/coots01/zhang.html",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2001:HJAb,
  author =       "Xiaolan Zhang and Margo Seltzer",
  title =        "{HBench:Java}: an application-specific benchmarking
                 framework for {Java Virtual Machines}",
  journal =      j-CCPE,
  volume =       "13",
  number =       "8--9",
  pages =        "775--792",
  month =        jul # "\slash " # aug,
  year =         "2001",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.578",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Wed Jul 25 10:55:47 MDT 2001",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/84503219/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=84503219&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Book{Zukowski:2001:JC,
  author =       "John Zukowski",
  title =        "{Java} collections",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "x + 422",
  year =         "2001",
  ISBN =         "1-893115-92-5",
  ISBN-13 =      "978-1-893115-92-7",
  LCCN =         "QA76.73.J38 Z84 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Abraham-Mumm:2002:VJR,
  author =       "Erika {\'A}brah{\'a}m-Mumm and Frank S. de Boer and
                 Willem-Paul de Roever and Martin Steffen",
  title =        "Verification for {Java}'s Reentrant Multithreading
                 Concept",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2303",
  pages =        "5--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:21 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2303.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2303/23030005.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2303/23030005.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Ahmed:2002:DEJ,
  author =       "Khawar Zaman Ahmed and Cary E. Umrysh",
  title =        "Developing enterprise {Java} applications with {J2EE}
                 and {UML}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiv + 330",
  year =         "2002",
  ISBN =         "0-201-73829-5",
  ISBN-13 =      "978-0-201-73829-2",
  LCCN =         "QA76.73.J38 A35 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "business -- data processing; Java (computer program
                 language)",
}

@Article{Aires-de-Sousa:2002:JJT,
  author =       "J. Aires-de-Sousa",
  title =        "{JATOON}: {Java} tools for neural networks",
  journal =      j-CHEMO-INTELL-LAB,
  volume =       "61",
  number =       "1",
  pages =        "167--173",
  day =          "28",
  month =        feb,
  year =         "2002",
  CODEN =        "CILSEN",
  ISSN =         "0169-7439",
  ISSN-L =       "0169-7439",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Chemometrics and Intelligent Laboratory Systems",
  pagecount =    "7",
}

@Article{Akiyama:2002:MEP,
  author =       "S. Akiyama",
  title =        "A modeling of evolution processes on the {Java Class
                 Library} and it's statistical verification",
  journal =      "Report of Researches --- Nippon Institute of
                 Technology",
  volume =       "32",
  number =       "2",
  publisher =    "Nippon Institute of Technology",
  pages =        "145--148",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0389-2514",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Al-Jaroodi:2002:OPD,
  author =       "Jameela Al-Jaroodi and Nader Mohamed and Hong Jiang
                 and David R. Swanson",
  title =        "An Overview of Parallel and Distributed {Java} for
                 Heterogeneous Systems: Approaches and Open Issues",
  journal =      j-PARALLEL-DIST-COMP-PRACT,
  volume =       "5",
  number =       "4",
  pages =        "??--??",
  month =        dec,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1097-2803",
  bibdate =      "Thu Sep 2 12:08:56 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/5/4.toc",
  acknowledgement = ack-nhfb,
  fjournal =     "PDCP: Parallel and Distributed Computing Practices",
}

@Article{Aldrich:2002:ARA,
  author =       "Jonathan Aldrich and Craig Chambers and David Notkin",
  title =        "Architectural Reasoning in {ArchJava}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2374",
  pages =        "334--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:57 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2374.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2374/23740334.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2374/23740334.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Allen:2002:DLP,
  author =       "Eric Allen and Robert Cartwright and Brian Stoler",
  title =        "{DrJava}: a lightweight pedagogic environment for
                 {Java}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "137--141",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563395",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "DrJava is a pedagogic programming environment for Java
                 that enables students to focus on designing programs,
                 rather than learning how to use the environment. The
                 environment provides a simple interface based on a
                 ``read-eval-print loop'' that enables a programmer to
                 develop, test, and debug Java programs in an
                 interactive, incremental fashion. This paper gives an
                 overview of DrJava including its pedagogic rationale,
                 functionality, and implementation.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Alouf:2002:FVC,
  author =       "Sara Alouf and Fabrice Huet and Philippe Nain",
  title =        "Forwarders vs. centralized server: an evaluation of
                 two approaches for locating mobile agents",
  journal =      j-SIGMETRICS,
  volume =       "30",
  number =       "1",
  pages =        "278--279",
  month =        jun,
  year =         "2002",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/511334.511379",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Thu Jun 26 11:38:22 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The Internet has allowed the creation of huge amounts
                 of data located on many sites. Performing complex
                 operations on some data requires that the data be
                 transferred first to the machine on which the
                 operations are to be executed, which may require a
                 non-negligible amount of bandwidth and may seriously
                 limit performance if it is the bottleneck. However,
                 instead of moving the data to the code, it is possible
                 to move the code to the data, and perform all the
                 operations locally. This simple idea has led to a new
                 paradigm called {\em code-mobility:\/} a mobile object
                 --- sometimes called an agent --- is given a list of
                 destinations and a series of operations to perform on
                 each one of them. The agent will visit all of the
                 destinations, perform the requested operations and
                 possibly pass the result on to another object. Any
                 mobility mechanism must first provide a way to migrate
                 code from one host to another. It must also ensure that
                 any communication following a migration will not be
                 impaired by it, namely that two objects should still be
                 able to communicate even if one of them has migrated.
                 Such a mechanism is referred to as a {\em location\/}
                 mechanism since it often relies on the knowledge of the
                 location of the objects to ensure communications. Two
                 location mechanisms are widely used: the first one uses
                 a centralized server whereas the second one relies on
                 special objects called {\em forwarders.\/} This paper
                 evaluates and compares the performance of an existing
                 implementation of these approaches in terms of cost of
                 communication in presence of migration. Based on a
                 Markov chain analysis, we will construct and solve two
                 mathematical models, one for each mechanism and will
                 use them to evaluate the cost of location. For the
                 purpose of validation, we have developed for each
                 mechanism a benchmark that uses {\em ProActive\/} [2],
                 a Java library that provides all the necessary
                 primitives for code mobility. Experiments conducted on
                 a LAN and on a MAN have validated both models and have
                 shown that the location server always performs better
                 than the forwarders. Using our analytical models we
                 will nevertheless identify situations where the
                 opposite conclusion holds. However, under most
                 operational conditions location servers will perform
                 better than forwarders.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
}

@Article{Alt:2002:ADP,
  author =       "M. Alt and H. Bischof and S. Gorlatch",
  title =        "Algorithm Design and Performance Prediction in a
                 {Java}-Based {Grid} System with Skeletons",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2400",
  pages =        "899--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:14 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2400.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2400/24000899.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2400/24000899.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Alvarez:2002:AJT,
  author =       "A. Alvarez and Y. Amghar",
  title =        "Applying {JAVA-Triggers} for {X-Link} Management in
                 the Industrial Framework",
  journal =      j-SIM-SERIES,
  volume =       "34",
  number =       "1",
  pages =        "131--136",
  year =         "2002",
  CODEN =        "SMCPAX",
  ISSN =         "0735-9276",
  bibdate =      "Tue Apr 29 05:13:30 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Simulation series",
}

@Article{Amsterdam:2002:JNC,
  author =       "Jonathan Amsterdam",
  title =        "{Java}'s {{\tt new}} Considered Harmful",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "19--20, 22, 24, 26",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "Even though Java's new keyword is central to the
                 language, there may be better ways of getting the job
                 done.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Ancona:2002:FFJ,
  author =       "Davide Ancona and Giovanni Lagorio and Elena Zucca",
  title =        "A Formal Framework for {Java} Separate Compilation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2374",
  pages =        "609--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:57 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2374.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2374/23740609.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2374/23740609.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Andersen:2002:DSJ,
  author =       "Sandra Andersen",
  title =        "Data structures in {Java}: a laboratory course",
  publisher =    pub-JONES-BARTLETT,
  address =      pub-JONES-BARTLETT:adr,
  pages =        "407",
  year =         "2002",
  ISBN =         "0-7637-1816-5",
  ISBN-13 =      "978-0-7637-1816-9",
  LCCN =         "QA76.73.J38 A46 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer science textbooks; data structures (computer
                 science); Java (computer program language)",
}

@Book{Anderson-Freed:2002:WWP,
  author =       "Susan Anderson-Freed",
  title =        "Weaving a {Website}: programming in {HTML},
                 {JavaScript}, {Perl} and {Java}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "712",
  year =         "2002",
  ISBN =         "0-13-028220-0",
  ISBN-13 =      "978-0-13-028220-0",
  LCCN =         "QA76.625 .A64 2002",
  bibdate =      "Wed May 8 07:40:44 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "BUY-A-BOOK gift of Michael E. Hayden thanks to
                 Professor Frank Deremer",
  acknowledgement = ack-nhfb,
  keywords =     "Internet programming; Web sites -- development",
}

@Book{Anderson:2002:EJC,
  author =       "Gail Anderson and Paul Anderson",
  title =        "{Enterprise JavaBeans} Component Architecture:
                 Designing and Coding Enterprise Applications",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xix + 435",
  year =         "2002",
  ISBN =         "0-13-035571-2",
  ISBN-13 =      "978-0-13-035571-3",
  LCCN =         "QA76.73.J38 A47 2002",
  bibdate =      "Mon Apr 29 16:52:18 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$59.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130355712.html;
                 http://www.sun.com/books/catalog/anderson/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:CCG,
  author =       "Anonymous",
  title =        "{CICS Commarea} generation for {VisualAge} for {Java}
                 server interface",
  journal =      "Research Disclosure",
  volume =       "462",
  publisher =    "Kenneth Mason Publications",
  pages =        "1958--1959",
  year =         "2002",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:CDG,
  author =       "Anonymous",
  title =        "{CPU\slash DSP} Gains {Java} Accelerator",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "50",
  number =       "23",
  pages =        "30--31",
  year =         "2002",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Tue Nov 19 09:39:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Anonymous:2002:CRJ,
  author =       "Anonymous",
  title =        "Conference Report: {{\em 2nd Java Virtual Machine
                 Research and Technology Symposium}}",
  journal =      j-LOGIN,
  volume =       "27",
  number =       "5",
  pages =        "??--??",
  month =        oct,
  year =         "2002",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:12 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2002-10/index.html",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/JavaVM2002.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Anonymous:2002:GLN,
  author =       "Anonymous",
  title =        "{Gemplus} launches new {Java} productivity tools",
  journal =      "Card Technology Today",
  volume =       "14",
  number =       "5",
  pages =        "5--6",
  day =          "1",
  month =        may,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0965-2590",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "2",
}

@Article{Anonymous:2002:IAJ,
  author =       "Anonymous",
  title =        "Introducing aspects to {Java} programs without a
                 custom {JVM} or application source modification",
  journal =      "Research Disclosure",
  volume =       "462",
  publisher =    "Kenneth Mason Publications",
  pages =        "1907--??",
  year =         "2002",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:IJM,
  author =       "Anonymous",
  title =        "{iPro}: The {Java Message Service} ({JMS}) offers
                 reliable messaging without requiring realtime
                 connections",
  journal =      j-PC-MAGAZINE,
  volume =       "21",
  number =       "21",
  pages =        "80--84",
  year =         "2002",
  CODEN =        "PCMGEP",
  ISSN =         "0888-8507",
  ISSN-L =       "0888-8507",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "PC Magazine",
}

@TechReport{Anonymous:2002:JGI,
  author =       "Anonymous",
  title =        "{JMFA} --- {A} graphically interactive {Java} program
                 that fits microfibril angle {X}-ray diffraction data",
  type =         "Research note",
  number =       "FPL-RN-0283.",
  institution =  "United States Forest Service",
  address =      "????",
  year =         "2002",
  LCCN =         "A 13.79:FPL-RN-0283 Gov Pubs Microform",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Shipping List number 2002-0228-M. Shipping List Date:
                 04/05/2002.",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:LAJ,
  author =       "Anonymous",
  title =        "Learn About {Java} Server-Side Development and
                 Programming: a review of {Server-Based Java
                 Programming}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "3",
  number =       "2",
  year =         "2002",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:47:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0202/departments/bks_b.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Anonymous:2002:MES,
  author =       "Anonymous",
  title =        "A method for eliminating sign extensions for array
                 bounds checking of {Java} on 64-bit architectures that
                 have no 32-bit compare instruction",
  journal =      "Research Disclosure",
  volume =       "462",
  publisher =    "Kenneth Mason Publications",
  pages =        "1954--??",
  year =         "2002",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:NMD,
  author =       "Anonymous",
  title =        "Naming and metadata design for querying {Enterprise
                 Java Beans} considering different inheritance hierarchy
                 on remote interface and bean interface",
  journal =      "Research Disclosure",
  volume =       "462",
  publisher =    "Kenneth Mason Publications",
  pages =        "1919--??",
  year =         "2002",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:PAU,
  author =       "Anonymous",
  title =        "Products: {Atinav} Upgrades {Bluetooth} Software
                 Suite; New {$3$D} Terrain Modeler from
                 {MultiGen-Paradigm}; {RIM} Introduces {BlackBerry}
                 Development Environment for {J2ME}; {Mercury
                 Interactive} Adds {Forte for Java} to Load-Testing
                 System; {WildPackets}' Real-Time Wireless Analyzer;
                 {Novell} Updates Mobile File Management Software;
                 {Layton Graphics} Unveils {AutoCAD-to-PDF} Translator;
                 {Iomegas} Network Attached Storage Servers",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "5",
  pages =        "100--101",
  month =        may,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Tue Apr 30 19:04:58 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2002/pdf/r5100.pdf;
                 http://www.computer.org/computer/co2002/r5100abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:PEB,
  author =       "Anonymous",
  title =        "Products: Enhanced {Bluetooth} Test Tool from
                 {Tektronix}; {NEXIQ Technologies}'s Intelligent Display
                 Software; {Actel}'s {FGPA} Development {IDE};
                 {Parasoft}'s Automated {Java} Classes Testing Unit;
                 {Packeteer} Upgrades Central Reporting Application;
                 {VisiComp} Releases {Java} Debugger; {Compuware}'s
                 Driver Development Suite for {Windows}; {Silas
                 Technologies} Upgrades Application-Monitoring
                 Software",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "9",
  pages =        "82--83",
  month =        sep,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:33 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/09/r9082.htm;
                 http://csdl.computer.org/dl/mags/co/2002/09/r9082.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:PIR,
  author =       "Anonymous",
  title =        "Products: {Instantiations} Releases {RAD} Tools for
                 {Java}; {Pencel} Updates {XML} Mobile Application
                 Interface; {LynuxWorks}'s New {Linux} Distribution;
                 {Applied Microsystems}' Embedded Systems Code Tester;
                 {AppForge} Upgrades Cross-Platform Design Tool for
                 Handhelds; {Computer Associates}' {Java}, {XML}, and
                 Wireless Extensions; {TurboPower};s Bug Detection and
                 Performance Analysis Tools",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "2",
  pages =        "106--108",
  month =        feb,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Feb 8 07:11:47 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2002/pdf/r2106.pdf;
                 http://www.computer.org/computer/co2002/r2106abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:POU,
  author =       "Anonymous",
  title =        "Products: Omnicore Upgrades {Java IDE CodeGuide}
                 {emWare}'s {SDE} for Intelligent Device Management;
                 {Metrowerks}' {CodeWarrior} for {Embedded Linux};
                 Integrated Software Environment form {Xilinx}; New
                 Version of {InstallShield Professional}; {Motorola}'s
                 32-Bit {CAN} Reference Design; {Utopia-LVDS} Bridge
                 Reference Design Kit from {National Semiconductor};
                 {First Silicon Solutions}' Analysis Tool for
                 Flash-Based {FPGAs}",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "11",
  pages =        "78--79",
  month =        nov,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:36 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/11/ry078.htm;
                 http://csdl.computer.org/dl/mags/co/2002/11/ry078.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:PPJ,
  author =       "Anonymous",
  title =        "Products: {PrismTech}'s {JDO} Spec for Transparent
                 Persistence; {Altia}'s Graphics Code Generator for
                 Embedded Applications; {Design Science} Upgrades
                 {MathType} for Windows; {PolarLake} Launches
                 {Enterprise XML} Platform for {Java}; {Syware}'s Database
                 Development Software for {PDAs}; Code Generator for
                 {Web} Application Development from {YesSoftware};
                 {Embarcadero Technologies} Upgrades Cross-Platform Job
                 Scheduler; {Performance Technologies} Introduces
                 Telecom Adapter; {Rational Software}'s Latest {IDE}
                 Enhancement; {Aprisa}'s Online Research and Design
                 Environment",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "3",
  pages =        "97--99",
  month =        mar,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Sat Mar 9 08:40:40 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/co/books/co2002/pdf/r3097.pdf;
                 http://www.computer.org/computer/co2002/r3097abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:PPU,
  author =       "Anonymous",
  title =        "Performance Push: An updated version of {webMethods}'
                 integration software supports {Java 2 Enterprise
                 Edition}, which could improve system performance",
  journal =      j-INFORMATION-WEEK,
  volume =       "914",
  pages =        "30--31",
  year =         "2002",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Sat Dec 7 10:05:42 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2002:PRS,
  author =       "Anonymous",
  title =        "Products: {Rational Software}'s {.NET} Development
                 Software; {SGI}'s Development {APIs} for Visualization;
                 {Java} Development Tool from {Visual Numerics};
                 {SUSSMicroTec}'s {MEMS} Testing Vacuum Prober;
                 {FaceTime}'s {IM} Information Security System; {MX}
                 Development Resource Kit from {Macromedia}; {.NET} Data
                 Integration Tool from {XAWare}; {VoiceGenie}'s
                 {VoiceXML} Gateway",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "10",
  pages =        "70--??",
  month =        oct,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:34 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/10/rx070.htm;
                 http://csdl.computer.org/dl/mags/co/2002/10/rx070.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:PSS,
  author =       "Anonymous",
  title =        "Products: {SOISIC} Ships Deisgn Kit for {SOI}
                 Structures; Systems and Software Development Tools from
                 {Telelogic}; {RSA Security}'s {Web} Access Management
                 System; {Altera}'s Free Embedded Processor Portfolio;
                 Signal Integrity Measurement Tools from Tektronix;
                 {Oracle} Upgrades {Java} Development Tool; {Xilinx}
                 Delivers {EDK} for {FPGA} Processor; {Westbridge}'s
                 Tool to Sniff Unauthorized {XML}; {SpeechStudio}'s
                 Telephony Development Tools",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "12",
  pages =        "118--119",
  month =        dec,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/12/rz118.htm;
                 http://csdl.computer.org/dl/mags/co/2002/12/rz118.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:PXO,
  author =       "Anonymous",
  title =        "Products: {XML}-Oriented {FrameMaker} from {Adobe
                 Systems}; {Breeze Factor}'s {XML} Data-Binding Tool for
                 {Java}; {Microsoft}'s Speech-Enabling Tools for {Web}
                 Applications; {Agere Systems}'s Wireless {LAN}
                 Management Tool; {Macromedia} Debuts {ColdFusion MX};
                 {OpenOffice.org} Unveils Open Source Productivity
                 Suite; {Integrated Measurement Systems}' Validation
                 Tester",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "6",
  pages =        "82--83",
  month =        jun,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/06/r6082.htm;
                 http://csdl.computer.org/dl/mags/co/2002/06/r6082.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2002:RCJ,
  author =       "Anonymous",
  title =        "Resource constraints in {Java} by means of a classfile
                 modification",
  journal =      "Research Disclosure",
  volume =       "463",
  publisher =    "Kenneth Mason Publications",
  pages =        "2105",
  year =         "2002",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:SAC,
  author =       "Anonymous",
  title =        "{SchlumbergerSema} adds on-card applet verification to
                 {Java Cards}",
  journal =      "Card Technology Today",
  volume =       "14",
  number =       "5",
  pages =        "6--7",
  day =          "1",
  month =        may,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0965-2590",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "2",
}

@Article{Anonymous:2002:VJU,
  author =       "Anonymous",
  title =        "{VisualAge} for {Java UI} application components for
                 securities and investment trust industry",
  journal =      "Research Disclosure",
  volume =       "463",
  publisher =    "Kenneth Mason Publications",
  pages =        "2236--2237",
  year =         "2002",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Appel:2002:MCI,
  author =       "Andrew W. Appel and Jens Palsberg",
  title =        "Modern compiler implementation in {Java}",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  edition =      "Second",
  pages =        "501",
  year =         "2002",
  ISBN =         "0-521-82060-X",
  ISBN-13 =      "978-0-521-82060-8",
  LCCN =         "QA76.73.J38 A65 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "compilers (computer programs); Java (computer program
                 language)",
}

@Article{Apte:2002:ETM,
  author =       "N. Apte and I. Zeid",
  title =        "Evolution of transparent manufacturing: An
                 architecture for a {Java}-based controller of a {CIM}
                 cell",
  journal =      "Journal of Intelligent Manufacturing",
  volume =       "13",
  number =       "2",
  pages =        "89--100",
  month =        apr,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0956-5515",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "12",
}

@Book{Apte:2002:JCA,
  author =       "Atul Apte",
  title =        "{Java} connector architecture: building custom
                 connectors and adapters",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xi + 344",
  year =         "2002",
  ISBN =         "0-672-32310-9",
  ISBN-13 =      "978-0-672-32310-2",
  LCCN =         "QA76.73.J38 A67 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; business -- data
                 processing; Java (computer program language)",
}

@Book{Apte:2002:WSJ,
  author =       "Naresh Apte and Toral Mehta",
  title =        "{Web} Services: a {Java} Developer's Guide Using
                 {E-Speak}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "540 (est.)",
  year =         "2002",
  ISBN =         "0-13-062338-5",
  ISBN-13 =      "978-0-13-062338-6",
  LCCN =         "QA76.73.J38 A68 2001",
  bibdate =      "Mon Apr 29 16:55:34 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130623385.html",
  acknowledgement = ack-nhfb,
  xxtitle =      "{E}-speak: a {Java} developer's guide to {E}-services
                 and {Web} services",
}

@Article{Arnold:2002:OFD,
  author =       "Matthew Arnold and Michael Hind and Barbara G. Ryder",
  title =        "Online Feedback-Directed Optimization of {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "111--129",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bacon:2002:STE,
  author =       "David F. Bacon and Stephen J. Fink and David Grove",
  title =        "Space- and Time-Efficient Implementation of the {Java}
                 Object Model",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2374",
  pages =        "111--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:57 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2374.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2374/23740111.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2374/23740111.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Baek:2002:IMM,
  author =       "J. M. Baek and B. M. Kang and I. S. Hong",
  title =        "Implementation of Mileage Management System using
                 {Java Card}",
  journal =      j-SIM-SERIES,
  volume =       "34",
  number =       "2",
  pages =        "3--8",
  year =         "2002",
  CODEN =        "SMCPAX",
  ISSN =         "0735-9276",
  bibdate =      "Tue Apr 29 05:13:30 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Simulation series",
}

@Article{Bagga:2002:JJB,
  author =       "Jay Bagga and Adrian Heinz",
  title =        "{JGraph} --- {A} {Java} Based System for Drawing
                 Graphs and Running Graph Algorithms",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2265",
  pages =        "459--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:04 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2265.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2265/22650459.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2265/22650459.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Bagnall:2002:CLM,
  author =       "Brian Bagnall",
  title =        "Core {LEGO Mindstorms} Programming: Unleash the Power
                 of The {Java} Platform",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  year =         "2002",
  ISBN =         "0-13-009364-5",
  ISBN-13 =      "978-0-13-009364-6",
  LCCN =         "TJ211 .B32 2002",
  bibdate =      "Mon Apr 29 16:54:02 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130093645.html",
  acknowledgement = ack-nhfb,
}

@Article{Baiardi:2002:JSD,
  author =       "F. Baiardi and P. Mori and L. Ricci",
  title =        "A {JAVA} Support for Distributed Shared Memory on
                 {COW}",
  journal =      "Applied Informatics",
  volume =       "3",
  pages =        "191--195",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1027-2666",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Baker:2002:MMD,
  author =       "Jason Baker and Wilson C. Hsieh",
  title =        "Maya: multiple-dispatch syntax extension in {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "270--281",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Bales:2002:JPO,
  author =       "Donald Bales",
  title =        "{Java} Programming with {Oracle JDBC}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xv + 477",
  year =         "2002",
  ISBN =         "0-596-00088-X",
  ISBN-13 =      "978-0-596-00088-2",
  LCCN =         "QA76.73.J38 B35 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$39.95",
  URL =          "http://safari.oreilly.com/059600088X;
                 http://www.oreilly.com/catalog/jorajdbc",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); Oracle (computer
                 file)",
  publishersummary = "Learn how to leverage JDBC, a key Java technology
                 used to access relational data from Java programs, in
                 an Oracle environment. Author Donald Bales begins by
                 teaching you the mysteries of establishing database
                 connections, and how to issue SQL queries and get
                 results back. You'll move on to advanced topics such as
                 streaming large objects, calling PL/SQL procedures, and
                 working with Oracle9i's object-oriented features, then
                 finish with a look at transactions, concurrency
                 management, and performance.",
}

@InProceedings{Barbuti:2002:FJB,
  author =       "R. Barbuti and C. Bernardeschi and N. {De Francesco}
                 and L. Tesei",
  editor =       "Genoveffa Tortora and S. K. (Shi Kuo) Chang",
  booktitle =    "{Proceedings of the 14th international conference on
                 Software engineering and knowledge engineering: 2002,
                 Ischia, Italy, July 15--19, 2002}",
  title =        "Fixing the {Java} Bytecode Verifier by a Suitable Type
                 Domain",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  bookpages =    "859",
  pages =        "377--382",
  year =         "2002",
  ISBN =         "1-58113-556-4",
  ISBN-13 =      "978-1-58113-556-5",
  LCCN =         "QA76.758 .I573 2002",
  bibdate =      "Thu Dec 01 07:18:48 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://portal.acm.org/toc.cfm?id=568760",
  acknowledgement = ack-nhfb,
}

@Book{Barish:2002:BSH,
  author =       "Greg Barish",
  title =        "Building scalable and high-performance {Java Web}
                 applications using {J2EE} technology",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xviii + 392",
  year =         "2002",
  ISBN =         "0-201-72956-3",
  ISBN-13 =      "978-0-201-72956-6",
  LCCN =         "QA76.73.J38 B36 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); Web sites --
                 design",
}

@Article{Barnes:2002:TIJ,
  author =       "David J. Barnes",
  title =        "Teaching introductory {Java} through {LEGO MINDSTORMS}
                 models",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "147--151",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563397",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "Innovative teachers are continually looking for
                 creative ideas, both to get their ideas across and to
                 hold the interest of their students. One of the latest
                 trends is the use of LEGO\reg{} MINDSTORMSTM kits [9]
                 in various computing courses. These kits allow a wide
                 variety of physical models to be built, some of which
                 may be programmed via the RCXTM processor integrated
                 into them. Using its standard firmware, the RCX device
                 may be programmed through several different specialist
                 languages. However, the additional availability of
                 bytecode-compatible replacement firmware for the RCX
                 makes the use of JavaTM as the programming language for
                 it a particularly attractive approach. In this paper,
                 we explore some of the issues associated with choosing
                 to program MINDSTORMS models using Java within the
                 context of an introductory programming course. In
                 particular, we consider the impact on the material that
                 is taught, and the use of an appropriate API to support
                 an objects-early programming style.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Barthe:2002:FCB,
  author =       "Gilles Barthe and Guillaume Dufay and Line Jakubiec
                 and Sim{\~a}o Melo de Sousa",
  title =        "A Formal Correspondence between Offensive and
                 Defensive {JavaCard} Virtual Machines",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2294",
  pages =        "32--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:17 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2294.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2294/22940032.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2294/22940032.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Barthe:2002:TAS,
  author =       "Gilles Barthe and Pierre Courtieu and Guillaume Dufay
                 and Sim{\~a}o Melo de Sousa",
  title =        "Tool-Assisted Specification and Verification of the
                 {JavaCard} Platform",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2422",
  pages =        "41--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:23 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2422.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2422/24220041.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2422/24220041.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Basha:2002:ANG,
  author =       "S. Jeelani Basha and Romin Irani",
  title =        "{AXIS}: the next generation of {Java SOAP}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "v + 275",
  year =         "2002",
  ISBN =         "1-86100-715-9",
  ISBN-13 =      "978-1-86100-715-5",
  LCCN =         "QA76.76.H94 B37 2002 Bar",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Internet programming; Java (computer program
                 language); object-oriented programming (computer
                 science); simple object access protocol (computer
                 network protocol)",
}

@Book{Bell:2002:JS,
  author =       "Doug Bell and Mike Parr",
  title =        "{Java} for students",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Third",
  pages =        "xxvi + 634",
  year =         "2002",
  ISBN =         "0-13-032377-2 (paperback)",
  ISBN-13 =      "978-0-13-032377-4 (paperback)",
  LCCN =         "QA76.73.J38 B45 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Bell:2002:VBN,
  author =       "Douglas Bell",
  title =        "Visual basic. Net as a first language: an evaluation",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "4",
  pages =        "107--108",
  month =        dec,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/820127.820178",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:58 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse34.html#Bell02;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2002.bib",
  abstract =     "This paper assesses the utility of the Microsoft
                 Visual Basic. Net programming language for teaching
                 programming at a first level. The paper shows some
                 comparisons with Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bellavista:2002:JLD,
  author =       "Paolo Bellavista and Antonio Corradi and Cesare
                 Stefanelli",
  title =        "{Java} for On-line Distributed Monitoring of
                 Heterogeneous Systems and Services",
  journal =      j-COMP-J,
  volume =       "45",
  number =       "6",
  pages =        "595--607",
  month =        "????",
  year =         "2002",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Wed Nov 6 11:21:54 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/450595.sgm.abs.html;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/pdf/450595.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Book{Bergsten:2002:JP,
  author =       "Hans Bergsten",
  title =        "{JavaServer} Pages",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxii + 660",
  year =         "2002",
  ISBN =         "0-596-00317-X",
  ISBN-13 =      "978-0-596-00317-3",
  LCCN =         "TK5105.8885.J38 B47 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$44.95",
  URL =          "http://safari.oreilly.com/059600317X;
                 http://www.oreilly.com/catalog/jserverpages2",
  acknowledgement = ack-nhfb,
  annote =       "Covers JSP 1.2 and JSTL 1.0.",
  keywords =     "JavaServer pages; Web site development; Web sites --
                 design",
  publishersummary = "Filled with useful examples and the depth,
                 clarity, and attention to detail that made the first
                 edition so popular with Web developers, JavaServer
                 Pages, 2nd Edition is completely revised and updated to
                 cover the substantial changes in the 1.2 version of the
                 JSP specifications, and includes coverage of the new
                 JSTL Tag libraries-an eagerly anticipated standard set
                 of JSP elements for the tasks needed in most JSP
                 applications, as well as thorough coverage of Custom
                 Tag Libraries.",
}

@Article{Bergstra:2002:MOP,
  author =       "J. Bergstra",
  title =        "Molecule-oriented programming in {Java}",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "44",
  number =       "11",
  pages =        "617--638",
  day =          "15",
  month =        aug,
  year =         "2002",
  CODEN =        "ISOTE7",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
  pagecount =    "22",
}

@Article{Bernardeschi:2002:CAI,
  author =       "Cinzia Bernardeschi and Nicoletta {De Francesco}",
  title =        "Combining Abstract Interpretation and Model Checking
                 for Analysing Security Properties of {Java} Bytecode",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2294",
  pages =        "1--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:17 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2294.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2294/22940001.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2294/22940001.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bettini:2002:KJP,
  author =       "L. Bettini and R. DeNicola and R. Pugliese",
  title =        "{KLAVA}: a {Java} package for distributed and mobile
                 applications",
  journal =      j-SPE,
  volume =       "32",
  number =       "14",
  pages =        "1365--1394",
  year =         "2002",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Betz:2002:BMN,
  author =       "David Betz",
  title =        "{Bob} Meets {Nuon}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "60, 62--64",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/bob.zip;
                 http://www.ddj.com/ftp/2002/2002_02/bobnuon.txt",
  abstract =     "Bob is a dynamic object-oriented language with syntax
                 similar to C/C++, Java, and JavaScript --- and it is
                 used in NUON, a hardware/software platform for DVD
                 players and set-top boxes. Additional resources include
                 {\tt bobnuon.txt} (listings) and {\tt bob.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Biegel:2002:DPB,
  author =       "Gregory Biegel and Vinny Cahill and Mads Haahr",
  title =        "A Dynamic Proxy Based Architecture to Support
                 Distributed {Java} Objects in a Mobile Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2519",
  pages =        "809--826",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Dec 7 10:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2519.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2519/25190809.htm;
                 http://link.springer.de/link/service/series/0558/papers/2519/25190809.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Biermann:2002:GIC,
  author =       "Alan W. Biermann and Dietolf Ramm",
  title =        "Great ideas in computer science with {Java}",
  publisher =    pub-MIT,
  address =      pub-MIT:adr,
  pages =        "xx + 528",
  year =         "2002",
  ISBN =         "0-262-02497-7 (paperback)",
  ISBN-13 =      "978-0-262-02497-6 (paperback)",
  LCCN =         "QA76.73.J38 B52 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Binder:2002:USJ,
  author =       "Walter Binder and Bal{\'a}zs Lichtl",
  title =        "Using a Secure {Java} Micro-kernel on Embedded Devices
                 for the Reliable Execution of Dynamically Uploaded
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2361",
  pages =        "125--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:50 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2361.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2361/23610125.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2361/23610125.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Boian:2002:ACT,
  author =       "Florian Mircea Boian and Corina Ferdean",
  title =        "Advanced Collaboration Techniques between {Java}
                 Objects Distributed on Clusters",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2326",
  pages =        "259--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:32 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2326.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2326/23260259.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2326/23260259.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bouchi:2002:JTM,
  author =       "A. Bouchi and R. Olejnik and Bernard Toursel",
  title =        "{Java} Tools for Measurement of the Machine Loads",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2326",
  pages =        "271--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:32 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2326.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2326/23260271.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2326/23260271.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Boyapati:2002:KAT,
  author =       "Chandrasekhar Boyapati and Sarfraz Khurshid and Darko
                 Marinov",
  title =        "{Korat}: automated testing based on {Java}
                 predicates",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "123--133",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566191",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "This paper presents Korat, a novel framework for
                 automated testing of Java programs. Given a formal
                 specification for a method, Korat uses the method
                 precondition to automatically generate all
                 (nonisomorphic) test cases up to a given small size.
                 Korat then executes the method on each test case, and
                 uses the method postcondition as a test oracle to check
                 the correctness of each output. To generate test cases
                 for a method, Korat constructs a Java predicate (i.e.,
                 a method that returns a boolean) from the method's
                 pre-condition. The heart of Korat is a technique for
                 automatic test case generation: given a predicate and a
                 bound on the size of its inputs, Korat generates all
                 (nonisomorphic) inputs for which the predicate returns
                 true. Korat exhaustively explores the bounded input
                 space of the predicate but does so efficiently by
                 monitoring the predicate's executions and pruning large
                 portions of the search space. This paper illustrates
                 the use of Korat for testing several data structures,
                 including some from the Java Collections Framework. The
                 experimental results show that it is feasible to
                 generate test cases from Java predicates, even when the
                 search space for inputs is very large. This paper also
                 compares Korat with a testing framework based on
                 declarative specifications. Contrary to our initial
                 expectation, the experiments show that Korat generates
                 test cases much faster than the declarative
                 framework.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Brady:2002:JPB,
  author =       "Alyce Brady and R. C. McDowell and Kelly Schultz",
  title =        "{JavaScript} programming basics: a laboratory series
                 for beginning programmers",
  journal =      j-JERIC,
  volume =       "2",
  number =       "2",
  pages =        "1--1",
  month =        jun,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1531-4278",
  bibdate =      "Tue Feb 3 18:43:37 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/jeric/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Journal on Educational Resources in Computing
                 (JERIC)",
}

@Article{Bretz:2002:NPP,
  author =       "E. A. Bretz",
  title =        "New phones play games and run {Java} applications",
  journal =      j-IEEE-SPECTRUM,
  volume =       "39",
  number =       "2",
  pages =        "62--63",
  month =        feb,
  year =         "2002",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2002.981863",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "Application software; Cellular phones; Games; Java;
                 Keyboards; Packaging; Personal digital assistants;
                 Physics computing; Silver; Telephony",
}

@Article{Breunesse:2002:SVD,
  author =       "Cees-Bart Breunesse and Bart Jacobs and Joachim van
                 den Berg",
  title =        "Specifying and Verifying a Decimal Representation in
                 {Java} for Smart Cards",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2422",
  pages =        "304--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:23 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2422.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2422/24220304.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2422/24220304.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Brinkmann:2002:GGG,
  author =       "Peter Brinkmann",
  title =        "{Gumbie}: a {GUI} Generator For {Jython}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "46--50",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/gumbie.txt;
                 http://www.ddj.com/ftp/2002/2002_04/gumbie.zip",
  abstract =     "Jython is a 100 percent pure Java implementation of
                 Python that makes Java scriptable. Peter uses it to
                 build his Gumbie GUI tool. Additional resources include
                 gumbie.txt (listings) and gumbie.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Brooks:2002:BRB,
  author =       "Terrence A. Brooks",
  title =        "Book Review: {{\booktitle{Designing with Javascript:
                 Creating dynamic Web pages}}}",
  journal =      j-J-AM-SOC-INF-SCI-TECHNOL,
  volume =       "53",
  number =       "11",
  pages =        "967--968",
  month =        "????",
  year =         "2002",
  CODEN =        "JASIEF",
  DOI =          "https://doi.org/10.1002/asi.10127",
  ISSN =         "1532-2882 (print), 1532-2890 (electronic)",
  ISSN-L =       "1532-2882",
  bibdate =      "Fri Sep 11 10:42:00 MDT 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jasist.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of the American Society for Information
                 Science and Technology: JASIST",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1532-2890",
  onlinedate =   "6 Jun 2002",
}

@Article{Brosgol:2002:ATC,
  author =       "Benjamin M. Brosgol and Ricardo J. {Hassan, II} and
                 Scott Robbins",
  title =        "Asynchronous transfer of control in the real-time
                 specification for {Java}{\TM}",
  journal =      j-SIGADA-LETTERS,
  volume =       "22",
  number =       "4",
  pages =        "95--112",
  month =        dec,
  year =         "2002",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Brosgol:2002:SSU,
  author =       "Ben Brosgol and Michael Gonz{\'a}lez Harbour",
  title =        "Session summary: update on the real-time specification
                 for {Java}",
  journal =      j-SIGADA-LETTERS,
  volume =       "22",
  number =       "4",
  pages =        "128--130",
  month =        dec,
  year =         "2002",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Aug 9 09:06:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Book{Brown:2002:WAW,
  author =       "Kyle Brown",
  title =        "{WebSphere 4.0 AEs} Workbook for {Enterprise
                 JavaBeans}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "186 (est.)",
  year =         "2002",
  ISBN =         "0-596-00418-4",
  ISBN-13 =      "978-0-596-00418-7",
  LCCN =         "????",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$24.95",
  URL =          "http://www.oreilly.com/catalog/websphereworkbook",
  acknowledgement = ack-nhfb,
  publishersummary = "Although EJB applications themselves are portable,
                 the manner in which developers install and run EJB
                 products varies widely from one vendor to the next. The
                 goal of this WebSphere AE workbook is to discuss vendor
                 specific requirements and best practices and introduce
                 tools such as the WebSphere Application Assembly Tool,
                 and the WebSphere Administration Console, all in the
                 context of building and running the example programs
                 for O'Reilly's Enterprise JavaBeans, 3rd edition. The
                 Workbook guides developers step-by-step, explaining how
                 to build and deploy working solutions in a particular
                 application server, and provides useful hints, tips and
                 warnings.\par

                 This WebSphere 4.0 AEs Workbook was originally
                 published by Enterprise JavaBeans author Richard
                 Monson-Haefel's Titan Books publishing company.
                 O'Reilly thought so highly of it, we acquired the
                 rights to publish it ourselves, in order to give more
                 developers access to this critical information.",
}

@Article{Bruno:2002:JQ,
  author =       "Eric J. Bruno",
  title =        "{Java Q\&A}: So What is a {Java} Event Agent?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "86--91",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/jqa0702.txt;
                 http://www.ddj.com/ftp/2002/2002_07/jqa0702.zip",
  abstract =     "Additional resources include jqa0702.txt (listings)
                 and jqa0702.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Bubak:2002:MSD,
  author =       "M. Bubak and W. Funika and P. Metel and R. Or{\l}owski
                 and R. Wism{\"u}ller",
  title =        "Monitoring System for Distributed {Java}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2330",
  pages =        "874--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:35 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2330.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2330/23300874.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2330/23300874.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bubak:2002:TMI,
  author =       "Marian Bubak and W{\l}odzimierz Funika and Piotr
                 M{\c{e}}tel and Rafa{\l} Or{\l}owski and Roland
                 Wism{\"u}ller",
  title =        "Towards a Monitoring Interface Specification for
                 Distributed {Java} Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2328",
  pages =        "315--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:33 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2328.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2328/23280315.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2328/23280315.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Burchfield:2002:UAA,
  author =       "J. Burchfield and S. Lipovaca",
  title =        "Using an {APL} approach with {Java}",
  journal =      j-APL-QUOTE-QUAD,
  volume =       "32",
  number =       "4",
  pages =        "61--68",
  year =         "2002",
  CODEN =        "APLQD9",
  ISSN =         "0163-6006",
  ISSN-L =       "0163-6006",
  bibdate =      "Tue Dec 24 07:09:37 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "APL Quote Quad",
}

@Article{Burkhalter:2002:JTE,
  author =       "B. Burkhalter",
  title =        "The {JAI Top 10 Engineers} answer questions about
                 {Java Advanced Imaging}",
  journal =      j-ADV-IMAGING,
  volume =       "17",
  number =       "10",
  publisher =    "PTN Publishing Co.",
  pages =        "32--39",
  year =         "2002",
  CODEN =        "ADIMEZ",
  ISSN =         "1042-0711",
  ISSN-L =       "1042-0711",
  bibdate =      "Tue Nov 19 09:39:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Advanced Imaging",
}

@Article{Burrows:2002:JGE,
  author =       "Anthony L. Burrows and David England",
  title =        "{Java $3$D}, {$3$D} graphical environments and
                 behaviour",
  journal =      j-SPE,
  volume =       "32",
  number =       "4",
  pages =        "359--376",
  day =          "10",
  month =        apr,
  year =         "2002",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.441",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Mar 23 17:30:52 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/91016434/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=91016434&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Busko:2002:SJTa,
  author =       "I. Busko",
  title =        "{Specview}: a {Java} Tool for Spectral Visualization
                 and Model Fitting",
  journal =      "Astronomical Society of the Pacific Conference
                 Series",
  volume =       "281",
  number =       "??",
  pages =        "120--124",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1050-3390",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Busko:2002:SJTb,
  author =       "I. Busko",
  title =        "{Specview}: a {Java} tool for spectral visualization
                 and model fitting of multi-instrument data [4847-51]",
  journal =      j-PROC-SPIE,
  volume =       "4847",
  publisher =    "International Society for Optical Engineering",
  pages =        "410--418",
  year =         "2002",
  CODEN =        "PSISDG",
  ISSN =         "0277-786X (print), 1996-756X (electronic)",
  ISSN-L =       "0277-786X",
  bibdate =      "Tue Feb 18 07:16:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the SPIE --- The International Society
                 for Optical Engineering",
}

@Article{Butincu:2002:DDA,
  author =       "Cristian Bu{\c{t}}incu and Dan Grigoras",
  title =        "{DisMedJava} --- {A} Distributed Application for
                 Medical Image Processing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2326",
  pages =        "308--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:32 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2326.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2326/23260308.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2326/23260308.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Cade:2002:SCE,
  author =       "Mark Cade and Simon Roberts",
  title =        "{Sun Certified Enterprise Architect} for {J2EE}
                 Technology Study Guide",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "220 (est.)",
  year =         "2002",
  ISBN =         "0-13-044916-4",
  ISBN-13 =      "978-0-13-044916-0",
  LCCN =         "????",
  bibdate =      "Mon Apr 29 16:56:51 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130449164.html",
  acknowledgement = ack-nhfb,
}

@PhdThesis{Callaway:2002:VTR,
  author =       "John Callaway",
  title =        "Visualization of threads in a running {Java} program",
  type =         "Thesis ({M.S.})",
  school =       "University of California, Santa Cruz",
  address =      "Santa Cruz, CA, USA",
  year =         "2002",
  LCCN =         "QA76.73.J38 C36 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "academic dissertations -- University of California,
                 Santa Cruz -- 2002; academic dissertations --
                 University of California, Santa Cruz -- computer;
                 computer science; computer software -- development;
                 Java (computer program language); object-oriented
                 programming (computer science); science; software
                 engineering; visualization",
}

@Article{Casset:2002:DEV,
  author =       "Ludovic Casset",
  title =        "Development of an Embedded Verifier for {Java} Card
                 Byte Code Using Formal Methods",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2391",
  pages =        "290--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:10 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2391.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2391/23910290.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2391/23910290.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Catano:2002:FSS,
  author =       "N{\'e}stor Cata{\~n}o and Marieke Huisman",
  title =        "Formal Specification and Static Checking of {Gemplus}'
                 Electronic Purse Using {ESC\slash Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2391",
  pages =        "272--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:10 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2391.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2391/23910272.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2391/23910272.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Cavalieri:2002:ERT,
  author =       "S. Cavalieri",
  title =        "Exploring Real-Time Features of {Java VM}",
  journal =      "IECON Proceedings",
  volume =       "3",
  number =       "??",
  pages =        "2538--2543",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "????",
  bibdate =      "Tue Apr 8 06:53:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Cavaness:2002:PJS,
  author =       "Chuck Cavaness",
  title =        "Programming {Jakarta Struts}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvii + 441",
  year =         "2002",
  ISBN =         "0-596-00328-5",
  ISBN-13 =      "978-0-596-00328-9",
  LCCN =         "QA76.76.A65 C39 2003",
  bibdate =      "Sat Jul 17 07:29:58 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$39.95",
  URL =          "http://www.oreilly.com/catalog/jakarta",
  acknowledgement = ack-nhfb,
  publishersummary = "As popular as the Struts Framework for building
                 Web applications with Servlets and JSPs is becoming,
                 the online documentation is inadequate, focusing on the
                 most basic functionality and leaving out information
                 crucial to developers writing today's complex Web
                 applications. O'Reilly's Programming Jakarta Struts was
                 written by Chuck Cavaness after his internet company
                 decided to adopt the framework, then spent months
                 really figuring out how to use it to its fullest
                 potential. He calls the books, ``the culmination of
                 lessons learned (the hard way) while building our
                 application.''\par

                 Readers will benefit from the real-world, ``this is how
                 to do it'' approach Cavaness takes to developing
                 complex enterprise applications using Struts, and his
                 focus on the 1.1 version of the Framework makes this
                 the most up-to-date book available.",
}

@Book{Cerami:2002:WSE,
  author =       "Ethan Cerami",
  title =        "{Web} Services Essentials: Distributed Applications
                 with {XML-RPC}, {SOAP}, {UDDI} \& {WSDL}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 288",
  year =         "2002",
  ISBN =         "0-596-00224-6",
  ISBN-13 =      "978-0-596-00224-4",
  LCCN =         "TK5105.888 .C47 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$29.95",
  URL =          "http://safari.oreilly.com/0596002246;
                 http://www.oreilly.com/catalog/webservess",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer programming language); Web servers --
                 computer programs; Web site development; XML (document
                 markup language)",
  publishersummary = "This concise book gives programmers both a
                 concrete introduction and handy reference to XML Web
                 services. It explains the foundations of this new breed
                 of distributed services, demonstrates quick ways to
                 create services with open-source Java tools, and
                 explores four key emerging technologies: XML-RPC, SOAP,
                 UDDI, and WSDL. If you want to break through the Web
                 Services hype and find useful information on these
                 evolving technologies, look no further.",
}

@Article{Cha:2002:IXB,
  author =       "Si-Ho Cha and Jae-Oh Lee and Young-Keun Choi and
                 Kook-Hyun Cho",
  title =        "Implementing an {XML}-Based Universal Network
                 Management System in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2343",
  pages =        "652--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:12 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2343.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2343/23430652.htm;
                 http://link.springer.de/link/service/series/0558/papers/2343/23430652.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Chan:2002:AGF,
  author =       "J. T. Chan and W. Yang",
  title =        "An attribute-grammar framework for specifying the
                 accessibility in {Java} programs",
  journal =      j-COMP-LANGS,
  volume =       "28",
  number =       "2",
  pages =        "203--235",
  year =         "2002",
  CODEN =        "COLADA",
  ISSN =         "0096-0551 (print), 1873-6742 (electronic)",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Dec 24 07:09:37 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Languages",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
}

@Book{Chappell:2002:JWS,
  author =       "David A. Chappell and Tyler Jewell",
  title =        "{Java Web} services",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xii + 262",
  year =         "2002",
  ISBN =         "0-596-00269-6",
  ISBN-13 =      "978-0-596-00269-5",
  LCCN =         "QA76.73.J38 C4772 2002",
  bibdate =      "Mon Apr 18 15:04:33 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  note =         "Using Java in service-oriented architectures.",
  URL =          "http://www.oreilly.com/catalog/9780596002695",
  acknowledgement = ack-nhfb,
  keywords =     "Internet programming; Java (computer program
                 language)",
  remark =       "``Using Java in service-oriented architectures'' ---
                 cover.",
  subject =      "Java (Computer program language); Internet
                 programming",
}

@Article{Chen:2002:FMJ,
  author =       "J. Chen",
  title =        "Formal Modelling of {Java GUI} Event Handling",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2495",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "359--370",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 26 06:24:58 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Chen:2002:ILD,
  author =       "J. Chen and H. Zhao",
  title =        "Implement of linked data structure in {Java}",
  journal =      "Journal: Beijing University of Chemical Technology",
  volume =       "29",
  number =       "5",
  pages =        "72--74",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1007-2640",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2002:JCN,
  author =       "Jiadong Chen",
  title =        "{Java} {E}-Commerce in a Nutshell: a review of
                 {Professional Java E-Commerce}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "3",
  number =       "4",
  year =         "2002",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:47:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0204/departments/bks_a.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Chen:2002:JPU,
  author =       "F. Chen and S. Chen and X. Wu",
  title =        "{Java} Program Used in Block Graph Experimental
                 Simulation on {Web}",
  journal =      "Journal- Wuhan University Natural Sciences Edition",
  volume =       "48",
  number =       "5",
  publisher =    "Wuhan University",
  pages =        "621--625",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0253-9888",
  bibdate =      "Tue Jan 14 08:59:22 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Chen:2002:POS,
  author =       "Kirk Chen and Li Gong",
  title =        "Programming open service gateways with {Java} embedded
                 server technology",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xix + 456",
  year =         "2002",
  ISBN =         "0-201-71102-8",
  ISBN-13 =      "978-0-201-71102-8",
  LCCN =         "QA76.73.J38 C4775 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "embedded computer systems -- programming; Java
                 (computer program language)",
}

@Article{Chen:2002:TGC,
  author =       "G. Chen and R. Shetty and M. Kandemir and N.
                 Vijaykrishnan and M. J. Irwin and M. Wolczko",
  title =        "Tuning garbage collection for reducing memory system
                 energy in an embedded {Java} environment",
  journal =      j-TECS,
  volume =       "1",
  number =       "1",
  pages =        "27--55",
  month =        nov,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Aug 7 11:26:40 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
}

@Article{Chen:2002:UMC,
  author =       "G. Chen and M. Kandemir and N. Vijaykrishnan and M. J.
                 Irwin and W. Wolf",
  title =        "Using Memory Compression for Energy Reduction in an
                 Embedded {Java} System",
  journal =      "Journal of Circuits Systems and Computers",
  volume =       "11",
  number =       "5",
  publisher =    "World Scientific Co. Pte. Ltd.",
  pages =        "537--556",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0218-1266",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Cheng:2002:JBT,
  author =       "L. Cheng and I. Marsic",
  title =        "{Java}-based tools for accurate bandwidth measurement
                 of {Digital Subscriber Line} networks",
  journal =      "Integrated Computer Aided Engineering",
  volume =       "9",
  number =       "4",
  publisher =    "Wiley-Interscience",
  pages =        "333--344",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1069-2509",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chiao:2002:EBR,
  author =       "H. T. Chiao and S. H. J. Kao and Y. S. Chang and S. T.
                 Huang and S. M. Yuan",
  title =        "Experience in Building a Real-Time Extension Library
                 for {Java}",
  journal =      j-J-INFO-SCI-ENG,
  volume =       "18",
  number =       "6",
  pages =        "905--928",
  year =         "2002",
  CODEN =        "JINEEY",
  ISSN =         "1016-2364",
  bibdate =      "Tue Jan 14 08:59:22 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of information science and engineering",
}

@InProceedings{Chiu:2002:PMM,
  author =       "Kenneth Chiu and Madhusudhan Govindaraju and Dennis
                 Gannon",
  title =        "The {Proteus Multiprotocol Message Library}",
  crossref =     "IEEE:2002:STI",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Wed Nov 26 07:34:20 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc-2002.org/paperpdfs/pap.pap315.pdf",
  abstract =     "Grid systems span manifold organizations and
                 application domains. Because this diverse environment
                 inevitably engenders multiple protocols,
                 interoperability mechanisms are crucial to seamless,
                 pervasive access. This paper presents the design,
                 rationale, and implementation of the Proteus
                 multiprotocol library for integrating multiple message
                 protocols, such as SOAP and JMS, within one system.
                 Proteus decouples application code from protocol code
                 at run-time, allowing clients to incorporate separately
                 developed protocols without recompiling or halting.
                 Through generic serialization, which separates the
                 transfer syntax from the message type, protocols can
                 also be added independently of serialization routines.
                 We also show performance-enhancing mechanisms for Grid
                 services that examine metadata, but pass actual data
                 through opaquely (such as adapters). The interface
                 provided to protocol implementors is general enough to
                 support protocols as disparate as our current
                 implementations: SOAP, JMS, and binary. Proteus is
                 written in C++; a Java port is planned.",
  acknowledgement = ack-nhfb,
}

@Article{Christensen:2002:FCD,
  author =       "Henrik B{\ae}rbak Christensen and Michael E.
                 Caspersen",
  title =        "Frameworks in {CS1}: a different way of introducing
                 event-driven programming",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "75--79",
  month =        sep,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/637610.544438",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:56 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In this paper we argue that introducing
                 object-oriented frameworks as subject already in the
                 CS1 curriculum is important if we are to train the
                 programmers of tomorrow to become just as much software
                 reusers as software producers. We present a simple,
                 graphical, framework that we have successfully used to
                 introduce the principles of object-oriented frameworks
                 to students at the introductory programming level. Our
                 framework, while simple, introduces central
                 abstractions such as inversion of control, event-driven
                 programming, and variability points/hot-spots. This has
                 provided a good starting point for introducing
                 graphical user interface frameworks such as Java Swing
                 and AWT as the students are not overwhelmed by all the
                 details of such frameworks right away but given a
                 conceptual road-map and practical experience that allow
                 them to cope with the complexity.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Cimato:2002:DAP,
  author =       "Stelvio Cimato",
  title =        "Design of an Authentication Protocol for {Gsm
                 Javacards}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2288",
  pages =        "355--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:14 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2288.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2288/22880355.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2288/22880355.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Clear:2002:ACJ,
  author =       "T. Clear and G. Foot",
  title =        "Avatars in Cyberspace --- {A} {Java} {$3$D}
                 Application to Support Formation of Virtual Groups",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "222",
  year =         "2002",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Cochran:2002:NVR,
  author =       "Shannon Cochran",
  title =        "News and Views: Researchers Tackle {P2P} Network;
                 {Java} Upstarts Push {JEFF}; Computer Science Tests
                 Canceled; The Continuing Voyage",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "14--14",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212n/",
  abstract =     "December News and Views",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Cohen:2002:JQH,
  author =       "Tal Cohen",
  title =        "{Java Q\&A}: How Do {I} Correctly Implement the {\tt
                 equals()} Method?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "83--84, 86",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/jqa0502.txt",
  abstract =     "Additional resources include jqa0502.txt.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Coleman:2002:OAJ,
  author =       "C. L. Coleman",
  title =        "{Oracle} Angles for {Java} Developers",
  journal =      "E Business Advisor",
  volume =       "20",
  number =       "1",
  publisher =    "Advisor Publications",
  pages =        "12--13",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1098-8912",
  bibdate =      "Tue Nov 26 06:24:58 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  abstract =     "Bill Dwight, Oracle's VP of application development,
                 sets his sights on Java and Web services.",
  acknowledgement = ack-nhfb,
}

@Article{ColindeVerdiere:2002:SPS,
  author =       "Vincent {Colin de Verdi{\`e}re} and S{\'e}bastien Cros
                 and Christian Fabre and Romain Guider and Sergio
                 Yovine",
  title =        "Speedup Prediction for Selective Compilation of
                 Embedded {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2491",
  pages =        "227--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:06 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2491.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2491/24910227.htm;
                 http://link.springer.de/link/service/series/0558/papers/2491/24910227.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Comer:2002:TJB,
  author =       "James Comer and Robert Roggio",
  title =        "Teaching a {Java}-based {CS1} course in an
                 academically-diverse environment",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "142--146",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563396",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "The Texas Christian University (TCU) Computer Science
                 Department was established in 1981. From the outset,
                 the Department's CS1 course has presented significant
                 teaching challenges due to the wide diversity of
                 student's taking the class. Traditionally, only 25-35\%
                 of the students enrolled in the course are computing
                 science majors, the remaining being students from a
                 wide diversity of disciplines, many of which are
                 non-science based. Despite the diversity, it has been
                 necessary for the course, and its content, to be
                 structured to satisfy essential core requirements for
                 students majoring in computer science and computer
                 information science as well as to meet program
                 requirements for the many non-computer science majors
                 taking the course. This paper discusses some of the
                 unique issues associated with teaching a Java-based CS1
                 course to a very diverse group of students, the
                 majority of which have very unsophisticated problem
                 solving skills, and little or no programming expertise.
                 A representative set of experiments and programming
                 assignments are included.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Cook:2002:REJ,
  author =       "Jonathan J. Cook",
  title =        "Reverse Execution of {Java} Bytecode",
  journal =      j-COMP-J,
  volume =       "45",
  number =       "6",
  pages =        "608--619",
  month =        "????",
  year =         "2002",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/45.6.608",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Wed Nov 6 11:21:54 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/450608.sgm.abs.html;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/pdf/450608.pdf",
  abstract =     "We demonstrate a model, including operational
                 semantics, for the reverse execution of stack-based
                 code. We discuss our modification of the Kaffe
                 implementation of the Java Virtual Machine, supporting
                 a debugger capable of running Java bytecode backwards.
                 We achieve reverse execution by logging the state lost
                 during each operation or by directly reversing
                 instructions. Our debugger has facilities for stepping,
                 stepping over methods and running to breakpoints, in
                 both directions. Multi-threading is supported. It is
                 also possible to step through the bytecode when the
                 Java source code is not available. The debugger has
                 both a command line user interface and a graphical user
                 interface with facilities for editing code and running
                 the Java compiler.",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Article{Corsaro:2002:DPJ,
  author =       "Angelo Corsaro and Douglas C. Schmidt",
  title =        "The Design and Performance of the {jRate} Real-Time
                 {Java} Implementation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2519",
  pages =        "900--921",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Dec 7 10:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2519.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2519/25190900.htm;
                 http://link.springer.de/link/service/series/0558/papers/2519/25190900.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Cruz:2002:SRA,
  author =       "J. L. Cruz and B. Cuesta and M. Sigut and L. Acosta",
  title =        "Simulation, Remote Access, and Monitoring of a Robot
                 in {Java}",
  journal =      j-INT-J-ROBOTICS-AUTOMATION,
  volume =       "17",
  number =       "3",
  pages =        "112--119",
  year =         "2002",
  CODEN =        "IJAUED",
  ISSN =         "0826-8185",
  ISSN-L =       "0826-8185",
  bibdate =      "Tue Nov 19 09:39:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Robotics and Automation",
}

@Article{Daley:2002:FTD,
  author =       "Nigel Daley and Daniel Hoffman and Paul Strooper",
  title =        "A framework for table driven testing of {Java}
                 classes",
  journal =      j-SPE,
  volume =       "32",
  number =       "5",
  pages =        "465--493",
  day =          "25",
  month =        apr,
  year =         "2002",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.452",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 18 14:47:19 MDT 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/93513336/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=93513336&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Danelutto:2002:LSP,
  author =       "M. Danelutto and P. Teti",
  title =        "{Lithium}: a Structured Parallel Programming
                 Environment in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2330",
  pages =        "844--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:35 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2330.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2330/23300844.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2330/23300844.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{deBeer:2002:MIR,
  author =       "R. deBeer and A. Coron and D. GraveronDemilly and R.
                 Lethmate and S. Nastase and D. vanOrmondt and F. T.
                 Wajer",
  title =        "{MR} image reconstruction algorithms for sparse
                 $k$-space data: a {Java}-based integration",
  journal =      j-MAGMA,
  volume =       "15",
  number =       "1--3",
  pages =        "18--26",
  year =         "2002",
  CODEN =        "MAGMEY",
  ISSN =         "0968-5243",
  bibdate =      "Tue Nov 19 09:39:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Magma",
}

@Book{Deitel:2002:AJP,
  author =       "Harvey M. Deitel and Paul J. Deitel and S. Santry",
  title =        "Advanced {Java 2} platform: how to program",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxxviii + 1811 + EULA-13",
  year =         "2002",
  ISBN =         "0-13-089560-1",
  ISBN-13 =      "978-0-13-089560-8",
  LCCN =         "QA76.73.J38 D445 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "CD-ROM contains Java TM 2 Software Development Kit
                 Standard Edition Version 1.3.1 for Windows and Linux
                 (Intel x86); Forte for Java, Release 2.0, Community
                 Edition for All Platforms; BEA WebLodge Server TM,
                 Version 6.0 (Windows/Linux) with Service Pack 1 or 2,
                 30 Day Trial",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Deitel:2002:CJT,
  author =       "Harvey M. Deitel and Paul J. Deitel",
  title =        "The Complete {Java 2} Training Course",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "????",
  year =         "2002",
  ISBN =         "0-13-064931-7",
  ISBN-13 =      "978-0-13-064931-7",
  LCCN =         "????",
  bibdate =      "Tue Mar 12 08:01:33 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$109.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130649317.html",
  acknowledgement = ack-nhfb,
}

@Book{Deitel:2002:JHP,
  author =       "Harvey M. Deitel and Paul J. Deitel",
  title =        "{Java}: how to program",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Fourth",
  pages =        "lii + 1546 + 8",
  year =         "2002",
  ISBN =         "0-13-034151-7",
  ISBN-13 =      "978-0-13-034151-8",
  LCCN =         "QA76.73.J38 D45 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "CD-ROM contains Java TM 2 SDK, Standard Edition,
                 1.3.1, Java Media Framework API 2.1.1, Forte for Java,
                 Release 2.0, Community Edition and Java Plug-in HTML
                 Converter 1.3.",
  series =       "How to program series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Delbourg:2002:JBC,
  author =       "D. Delbourg and G. Penillault and T. K. Tuong and M.
                 Decourt and N. Borome and H. Harroch and B. Lessellier
                 and B. Waast and J. P. Mouffron",
  title =        "A {Java}-based control system for the {Orsay} tandem
                 accelerator",
  journal =      j-PRAMANA,
  volume =       "59",
  number =       "6",
  publisher =    "Indian Academy of Sciences",
  pages =        "1025--1034",
  year =         "2002",
  CODEN =        "PRAMCI",
  ISSN =         "0304-4289",
  bibdate =      "Tue Jan 14 08:59:22 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Pramana: Journal of Physics",
  journal-URL =  "http://www.springerlink.com/content/0304-4289",
}

@Book{Dellwig:2002:J,
  author =       "Elmar Dellwig and Ingo Dellwig",
  title =        "{JavaScript}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xiii + 289",
  year =         "2002",
  ISBN =         "0-201-75875-X (paperback)",
  ISBN-13 =      "978-0-201-75875-7 (paperback)",
  LCCN =         "QA76.73.J39 D45 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Translation of: JavaScript 1.3 Nitty Gritty",
  series =       "Addison-Wesley nitty gritty programming series",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Delsart:2002:JLM,
  author =       "Bertrand Delsart and Vania Joloboff and Eric Paire",
  title =        "{JCOD}: a Lightweight Modular Compilation Technology
                 for Embedded {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2491",
  pages =        "197--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:06 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2491.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2491/24910197.htm;
                 http://link.springer.de/link/service/series/0558/papers/2491/24910197.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Delzanno:2002:TAV,
  author =       "Giorgio Delzanno and Jean-Fran{\c{c}}ois Raskin and
                 Laurent {Van Begin}",
  title =        "Towards the Automated Verification of Multithreaded
                 {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2280",
  pages =        "173--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:09 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2280.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2280/22800173.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2280/22800173.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Deng:2002:JUJ,
  author =       "Q. Deng and X. Lu",
  title =        "{JOGR} --- Utilizing {Java} Object Group Relationship
                 to Support Multi-Model Parallel Programming",
  journal =      "Acta Electronica Sinica",
  volume =       "30",
  number =       "11",
  publisher =    "Chinese Institute of Electronics Beijing",
  pages =        "1718--1721",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0372-2112",
  bibdate =      "Tue Jan 14 08:59:22 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Denney:2002:CJC,
  author =       "Ewen Denney and Thomas Jensen",
  title =        "Correctness of {Java} card method lookup via logical
                 relations",
  journal =      j-THEOR-COMP-SCI,
  volume =       "283",
  number =       "2",
  pages =        "305--331",
  month =        jun,
  year =         "2002",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Wed Nov 20 18:08:57 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Article{Dershem:2002:AJL,
  author =       "Herbert L. Dershem and Ryan L. McFall and Ngozi Uti",
  title =        "Animation of {Java} linked lists",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "53--57",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563362",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "Linked lists are an important component of the
                 computer science curriculum. JVALL is a software
                 package that provides an animation of linked list
                 operations that is fully compatible with the Java
                 LinkedList class. The animations are driven by a client
                 program that can be either an applet or standalone
                 application. It provides an effective way for students
                 to learn, experiment with, and debug linked list based
                 classes.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Dibble:2002:RTJ,
  author =       "Peter C. Dibble",
  title =        "Real-Time {Java} Platform Programming",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "352 (est.)",
  year =         "2002",
  ISBN =         "0-13-028261-8",
  ISBN-13 =      "978-0-13-028261-3",
  LCCN =         "QA76.73.J38 D53 2002",
  bibdate =      "Mon Apr 29 16:58:06 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130282618.html;
                 http://www.sun.com/books/catalog/dibble",
  acknowledgement = ack-nhfb,
}

@Article{Dietrich:2002:JDC,
  author =       "Suzanne W. Dietrich and Susan D. Urban and Ion
                 Kyriakides",
  title =        "{JDBC} demonstration courseware using {Servlets} and
                 {Java Server Pages}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "266--270",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563444",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "This paper describes the design and functionality of
                 courseware developed to demonstrate the JDBC API. The
                 courseware is used in an advanced undergraduate
                 database course that emphasizes the use of Web access
                 to database systems. The JDBC courseware is written
                 using Java Servlets and Java Server Pages, allowing the
                 user to view the metadata associated with a database,
                 to view and browse the information in a database
                 according to the database metadata, and to query and/or
                 manipulate data using SQL statements. The advantage of
                 the courseware is that it demonstrates the main
                 functionality of the JDBC API in an
                 application-independent manner. The courseware can
                 access any ODBC-compliant database, emphasizing the
                 generality of the JDBC API and helping students
                 understand how JDBC can be used to query the metadata
                 of the database as well as the database contents.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Dmitriev:2002:LSM,
  author =       "Mikhail Dmitriev",
  title =        "Language-Specific Make Technology for the {Java}
                 Programming Language",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "373--385",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Dorobonceanu:2002:CFN,
  author =       "Bogdan Dorobonceanu",
  title =        "Comparing Fuzzy Numbers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "38, 40, 42, 44--45",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212e/",
  abstract =     "Fuzzy set theory makes possible the formalization of
                 approximate reasoning. Bogdan presents a fuzzy number
                 comparison method that's implemented in Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InProceedings{Doyle:2002:MEJ,
  author =       "Patrick Doyle and Tarek S. Abdelrahman",
  title =        "A Modular and Extensible {JVM} Infrastructure",
  crossref =     "USENIX:2002:PJV",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue Oct 15 12:37:27 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/doyle.html",
  acknowledgement = ack-nhfb,
}

@Article{Drofenik:2002:IPE,
  author =       "U. Drofenik and J. W. Kolar",
  title =        "Interactive Power Electronics Seminar ({iPES}) --- {A}
                 {Web}-Based Introductory Power Electronics Course
                 Employing {Java}-Applets",
  journal =      "IEEE Power Electronics Specialists Conference",
  volume =       "CONF33",
  number =       "VOL 2",
  pages =        "443--448",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0275-9306",
  bibdate =      "Sat Dec 7 10:05:42 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Drossopoulou:2002:FTJ,
  author =       "Sophia Drossopoulou and Susan Eisenbach and Gary T.
                 Leavens and Arnd Poetzsch-Heffter and Erik Poll",
  title =        "Formal Techniques for {Java}-like Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2548",
  pages =        "203--210",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:58:13 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2548.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2548/25480203.htm;
                 http://link.springer.de/link/service/series/0558/papers/2548/25480203.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Dunn:2002:JR,
  author =       "Douglas Dunn",
  title =        "{Java} rules",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxv + 690",
  year =         "2002",
  ISBN =         "0-201-70916-3",
  ISBN-13 =      "978-0-201-70916-2",
  LCCN =         "QA76.73.J38 D84 2002",
  bibdate =      "Tue Apr 01 15:07:31 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Duplantis:2002:VFA,
  author =       "Willa Duplantis and Eve MacGregor and Maria M. Klawe
                 and Michele Ng",
  title =        "'Virtual family': an approach to introducing {Java}
                 programming",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "2",
  pages =        "40--43",
  month =        jun,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/543812.543827",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:55 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse34.html#DuplantisMKN02;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Women and Computing.",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2002.bib",
  abstract =     "This paper introduces and discusses Virtual Family
                 (VF): A gender-neutral game-based software that
                 introduces Java programming. VF provides a completely
                 functioning game that students extend and enhance via
                 programming. We discuss the background and context
                 within which Virtual Family was developed and other
                 available multimedia resources for teaching
                 programming. The paper then goes on to describe Virtual
                 Family's concept and design. Finally, feedback received
                 from Virtual Family teaching workshops is related, as
                 well as preliminary results from using VF in
                 high-school teaching units. Virtual Family is under
                 development in a research lab at the University of
                 British Columbia and is an initiative of Supporting
                 Women in InFormation Technology (SWIFT). SWIFT is a
                 five-year research action and implementation project to
                 increase the participation of women in Information
                 Technology. Virtual Family is available free of charge
                 to anyone interested in using it for teaching or
                 outreach purposes, to order email {\tt
                 swift@interchange.ubc.ca}.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Durney:2002:EJC,
  author =       "Brian Durney",
  title =        "The essential {Java} class reference for programmers",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "viii + 168",
  year =         "2002",
  ISBN =         "0-13-093385-6 (paperback)",
  ISBN-13 =      "978-0-13-093385-0 (paperback)",
  LCCN =         "QA76.73.J38 D863 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Dutheil:2002:BJE,
  author =       "J. Dutheil and N. Galtier",
  title =        "{BAOBAB}: a {Java} editor for large phylogenetic
                 trees",
  journal =      j-BIOINFORMATICS,
  volume =       "18",
  number =       "6",
  pages =        "892--893",
  month =        jun,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "2",
}

@Article{Eberhart:2002:AGJ,
  author =       "Andreas Eberhart",
  title =        "Automatic Generation of {Java\slash SQL} Based
                 Inference Engines from {RDF} Schema and {RuleML}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2342",
  pages =        "102--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Sep 12 08:35:27 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2342.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2342/23420102.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2342/23420102.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Eberhart:2002:JTU,
  author =       "Andreas Eberhart and Stefan Fischer",
  title =        "{Java} tools: using {XML}, {EJB}, {CORBA}, Servlets
                 and {SOAP}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "493",
  year =         "2002",
  ISBN =         "0-471-48666-3",
  ISBN-13 =      "978-0-471-48666-4",
  LCCN =         "QA76.73.J38 E24 2002",
  bibdate =      "Fri Sep 13 06:33:58 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.i-u.de/schools/eberhart/book/",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing;
                 Java (computer program language)",
}

@Book{Eckstein:2002:JEB,
  author =       "Robert Eckstein",
  title =        "{Java} Enterprise best practices",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "x + 277",
  year =         "2002",
  ISBN =         "0-596-00384-6",
  ISBN-13 =      "978-0-596-00384-5",
  LCCN =         "QA76.73.J38 J3662 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  annote =       "Expert tips and tricks for Java Enterprise
                 programmers",
  keywords =     "application software -- development; Java (computer
                 program language); object-oriented programming
                 (computer science); Web servers",
}

@Book{Eckstein:2002:JS,
  author =       "Robert Eckstein and Marc Loy",
  title =        "{Java Swing}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxiv + 1252",
  year =         "2002",
  ISBN =         "0-596-00408-7",
  ISBN-13 =      "978-0-596-00408-8",
  LCCN =         "QA76.73.J38 E27 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "graphical user interfaces (computer systems); Java
                 (computer program language); Swing (computer file)",
}

@Article{Edelstein:2002:MJP,
  author =       "O. Edelstein and E. Farchi and Y. Nir and G. Ratsaby
                 and S. Ur",
  title =        "Multithreaded {Java} program test generation",
  journal =      j-IBM-SYS-J,
  volume =       "41",
  number =       "1",
  pages =        "111--125",
  month =        "????",
  year =         "2002",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Tue Feb 12 17:23:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/",
  URL =          "http://www.research.ibm.com/journal/sj/411/edelstein.html;
                 http://www.research.ibm.com/journal/sj/411/edelstein.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  ordernumber =  "G321-0144",
}

@Article{Eichelberger:2002:VJP,
  author =       "H. Eichelberger and J. Wolff von Gudenberg",
  title =        "On the Visualization of {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2269",
  pages =        "295--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:05 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2269.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2269/22690295.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2269/22690295.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Eisenbach:2002:EDJ,
  author =       "Susan Eisenbach and Chris Sadler and Shakil Shaikh",
  title =        "Evolution of Distributed {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2370",
  pages =        "51--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:55 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2370.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2370/23700051.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2370/23700051.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{ElKharashi:2002:JPJ,
  author =       "M. W. ElKharashi and F. Gebali and K. F. Li and F.
                 Zhang",
  title =        "The {JAFARDD} Processor: a {Java} Architecture Based
                 on a Folding Algorithm, with Reservation Stations,
                 Dynamic Translation, and Dual Processing",
  journal =      j-IEEE-TRANS-CONSUMER-ELECTRONICS,
  volume =       "48",
  number =       "4",
  pages =        "1004--1015",
  year =         "2002",
  CODEN =        "ITCEDA",
  ISSN =         "0098-3063",
  ISSN-L =       "0098-3063",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Consumer Electronics",
}

@Article{Emory:2002:JDL,
  author =       "David Emory and Roberto Tamassia",
  title =        "{JERPA}: a distance-learning environment for
                 introductory {Java} programming courses",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "307--311",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563461",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "This paper describes a Java-based distance-education
                 tool, called the Environment for Remote Programming
                 Assignments in Java (JERPA), for use in computer
                 science courses with Java programming assignments.
                 JERPA reduces the demand on the university's computing
                 infrastructure while providing instructors with an easy
                 system to deploy and distribute assignments, and
                 allowing students greater flexibility as they work on
                 the assignments. JERPA yields immediate advantages to
                 traditional on-campus CS courses and provides a key
                 functionality to programming courses offered in a
                 distance-education setting.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Englander:2002:JS,
  author =       "Robert Englander",
  title =        "{Java} and {SOAP}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xv + 258",
  year =         "2002",
  ISBN =         "0-596-00175-4",
  ISBN-13 =      "978-0-596-00175-9",
  LCCN =         "QA76.76.H94 E54 2002",
  bibdate =      "Mon Apr 18 15:03:28 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$39.95",
  URL =          "http://safari.oreilly.com/0596001754;
                 http://www.oreilly.com/catalog/9780596001759;
                 http://www.oreilly.com/catalog/javasoap",
  acknowledgement = ack-nhfb,
  keywords =     "Internet programming; Java (computer programming
                 language); object-oriented programming; simple object
                 access protocol (computer network protocol)",
  publishersummary = "Java and SOAP provides Java developers with an
                 in-depth look at SOAP (the Simple Object Access
                 Protocol). Of course, it covers the basics: what SOAP
                 is, why it's soared to a spot on the Buzzwords' Top Ten
                 list, and what its features and capabilities are. And
                 it shows you how to work with some of the more common
                 Java APIs in the SOAP world: Apache SOAP and
                 GLUE.\par

                 Java and SOAP also discusses interoperability between
                 the major SOAP platforms, including Microsoft's .NET,
                 SOAP messaging, SOAP attachments, message routing, and
                 a preview of the forthcoming AXIS APIs and server. If
                 you're a Java developer who would like to start working
                 with SOAP, this is the book you need to get going.",
  subject =      "Internet programming; Object oriented programming;
                 Simple Object Access Protocol (Computer network
                 protocol); Java (Computer program language)",
}

@Article{Ertl:2002:VGE,
  author =       "M. Anton Ertl and David Gregg and Andreas Krall and
                 Bernd Paysan",
  title =        "{Vmgen} --- a generator of efficient virtual machine
                 interpreters",
  journal =      j-SPE,
  volume =       "32",
  number =       "3",
  pages =        "265--294",
  month =        mar,
  year =         "2002",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.434",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Feb 22 12:06:59 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www.complang.tuwien.ac.at/anton/vmgen/;
                 http://www.complang.tuwien.ac.at/papers/ertl+02.ps.gz;
                 http://www3.interscience.wiley.com/cgi-bin/abstract/90010508/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=90010508&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "byte code; Cacao virtual machine; Forth; generator;
                 GForth virtual machine; interpreter; Java; stack
                 architecture; virtual machine",
}

@Book{Estrella:2002:WWG,
  author =       "Steven Estrella",
  title =        "The {Web} wizard's guide to {JavaScript}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "x + 198",
  year =         "2002",
  ISBN =         "0-201-75833-4 (paperback)",
  ISBN-13 =      "978-0-201-75833-7 (paperback)",
  LCCN =         "QA76.73.J39 E88 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Fabry:2002:SDE,
  author =       "Johan Fabry",
  title =        "Supporting Development of Enterprise {JavaBeans}
                 through Declarative Meta Programming",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2425",
  pages =        "280--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:25 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2425.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2425/24250280.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2425/24250280.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Fang:2002:JJB,
  author =       "Xiang Fang and John A. Miller and Jonathan Arnold",
  title =        "{J3DV}: a {Java}-based {$3$D} database visualization
                 tool",
  journal =      j-SPE,
  volume =       "32",
  number =       "5",
  pages =        "443--463",
  day =          "25",
  month =        apr,
  year =         "2002",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.444",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 18 14:47:19 MDT 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/93513335/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=93513335&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Book{Farley:2002:JEN,
  author =       "Jim Farley and William Crawford and David Flanagan",
  title =        "{Java} Enterprise in a Nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xiii + 971",
  year =         "2002",
  ISBN =         "0-596-00152-5",
  ISBN-13 =      "978-0-596-00152-0",
  LCCN =         "QA76.73.J38 J366 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$39.95",
  URL =          "http://safari.oreilly.com/0596001525;
                 http://www.oreilly.com/catalog/jentnut2",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
  publishersummary = "Completely revised and updated for the new 2.0
                 version of Sun Microsystems Java Enterprise Edition
                 software, Java Enterprise in a Nutshell covers all of
                 the J2EE APIs, including RMI, Java IDL, JDBC, JNDI,
                 Java Servlet, and Enterprise JavaBeans, with a
                 fast-paced tutorial and compact reference on each
                 technology. Then Java Enterprise in a Nutshell goes
                 even further, providing a classic O'Reilly-style quick
                 reference for all of the classes in the various
                 packages that comprise the Enterprise APIs - covering
                 the core enterprise APIs as well as numerous standard
                 extensions.",
  xxauthor =     "David Flanagan and Jim Farley and William Crawford",
}

@Article{Faulkner:2002:JCN,
  author =       "B. R. Faulkner",
  title =        "{Java} classes for nonprocedural variogram modeling",
  journal =      j-COMP-GEOSCI,
  volume =       "28",
  number =       "3",
  pages =        "387--397",
  month =        apr,
  year =         "2002",
  CODEN =        "CGEODT, CGOSDN",
  ISSN =         "0098-3004 (print), 1873-7803 (electronic)",
  ISSN-L =       "0098-3004",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Geosciences",
  pagecount =    "11",
}

@Article{Fekete:2002:TDS,
  author =       "Alan Fekete",
  title =        "Teaching data structures with multiple collection
                 class libraries",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "396--400",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563494",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "In recent years, the teaching of data structures has
                 been revolutionised by object-oriented languages,
                 especially Java, in which the concept of each Abstract
                 Data Type is made explicit as an Interface. The
                 existing texts, though, each use a single set of
                 classes: sometimes a standard library such as Sun's
                 SDK, but in other cases these form a library unique to
                 the text. In contrast, this paper advocates an approach
                 which seeks to prepare students for the common
                 situation for software developers, who are asked to
                 regularly adjust to a library they are unfamiliar with.
                 The teaching we describe openly acknowledges the
                 existence of many libraries. A single concept such as
                 Stack is expressed in subtly different ways in each
                 library; these differences are made explicit for the
                 student. We also show examples of assessment tasks that
                 can accompany the teaching.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Felber:2002:ACC,
  author =       "Pascal Felber and Michael K. Reiter",
  title =        "Advanced concurrency control in {Java}",
  journal =      j-CCPE,
  volume =       "14",
  number =       "4",
  pages =        "261--285",
  day =          "10",
  month =        apr,
  year =         "2002",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.635",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 18 14:54:00 MDT 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/93513491/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=93513491{\&}PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Felea:2002:EPJ,
  author =       "Violeta Felea and Nathalie Devesa and Bernard Toursel
                 and Pierre Lecouffe",
  title =        "Expressing Parallelism in {Java} Applications
                 Distributed on Clusters",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2326",
  pages =        "249--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:32 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2326.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2326/23260249.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2326/23260249.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Fenton:2002:RTC,
  author =       "F. H. Fenton and E. M. Cherry and H. M. Hastings and
                 S. J. Evans",
  title =        "Real-time computer simulations of excitable media:
                 {Java} as a scientific language and as a wrapper for
                 {C} and {Fortran} programs",
  journal =      j-BIOSYSTEMS,
  volume =       "64",
  number =       "1",
  pages =        "73--96",
  month =        jan,
  year =         "2002",
  CODEN =        "BSYMBO",
  ISSN =         "0303-2647",
  ISSN-L =       "0303-2647",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Biosystems (A6E)",
  pagecount =    "24",
}

@Book{Ferrari:2002:PLM,
  editor =       "Giulio Ferrari and Dario Laverde",
  title =        "Programming {Lego Mindstorms} with {Java}: the
                 ultimate tool for {Mindstorms} maniacs!",
  publisher =    "Syngress",
  address =      "Rockland, MA, USA",
  pages =        "xxii + 441",
  year =         "2002",
  ISBN =         "1-928994-55-5",
  ISBN-13 =      "978-1-928994-55-8",
  LCCN =         "????",
  bibdate =      "Mon Mar 27 09:01:56 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "US\$19.95",
  acknowledgement = ack-nhfb,
}

@Article{Feustel:2002:WSJ,
  author =       "Edward Feustel",
  title =        "Writing Secure {Java} Applications: a review of {Java
                 Security}, 2nd ed.",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "3",
  number =       "3",
  year =         "2002",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:47:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0203/departments/bks_a.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Flanagan:2002:ESC,
  author =       "Cormac Flanagan and K. Rustan M. Leino and Mark
                 Lillibridge and Greg Nelson and James B. Saxe and
                 Raymie Stata",
  title =        "Extended static checking for {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "234--245",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Flanagan:2002:JDG,
  author =       "David Flanagan",
  title =        "{JavaScript}: the definitive guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fourth",
  pages =        "xvii + 916",
  year =         "2002",
  ISBN =         "0-596-00048-0",
  ISBN-13 =      "978-0-596-00048-6",
  LCCN =         "QA76.73.J39 F52 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  contents =     "Introduction to JavaScript -- Lexical structure --
                 Data types and values -- Variables -- Expressions and
                 operators -- Statements -- Functions -- Objects --
                 Arrays -- Pattern matching with regular expressions --
                 Further topics in JavaScript -- JavaScript in Web
                 browsers -- Windows and frames -- The document object
                 -- Forms and form elements -- Scripting cookies -- The
                 Document Object Model -- Cascading style sheets and
                 dynamic HTML -- Events and event-handling --
                 Compatibility techniques -- JavaScript security --
                 Using Java with JavaScript -- Core JavaScript reference
                 -- W3C DOM reference -- Class, property, method, and
                 event handler index",
  keywords =     "JavaScript (computer program language);
                 object-oriented programming (computer science);
                 programming languages handbooks; Web servers",
}

@Book{Flanagan:2002:JEN,
  author =       "David Flanagan and Jim Farley and William Crawford",
  title =        "{Java} Enterprise in a nutshell: a desktop quick
                 reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xiii + 971",
  year =         "2002",
  ISBN =         "0-596-00152-5",
  ISBN-13 =      "978-0-596-00152-0",
  LCCN =         "QA76.73.J38 J366 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Flanagan:2002:JND,
  author =       "David Flanagan",
  title =        "{Java} in a nutshell: a desktop quick reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fourth",
  pages =        "xxi + 969",
  year =         "2002",
  ISBN =         "0-596-00283-1",
  ISBN-13 =      "978-0-596-00283-1",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Covers Java 1.4.",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science); Web servers",
}

@Book{Flanagan:2002:JPR,
  author =       "David Flanagan",
  title =        "{JavaScript} Pocket Reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "136 (est.)",
  year =         "2002",
  ISBN =         "0-596-00411-7",
  ISBN-13 =      "978-0-596-00411-8",
  LCCN =         "????",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$14.95",
  URL =          "http://www.oreilly.com/catalog/jscriptpr2",
  acknowledgement = ack-nhfb,
  publishersummary = "The JavaScript Pocket Reference, 2nd Edition
                 provides a complete overview of the core Java language
                 and client-side scripting environment, as well as
                 quick-reference material on core and client-side
                 objects, methods, and properties. The new edition has
                 been revised to cover JavaScript 1.5, and is
                 particularly useful for developers working with the
                 latest standards-compliant Web browsers, such as
                 Internet Explorer 6, Netscape 7, and Mozilla.",
}

@Article{Foxwell:2002:JX,
  author =       "H. J. Foxwell",
  title =        "{Java} and {XSLT}",
  journal =      j-MARKUP-LANG,
  volume =       "3",
  number =       "4",
  pages =        "446--447",
  day =          "10",
  month =        sep,
  year =         "2002",
  CODEN =        "MLTPFG",
  ISSN =         "1099-6621",
  ISSN-L =       "1099-6621",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Markup languages: theory \& practice",
  pagecount =    "2",
}

@Article{Freiwald:2002:JBC,
  author =       "Uwe Freiwald and J{\"o}rg R. Weimar",
  title =        "The {Java} based cellular automata simulation system
                 --- {JCASim}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "18",
  number =       "7",
  pages =        "995--1004",
  month =        aug,
  year =         "2002",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
  pagecount =    "10",
}

@Article{Fricke:2002:EJO,
  author =       "V. Fricke",
  title =        "Embedded {Java} and {OSGi} --- New Technologies in the
                 Car of the Future",
  journal =      "VDI Berichte",
  volume =       "1728",
  number =       "??",
  publisher =    "VDI",
  pages =        "41--50",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0083-5560",
  bibdate =      "Tue Jan 14 08:59:22 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Gagne:2002:JNB,
  author =       "Greg Gagne",
  title =        "To {\tt java.net} and beyond: teaching networking
                 concepts using the {Java} networking {API}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "406--410",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563497",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "This paper covers the use of Java and its API for
                 developing networking programs in an undergraduate
                 computer networks class. Through the use of TCP and UDP
                 sockets provided in the java.net package, students are
                 able to write several client-server applications such
                 as web and mail servers and a chat room. Additionally,
                 the java.rmi API provides a library for invoking
                 methods on remote objects, similar to remote procedure
                 calls. Remote method invocation (RMI) is used to write
                 a distributed version of the Producer-Consumer
                 problem.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Gilliam:2002:PJ,
  author =       "Jason Gilliam and R. Allen Wyke",
  title =        "Pure {JavaScript}",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  edition =      "Second",
  pages =        "liii + 1545",
  year =         "2002",
  ISBN =         "0-672-32141-6",
  ISBN-13 =      "978-0-672-32141-2",
  LCCN =         "QA76.73.J39 P87 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Rev. ed. of: Pure JavaScript / Jason Gilliam, c1999.",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@InProceedings{Gleim:2002:JPI,
  author =       "Urs Gleim",
  title =        "{JaRTS}: a Portable Implementation of Real-Time Core
                 Extensions for {Java}",
  crossref =     "USENIX:2002:PJV",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue Oct 15 12:37:27 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/gleim.html",
  acknowledgement = ack-nhfb,
}

@Article{Glossner:2002:JED,
  author =       "C. John Glossner and Michael Schulte and Stamatis
                 Vassiliadis",
  title =        "A {Java}-Enabled {DSP}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2268",
  pages =        "307--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:05 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2268.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2268/22680307.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2268/22680307.pdf;
                 http://mesa.ece.wisc.edu/publications/cp_2002-01.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Goncalves:2002:JMO,
  author =       "Marcos Andr{\'e} Gon{\c{c}}alves and Paul Mather and
                 Jun Wang and Ye Zhou and Ming Luo and Ryan Richardson
                 and Rao Shen and Liang Xu and Edward A. Fox",
  title =        "{Java} {MARIAN}: From an {OPAC} to a Modern Digital
                 Library System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2476",
  pages =        "194--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:37 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2476/24760194.htm;
                 http://link.springer.de/link/service/series/0558/papers/2476/24760194.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Goodman:2002:DHD,
  author =       "Danny Goodman",
  title =        "Dynamic {HTML}: The Definitive Reference: a
                 Comprehensive Resource for {HTML}, {CSS}, {DOM} \&
                 {JavaScript}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xiii + 1401",
  year =         "2002",
  ISBN =         "0-596-00316-1",
  ISBN-13 =      "978-0-596-00316-6",
  LCCN =         "QA76.76.H94 G657 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$59.95",
  URL =          "http://www.oreilly.com/catalog/dhtmlref2",
  acknowledgement = ack-nhfb,
  publishersummary = "Dynamic HTML: The Definitive Reference, 2nd
                 Edition, is an indispensable compendium for Web
                 development. The new edition has been updated to
                 include complete reference material on the latest
                 specifications, including HTML 4.01, CSS Level 2, DOM
                 Level 2, and JavaScript 1.5, as well as the latest
                 browsers, Internet Explorer 6 (Windows), Internet
                 Explorer 5.1 (Mac), Netscape Navigator 6 and 7, and
                 Mozilla 1.0.",
}

@Article{Goodsen:2002:EJT,
  author =       "John Goodsen",
  title =        "Effective {Java} Testing Strategies",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2418",
  pages =        "275--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:17 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2418.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2418/24180275.htm;
                 http://link.springer.de/link/service/series/0558/papers/2418/24180275.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gordon:2002:LHQ,
  author =       "O. E. Gordon and T. E. Malloy",
  title =        "On-line {Homework\slash} Quiz\slash Exam applet:
                 Freely available {Java} software for evaluating
                 performance on line",
  journal =      j-BEHAV-RES-METH-INSTR-COMP,
  volume =       "34",
  number =       "2",
  publisher =    "Psychonomic Society Publications",
  pages =        "241--244",
  day =          "1",
  month =        may,
  year =         "2002",
  CODEN =        "BRMCEW",
  ISSN =         "0743-3808 (print), 1532-5970 (electronic)",
  ISSN-L =       "0743-3808",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Behavior Research Methods, Instruments, and
                 Computers",
  pagecount =    "4",
}

@Book{Griffith:2002:JXJ,
  author =       "Arthur Griffith",
  title =        "{Java}, {XML}, and {JAXP}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xii + 222",
  year =         "2002",
  ISBN =         "0-471-20907-4 (PAPER/WEBSITE)",
  ISBN-13 =      "978-0-471-20907-2 (PAPER/WEBSITE)",
  LCCN =         "QA76.73.J38 G77 2002 Bar",
  bibdate =      "Fri Sep 13 06:33:58 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language)",
}

@Article{Grinder:2002:AAC,
  author =       "Michael T. Grinder",
  title =        "Animating automata: a cross-platform program for
                 teaching finite automata",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "63--67",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563364",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "The FSA Simulator is a Java program created to allow
                 computer science students to experiment with finite
                 state automata. The program is able to simulate both
                 deterministic and nondeterministic automata.
                 Pre-defined automata can be loaded from files or
                 students can create their own. Although this project is
                 similar to others, it has its own unique features. The
                 development history, features, and future plans for
                 this program are discussed.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Groce:2002:HMC,
  author =       "Alex Groce and Willem Visser",
  title =        "Heuristic Model Checking for {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2318",
  pages =        "242--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:29 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2318.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2318/23180242.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2318/23180242.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Groce:2002:MCJ,
  author =       "Alex Groce and Willem Visser",
  title =        "Model checking {Java} programs using structural
                 heuristics",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "12--21",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566175",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "We describe work introducing heuristic search into the
                 Java PathFinder model checker, which targets Java
                 bytecode. Rather than focusing on heuristics aimed at a
                 particular kind of error (such as deadlocks) we
                 describe heuristics based on a modification of
                 traditional branch coverage metrics and other structure
                 measures, such as thread inter-dependency. We present
                 experimental results showing the utility of these
                 heuristics, and argue for the usefulness of structural
                 heuristics as a class.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Grosbol:2002:CJC,
  author =       "P. Grosbol",
  title =        "A Compact {Java} Class Library for {FITS}",
  journal =      "Astronomical Society of the Pacific Conference
                 Series",
  volume =       "281",
  number =       "??",
  pages =        "136--139",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1050-3390",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Grose:2002:MXJ,
  author =       "Timothy J. Grose and Gary C. Doney and Stephen A.
                 Brodsky",
  title =        "Mastering {XMI}: Java programming with {XMI}, {XML},
                 and {UML}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xli + 434",
  year =         "2002",
  ISBN =         "0-471-38429-1",
  ISBN-13 =      "978-0-471-38429-8",
  LCCN =         "QA76.73.J38 G76 2002 Bar",
  bibdate =      "Fri Sep 13 06:33:58 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  keywords =     "document markup languages; Java (computer program
                 language)",
}

@Book{Grosso:2002:JR,
  author =       "William Grosso",
  title =        "{Java RMI}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxiii + 545",
  year =         "2002",
  ISBN =         "1-56592-452-5",
  ISBN-13 =      "978-1-56592-452-9",
  LCCN =         "QA76.73.J38 G76 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Designing and building distributed applications.",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; electronic data
                 processing -- distributed processing; Java (computer
                 program language); RMI (computer architecture)",
}

@Book{Grosso:2002:JRD,
  author =       "William Grosso",
  title =        "{Java RMI}: Designing and building distributed
                 applications",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxiii + 545",
  year =         "2002",
  ISBN =         "1-56592-452-5",
  ISBN-13 =      "978-1-56592-452-9",
  LCCN =         "QA76.73.J38 G78 2002",
  bibdate =      "Mon Apr 18 14:55:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  note =         "Designing and building distributed applications.",
  URL =          "http://www.oreilly.com/catalog/9781565924529",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; electronic data
                 processing -- distributed processing; Java (computer
                 program language); Java Remote Method Invocation (RMI);
                 RMI (computer architecture)",
  subject =      "Java (Computer program language); RMI (Computer
                 architecture); Electronic data processing; Distributed
                 processing; Application software; Development",
}

@Article{Guha:2002:DII,
  author =       "S. Guha and B. P. Le and I. Suzuki",
  title =        "Design and Implementation of an Interactive
                 {Java}-Based Tutor",
  journal =      j-SIM-SERIES,
  volume =       "34",
  number =       "1",
  pages =        "9--12",
  year =         "2002",
  CODEN =        "SMCPAX",
  ISSN =         "0735-9276",
  bibdate =      "Tue Apr 29 05:13:30 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Simulation series",
}

@Article{Gustedt:2002:TJP,
  author =       "Jens Gustedt and Ole A. M{\ae}hle and Jan Arne Telle",
  title =        "The Treewidth of {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2409",
  pages =        "86--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:18 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2409.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2409/24090086.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2409/24090086.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Haggar:2002:JQD,
  author =       "Peter Haggar",
  title =        "{Java Q\&A}: Does {Java} Guarantee Thread Safety?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "91--83",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Comments on lack of atomic-update guarantee in Java
                 for objects larger than 32 bits, such as {\tt long} and
                 {\tt double}, with sample code to exhibit the
                 failure.",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/jqa0602.txt",
  abstract =     "Additional resources include jqa0602.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Hagimont:2002:NFC,
  author =       "Daniel Hagimont and No{\"e}l {De Palma}",
  title =        "Non-functional Capability-Based Access Control in the
                 {Java} Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2425",
  pages =        "323--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:25 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2425.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2425/24250323.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2425/24250323.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Hall:2002:MSJ,
  author =       "Marty Hall",
  title =        "More Servlets and {JavaServer} Pages",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "752 (est.)",
  year =         "2002",
  ISBN =         "0-13-067614-4",
  ISBN-13 =      "978-0-13-067614-6",
  LCCN =         "QA76.73.J38 H3455 2001",
  bibdate =      "Mon Apr 29 16:51:01 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130676144.html",
  acknowledgement = ack-nhfb,
}

@Book{Halloway:2002:CDJ,
  author =       "Stuart Dabbs Halloway",
  title =        "Component development for the {Java} platform",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xx + 334",
  year =         "2002",
  ISBN =         "0-201-75306-5",
  ISBN-13 =      "978-0-201-75306-6",
  LCCN =         "QA76.73.J38 H346 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "{DevelopMentor} series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); system design",
}

@Book{Hammond:2002:PLJ,
  author =       "Michael (Michael T.) Hammond",
  title =        "Programming for linguists: {Java} technology for
                 language researchers",
  publisher =    "Blackwell Publishers",
  address =      "Malden, MA, USA",
  pages =        "xi + 209",
  year =         "2002",
  ISBN =         "0-631-23041-6, 0-631-23042-4 (paperback)",
  ISBN-13 =      "978-0-631-23041-0, 978-0-631-23042-7 (paperback)",
  LCCN =         "P98 .H34 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computational linguistics; Java (computer program
                 language)",
}

@Article{Hammouda:2002:PBJ,
  author =       "I. Hammouda and K. Koskimies",
  title =        "A Pattern-Based {J2EE} Application Development
                 Environment",
  journal =      j-NORDIC-J-COMPUT,
  volume =       "9",
  number =       "3",
  pages =        "248--??",
  month =        "Fall",
  year =         "2002",
  CODEN =        "NJCOFR",
  ISSN =         "1236-6064",
  bibdate =      "Wed Dec 24 09:24:58 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Selected papers of the Tenth Nordic Workshop on
                 Programming Environment Research (NWPER'2002), August
                 18--20, 2002.",
  acknowledgement = ack-nhfb,
  fjournal =     "Nordic Journal of Computing",
}

@Article{Haneda:2002:LJU,
  author =       "I. Haneda and T. Kiyohara and N. Shiraishi",
  title =        "{Linux\slash Java} --- Unified Platform for the
                 Next-Generation of {Zaurus}",
  journal =      "Sharp Technical Journal",
  volume =       "84",
  publisher =    "Sharp Kabushiki Gaisha Gijutsu Honbu",
  pages =        "18--21",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0285-0362",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hannemann:2002:DPI,
  author =       "Jan Hannemann and Gregor Kiczales",
  title =        "Design Pattern Implementation in {Java} and
                 {AspectJ}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "161--173",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Hapner:2002:JMS,
  author =       "Mark Hapner",
  title =        "{Java} message service {API} tutorial and reference:
                 messaging for the {J2EE} platform",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 510",
  year =         "2002",
  ISBN =         "0-201-78472-6 (paperback)",
  ISBN-13 =      "978-0-201-78472-5 (paperback)",
  LCCN =         "QA76.73.J38 J3675 2002 Stacks SEMSTAX-NBKS",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java series",
  acknowledgement = ack-nhfb,
  keywords =     "electronic mail systems; Java (computer program
                 language)",
}

@Book{Harkey:2002:WJP,
  author =       "Dan Harkey and Shan Appajodu and Mike Larkin",
  title =        "Wireless {Java} programming for enterprise
                 applications: mobile devices go corporate",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxiv + 690",
  year =         "2002",
  ISBN =         "0-471-21878-2",
  ISBN-13 =      "978-0-471-21878-4",
  LCCN =         "TK5103.2 .H369 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); wireless
                 communication systems",
}

@Book{Harold:2002:XCB,
  editor =       "Elliotte Rusty Harold",
  title =        "The {XML CD} bookshelf: {XML} in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Version 1.0.",
  pages =        "600 (est.)",
  year =         "2002",
  ISBN =         "0-596-00335-8",
  ISBN-13 =      "978-0-596-00335-7",
  LCCN =         "QA76.76",
  bibdate =      "Mon Apr 18 15:05:16 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  note =         "One CD-ROM.",
  price =        "US\$119.95",
  URL =          "http://www.oreilly.com/catalog/9780596003357;
                 http://www.oreilly.com/catalog/xmlcdbksf",
  acknowledgement = ack-nhfb,
  publishersummary = "O'Reilly's ``XML CD Bookshelf'' provides
                 convenient online access to seven indispensable XML
                 books--``XML in a Nutshell, Second Edition'', ``XSLT'',
                 ``XML Schema'', ``SAX2'', ``Java & XML, Second
                 Edition'', ``Java and XSLT'', and ``Perl & XML'' -- all
                 from your CD-ROM drive. The CD has a master index for
                 all seven books and a powerful search engine--and all
                 the text is extensively hyper-linked--so you can find
                 what you're looking for quickly.",
  remark =       "Seven essential references on CD-ROM. Bonus book has
                 title: XML in a nutshell / Elliotte Rusty Harold and W.
                 Scott Means (2nd ed.). XML in a nutshell / Elliotte
                 Rusty Harold -- XSLT / Doug Tidwell -- XML schema /
                 Eric Van der Vlist -- SAX2 / David Brownell -- Java and
                 XML / Brett McLaughlin -- Java and XSLT / Eric M. Burke
                 -- Perl and XML / Erik T. Ray. System requirements:
                 Browser software (such as Netscape Communicator,
                 Internet Explorer, or Lynx) supporting HTML 4.0 or
                 earlier versions. The search engine works with any
                 Java-enabled browser supporting Java version 1.1.2 or
                 later.",
  subject =      "XML (Document markup language); XSLT (Computer program
                 language); Java (Computer program language)",
}

@Book{Hassler:2002:JCP,
  author =       "Vesna Hassler",
  title =        "{Java} card for e-payment applications",
  publisher =    pub-ARTECH,
  address =      pub-ARTECH:adr,
  pages =        "xvii + 362",
  year =         "2002",
  ISBN =         "1-58053-291-8",
  ISBN-13 =      "978-1-58053-291-4",
  LCCN =         "QA76.73.J38 J3638 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Artech House computer security series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); smart cards",
}

@Article{Hawblitzel:2002:LFJ,
  author =       "Chris Hawblitzel and Thorsten von Eicken",
  title =        "{Luna}: a flexible {Java} protection system",
  journal =      j-OPER-SYS-REV,
  volume =       "36",
  number =       "5S",
  pages =        "391--403",
  month =        dec,
  year =         "2002",
  CODEN =        "OSRED8",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Sat Aug 26 12:49:42 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
}

@Book{Hawlitzek:2002:J,
  author =       "Florian Hawlitzek",
  title =        "{Java 2}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "382",
  year =         "2002",
  ISBN =         "0-201-75880-6",
  ISBN-13 =      "978-0-201-75880-1",
  LCCN =         "QA76.73.J38 H3913 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Addison-Wesley nitty gritty programming series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Heinle:2002:DJC,
  author =       "Nick Heinle and Bill Pena",
  title =        "Designing with {JavaScript}: creating dynamic {Web}
                 pages",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xi + 216",
  year =         "2002",
  ISBN =         "1-56592-360-X",
  ISBN-13 =      "978-1-56592-360-7",
  LCCN =         "QA76.73.J39 H45 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "O'Reilly Web studio",
  acknowledgement = ack-nhfb,
  keywords =     "Internet programming; JavaScript (computer program
                 language); Web sites -- design",
}

@Article{Hertz:2002:EFG,
  author =       "Matthew Hertz and Stephen M. Blackburn and J. Eliot B.
                 Moss and Kathryn S. McKinley and Darko Stefanovi{\'c}",
  title =        "Error-free garbage collection traces: how to cheat and
                 not get caught",
  journal =      j-SIGMETRICS,
  volume =       "30",
  number =       "1",
  pages =        "140--151",
  month =        jun,
  year =         "2002",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/511334.511352",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Thu Jun 26 11:38:22 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Programmers are writing a large and rapidly growing
                 number of programs in object-oriented languages such as
                 Java that require garbage collection (GC). To explore
                 the design and evaluation of GC algorithms quickly,
                 researchers are using simulation based on traces of
                 object allocation and lifetime behavior. The {\em brute
                 force\/} method generates perfect traces using a
                 whole-heap GC at every potential GC point in the
                 program. Because this process is prohibitively
                 expensive, researchers often use {\em granulated\/}
                 traces by collecting only periodically, e.g., every 32K
                 bytes of allocation. We extend the state of the art for
                 simulating GC algorithms in two ways. First, we present
                 a systematic methodology and results on the effects of
                 trace granularity for a variety of copying GC
                 algorithms. We show that trace granularity often
                 distorts GC performance results compared with perfect
                 traces, and that some GC algorithms are more sensitive
                 to this effect than others. Second, we introduce and
                 measure the performance of a new precise algorithm for
                 generating GC traces which is over 800 times faster
                 than the brute force method. Our algorithm, called
                 Merlin, frequently timestamps objects and later uses
                 the timestamps of dead objects to reconstruct precisely
                 when they died. It performs only periodic garbage
                 collections and achieves high accuracy at low cost,
                 eliminating any reason to use granulated traces.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
}

@Article{Hibbard:2002:JDO,
  author =       "William Hibbard and Curtis Rueden and Steve Emmerson
                 and Tom Rink and David Glowacki and Tom Whittaker and
                 Don Murray and David Fulker and John Anderson",
  title =        "{Java} Distributed Objects for Numerical Visualization
                 in {VisAD}",
  journal =      j-CACM,
  volume =       "45",
  number =       "4ve",
  pages =        "160--170",
  month =        apr,
  year =         "2002",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Tue Apr 9 14:09:15 MDT 2002",
  bibsource =    "http://www.acm.org/cacm/0402/0402toc.html;
                 http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Web only: not in printed issue.",
  URL =          "http://www.acm.org/cacm/0402/portal.acm.org/cacm/ve2002/p160-hibbard.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Book{Hightower:2002:JTE,
  author =       "Richard Hightower and Nicholas Lesiecki",
  title =        "{Java} tools for extreme programming: mastering open
                 source tools including {Ant}, {JUnit}, and {Cactus}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxvii + 516",
  year =         "2002",
  ISBN =         "0-471-20708-X",
  ISBN-13 =      "978-0-471-20708-5",
  LCCN =         "QA76.73.J38 H54 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Java open source library",
  acknowledgement = ack-nhfb,
  keywords =     "extreme programming; Java (computer program language);
                 open source software",
}

@Article{Hinke:2002:ICS,
  author =       "John Hinke",
  title =        "Implementing {C++} Servlet Containers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "52, 54--56",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/cppserv.txt",
  abstract =     "By combining the performance benefits of C++ and the
                 power of the Java servlet API, you can more easily
                 create robust web applications. Additional resources
                 include cppserv.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Hitchens:2002:JN,
  author =       "Ron Hitchens",
  title =        "{Java NIO}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvii + 282",
  year =         "2002",
  ISBN =         "0-596-00288-2",
  ISBN-13 =      "978-0-596-00288-6",
  LCCN =         "QA76.73.J38 H58 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$34.95",
  URL =          "http://safari.oreilly.com/0596002882;
                 http://www.oreilly.com/catalog/javanio",
  acknowledgement = ack-nhfb,
  keywords =     "computer input-output equipment; Java (computer
                 program language); object-oriented programming
                 (computer science)",
  publishersummary = "Java NIO explores the new I/O capabilities of
                 version 1.4 in detail and shows you how to put these
                 features to work to greatly improve the efficiency of
                 the Java code you write. This compact volume examines
                 the typical challenges that Java programmers face with
                 I/O and shows you how to take advantage of the
                 capabilities of the new I/O features. You'll learn how
                 to put these tools to work using examples of common,
                 real-world I/O problems and see how the new features
                 have a direct impact on responsiveness, scalability,
                 and reliability. Because the NIO APIs supplement the
                 I/O features of version 1.3, rather than replace them,
                 you'll also learn when to use new APIs and when the
                 older 1.3 I/O APIs are better suited to your particular
                 application.",
}

@Book{Horstmann:2002:BJ,
  author =       "Cay S. Horstmann",
  title =        "Big {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xviii + 1202",
  year =         "2002",
  ISBN =         "0-471-40248-6 (cloth)",
  ISBN-13 =      "978-0-471-40248-0 (cloth)",
  LCCN =         "QA76.73.J38 H674 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.loc.gov/catdir/toc/onix06/2001045305.html",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Horstmann:2002:BJP,
  author =       "Cay S. Horstmann",
  title =        "Big {Java}: programming and practice",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "????",
  year =         "2002",
  ISBN =         "0-471-40248-6 (cloth)",
  ISBN-13 =      "978-0-471-40248-0 (cloth)",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Horstmann:2002:CJV,
  author =       "Cay S. Horstmann and Gary Cornell",
  title =        "Core {Java 2}, Volume {II}: Advanced Features",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  edition =      "Fifth",
  pages =        "1232 (est.)",
  year =         "2002",
  ISBN =         "0-13-092738-4",
  ISBN-13 =      "978-0-13-092738-5",
  LCCN =         "????",
  bibdate =      "Tue Mar 12 07:58:16 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130927384.html;
                 http://www.sun.com/books/catalog/horstmann9/index.html",
  acknowledgement = ack-nhfb,
}

@Article{Hou:2002:PEJ,
  author =       "Y. Hou and Y. Sun",
  title =        "Partial Evaluation of {Java} Byte Code Program",
  journal =      "Journal --- Shanghai Jiaotong University",
  volume =       "36",
  number =       "9",
  publisher =    "Shanghai Jiaotong University Press",
  pages =        "1301--1303",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1006-2467",
  bibdate =      "Sat Dec 7 10:05:42 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hovemeyer:2002:AIJ,
  author =       "David Hovemeyer and William Pugh and Jaime Spacco",
  title =        "Atomic Instructions in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2374",
  pages =        "133--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:57 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2374.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2374/23740133.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2374/23740133.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Huang:2002:JCA,
  author =       "B. Huang and H. Lin",
  title =        "A {Java\slash CGI} approach to developing a geographic
                 virtual reality toolkit on the {Internet}",
  journal =      j-COMP-GEOSCI,
  volume =       "28",
  number =       "1",
  pages =        "13--19",
  month =        feb,
  year =         "2002",
  CODEN =        "CGEODT, CGOSDN",
  ISSN =         "0098-3004 (print), 1873-7803 (electronic)",
  ISSN-L =       "0098-3004",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Geosciences",
  pagecount =    "7",
}

@Book{Hubert:2002:CAB,
  author =       "Richard Hubert",
  title =        "Convergent architecture: building model-driven {J2EE}
                 systems with {UML}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxv + 276",
  year =         "2002",
  ISBN =         "0-471-10560-0 (paperback)",
  ISBN-13 =      "978-0-471-10560-2 (paperback)",
  LCCN =         "QA76.9.A73 H8 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.convergentarchitecture.com",
  acknowledgement = ack-nhfb,
  keywords =     "computer architecture; information technology; system
                 design",
}

@Article{Hughes:2002:HMT,
  author =       "Elliott Hughes",
  title =        "How many trivial getter methods does {Java} have?",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "19--24",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Huh:2002:DJB,
  author =       "Moon Yul Huh and Kwangryeol Song",
  title =        "{DAVIS}: A {Java}-based Data Visualization System",
  journal =      j-COMP-STAT,
  volume =       "17",
  number =       "3",
  pages =        "411--423",
  month =        sep,
  year =         "2002",
  CODEN =        "CSTAEB",
  DOI =          "https://doi.org/10.1007/s001800200116",
  ISSN =         "0943-4062 (print), 1613-9658 (electronic)",
  ISSN-L =       "0943-4062",
  bibdate =      "Thu Jun 18 16:19:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compstat.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1007/s001800200116",
  acknowledgement = ack-nhfb,
  ajournal =     "Comp. Stat.",
  fjournal =     "Computational Statistics",
  journal-URL =  "http://link.springer.com/journal/180",
}

@Article{Huisman:2002:VJA,
  author =       "Marieke Huisman",
  title =        "Verification of {Java}'s {AbstractCollection} Class:
                 {A} Case Study",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2386",
  pages =        "175--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:03 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2386.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2386/23860175.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2386/23860175.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Hummel:2002:UVB,
  author =       "Joe Hummel and Jean Mehta",
  title =        "Using {Visual Basic} in the {CS} curriculum",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "283--284",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563451",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "Visual Basic is currently the most popular programming
                 language in the United States. And yet, it is rarely
                 found in traditional Computer Science (and related)
                 curriculums. Perhaps this is due to the fact that VB is
                 not truly object-oriented, but object-based. Or perhaps
                 because VB is not an open language, instead supported
                 only by tools from Microsoft Corporation and available
                 only on the Windows platform. Or perhaps it is simply
                 Microsoft itself, with its monopolistic tendencies.
                 This panel will argue that Visual Basic --- while it
                 should not replace the use of more traditional
                 languages such as C++, Java, or Scheme --- fulfills an
                 important role in modern CS and related curriculums.
                 The panelists will highlight a few of the cases in
                 which they have found VB to be exceedingly useful, and
                 discuss their rationale for choosing VB over other
                 languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Hunt:2002:JOO,
  author =       "John Hunt",
  title =        "{Java} and object orientation: an introduction",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "xxvii + 484",
  year =         "2002",
  ISBN =         "1-85233-569-6, 3-540-76201-9",
  ISBN-13 =      "978-1-85233-569-4, 978-3-540-76201-0",
  LCCN =         "QA76.73.J38 H86 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Ibbett:2002:WVC,
  author =       "Roland N. Ibbett",
  title =        "{WWW} visualisation of computer architecture
                 simulations",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "247--247",
  month =        sep,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/637610.544516",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:56 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Simulation models of a number of computer
                 architectures have been created using HASE, a
                 Hierarchical Computer Architecture design and
                 Simulation Environment,and automatically translated
                 into WebHASE and JavaHASE applets which can be accessed
                 via the WWW. These applets are being used both as
                 visual aids and or student exercises.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ivancsy:2002:HWJ,
  author =       "R. Ivancsy",
  title =        "How to Write {Java} Applet?",
  journal =      "Elektrotechnika",
  volume =       "95",
  number =       "10",
  publisher =    "Maauar Elektrotechnikai Equesiilet Lapja",
  pages =        "300--302",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0367-0708",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@InProceedings{Jacob:2002:CAP,
  author =       "Matthias Jacob and Keith Randall",
  title =        "Cross-Architectural Performance Portability of a {Java
                 Virtual Machine} Implementation",
  crossref =     "USENIX:2002:PJV",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue Oct 15 12:37:27 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/jacob.html",
  acknowledgement = ack-nhfb,
}

@Article{Jacobs:2002:DSD,
  author =       "P. H. M. Jacobs and N. A. Lang and A. Verbraeck",
  title =        "{D-SOL}: a Distributed {Java} based Discrete Event
                 Simulation Architecture",
  journal =      "Winter Simulation Conference",
  volume =       "1",
  number =       "??",
  pages =        "793--800",
  year =         "2002",
  CODEN =        "WSCPDK",
  ISSN =         "0743-1902 (print), 2160-9276 (electronic)",
  bibdate =      "Tue Feb 4 05:46:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Jenkins:2002:GJP,
  author =       "Stephen B. Jenkins",
  title =        "Generating {JavaScript} from {Perl}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "59--63",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/jscript.txt",
  abstract =     "The techniques Stephen presents here help you provide
                 users with a better UI and reduce the load on web
                 servers. Additional resources include jscript.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Jennings:2002:JQ,
  author =       "Mike Jennings",
  title =        "{Java Q\&A}: How Do {I} Use the {Java} Plug-In Tool?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "93--94",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/jqa0102.zip",
  abstract =     "Sun Microsystems' freely available Java plug-in tool
                 works with operating system/browser combinations
                 ranging from Netscape Navigator and IE on Windows to
                 Netscape Navigator on Linux. Mike shows how to use the
                 tool to deploy Java 1.3-enabled applets. Additional
                 resources include {\tt jqa0102.zip} (source).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Manual{Jibson:2002:JPU,
  author =       "Randall W. Jibson and Matthew W. Jibson",
  title =        "{Java} programs for using Newmark's method to model
                 slope performance during earthquakes",
  type =         "Open-file report",
  number =       "02-201",
  institution =  "U.S. Geological Survey",
  address =      "Denver, CO, USA",
  edition =      "Version 1.0",
  year =         "2002",
  ISBN =         "0-607-99026-0",
  ISBN-13 =      "978-0-607-99026-3",
  LCCN =         "QE539.2.S34 J53 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  annote =       "Supersedes Open-file report 01-116. Shipping list
                 number 2002-0030-E. Contains strong-motion data files
                 required to conduct sliding-block analyses on slopes
                 that are potentially susceptible to seismically
                 triggered landslides.",
  keywords =     "CD-ROMs; earthquake hazard analysis -- computer
                 programs; Javaspaces technology; landslides --
                 mathematical models; slopes (soil mechanics) --
                 mathematical models",
}

@Article{Jipping:2002:UJD,
  author =       "Michael J. Jipping and Steve Marlowe and Alexander
                 Sherstov",
  title =        "Using {Java} to design and test hardware circuits over
                 a classroom network",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "162--166",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563401",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "A crucial part of the Computer Organization course is
                 the design and analysis of hardware circuits. To teach
                 this part of the course efficiently and to involve the
                 entire class in the design of circuits, we have
                 designed the SCAN system. Starting with a textual
                 specification of a circuit, SCAN generates Java classes
                 that can be used to simulate the way the circuit works.
                 These circuits can be simulated locally or can join
                 with other circuits to simulate larger machine function
                 over a network. This paper describes the SCAN system,
                 the Java classes it generates, and the way we use this
                 in the Computer Organization class.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Joisha:2002:EAJ,
  author =       "Pramod G. Joisha and Samuel P. Midkiff and Mauricio J.
                 Serrano and Manish Gupta",
  title =        "Efficiently Adapting {Java} Binaries in Limited Memory
                 Contexts",
  journal =      j-INT-J-PARALLEL-PROG,
  volume =       "30",
  number =       "4",
  pages =        "257--289",
  month =        aug,
  year =         "2002",
  CODEN =        "IJPPE5",
  DOI =          "https://doi.org/10.1023/A:1019851929010",
  ISSN =         "0885-7458 (print), 1573-7640 (electronic)",
  ISSN-L =       "0885-7458",
  bibdate =      "Wed Jul 6 16:40:00 MDT 2005",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=30&issue=4;
                 http://www.kluweronline.com/issn/0885-7458;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ipsapp009.lwwonline.com/content/getfile/4773/28/3/abstract.htm;
                 http://ipsapp009.lwwonline.com/content/getfile/4773/28/3/fulltext.pdf;
                 http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=30&issue=4&spage=257",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Parallel Programming",
  journal-URL =  "http://link.springer.com/journal/10766",
}

@Article{Jones:2002:JMA,
  author =       "M. Tim Jones",
  title =        "{Java} Mobile Agents and the {Aglets SDK}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "42, 44, 46--48",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/aglet.txt",
  abstract =     "Tim uses the Aglets framework to develop Java mobile
                 agents on Linux. The mobile agent he presents migrates
                 to a number of hosts and performs data collection along
                 the way. Additional resources include {\tt aglet.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Jorelid:2002:JFT,
  author =       "Lennart Jorelid",
  title =        "{J2EE FrontEnd} technologies: a programmer's guide to
                 servlets, {JavaServer} pages, and {Enterprise
                 JavaBeans}",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xiii + 1112",
  year =         "2002",
  ISBN =         "1-893115-96-8",
  ISBN-13 =      "978-1-893115-96-5",
  LCCN =         "TK5105.8885.J38 J67 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Books for professionals by professionals",
  acknowledgement = ack-nhfb,
  keywords =     "JavaBeans; JavaServer pages; servlets; Web sites --
                 design",
}

@Article{Jung:2002:DIS,
  author =       "Jun-Young Jung and Min-Soo Jung",
  title =        "Design and Implementation of Small-Sized {Java Virtual
                 Machine} on {Java} Platform {Jini}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2343",
  pages =        "571--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:12 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2343.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2343/23430571.htm;
                 http://link.springer.de/link/service/series/0558/papers/2343/23430571.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Kamin:2002:ICS,
  author =       "Samuel N. Kamin and M. Dennis Mickunas and Edward M.
                 Reingold",
  title =        "An introduction to computer science using {Java}",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  edition =      "Second",
  pages =        "xxix + 753",
  year =         "2002",
  ISBN =         "0-07-232305-1",
  ISBN-13 =      "978-0-07-232305-4",
  LCCN =         "QA76 .K262 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer science; computer science textbooks; Java
                 (computer program language)",
}

@Article{Kanalakis:2002:WSJ,
  author =       "John M. {Kanalakis, Jr.}",
  title =        "{Web} Services and {Java} Server Pages",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "28, 30--34",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/wsjsp.txt;
                 http://www.ddj.com/ftp/2002/2002_01/wsjsp.zip",
  abstract =     "Web services are collections of functions bundled
                 together to deliver specific functionality to
                 Internet-enabled applications. John presents a portal
                 that shows how web applications can tie together
                 distributed web services to offer a single solution.
                 Additional resources include {\tt wsjsp.txt} (listings)
                 and {\tt wsjsp.zip} (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Kawachiya:2002:LRJ,
  author =       "Kiyokuni Kawachiya and Akira Koseki and Tamiya
                 Onodera",
  title =        "Lock Reservation: {Java} Locks Can Mostly Do Without
                 Atomic Operations",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "130--141",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Kientzle:2002:JQH,
  author =       "Tim Kientzle",
  title =        "{Java Q\&A}: How Can {I} Make My {Java} Servlets
                 Faster?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "97--99",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/jqa0402.txt;
                 http://www.ddj.com/ftp/2002/2002_04/jqa0402.zip",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Kilgore:2002:OOS,
  author =       "R. A. Kilgore",
  title =        "Object-Oriented Simulation with {Java}, {Silk} and
                 {OpenSML1.Net} Languages",
  journal =      "Winter Simulation Conference",
  volume =       "1",
  number =       "??",
  pages =        "227--233",
  year =         "2002",
  CODEN =        "WSCPDK",
  ISSN =         "0743-1902 (print), 2160-9276 (electronic)",
  bibdate =      "Tue Feb 4 05:46:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@MastersThesis{Kim:2002:DIM,
  author =       "Jong-Hak Kim",
  title =        "Development of intelligent milling machine using
                 {Java} tool: research project",
  type =         "Master of Science, Plan II",
  school =       "Department of Mechanical Engineering, University of
                 California, Berkeley",
  address =      "Berkeley, CA, USA",
  year =         "2002",
  LCCN =         "T7.49.2002 K565",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2002:SOC,
  author =       "Do-Woo Kim and Min-Soo Jung",
  title =        "A Study on the Optimization of Class File for {Java}
                 Card Platform",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2343",
  pages =        "563--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:12 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2343.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2343/23430563.htm;
                 http://link.springer.de/link/service/series/0558/papers/2343/23430563.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kniesel:2002:CCC,
  author =       "G{\"u}nter Kniesel and Michael Austermann",
  title =        "{CC4J} --- Code Coverage for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2370",
  pages =        "155--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:55 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2370.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2370/23700155.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2370/23700155.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Knoernschild:2002:JDO,
  author =       "Kirk Knoernschild",
  title =        "{Java} design: objects, {UML}, and process",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiv + 277",
  year =         "2002",
  ISBN =         "0-201-75044-9 (paperback)",
  ISBN-13 =      "978-0-201-75044-7 (paperback)",
  LCCN =         "QA76.73.J38 K57 2002 Bar",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); UML (computer
                 science)",
}

@Article{Ko:2002:CBA,
  author =       "Ren-Song Ko and Matt W. Mutka",
  title =        "A Component-Based Approach for Adaptive Soft Real-Time
                 {Java} within Heterogeneous Environments",
  journal =      j-PARALLEL-DIST-COMP-PRACT,
  volume =       "5",
  number =       "1",
  pages =        "89--104",
  month =        mar,
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1097-2803",
  bibdate =      "Thu Sep 2 12:08:56 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/5/1.toc",
  acknowledgement = ack-nhfb,
  fjournal =     "PDCP: Parallel and Distributed Computing Practices",
}

@Article{Komodromos:2002:UJD,
  author =       "P. I. Komodromos and J. R. Williams",
  title =        "Utilization of {Java} and Database Technology in the
                 Development of a Combined Discrete and Finite Element
                 Multibody Dynamics Simulator",
  journal =      "Geotechnical Special Publication",
  volume =       "117",
  pages =        "118--124",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0895-0563",
  bibdate =      "Tue Feb 25 06:39:00 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Koved:2002:ARA,
  author =       "Larry Koved and Marco Pistoia and Aaron Kershenbaum",
  title =        "Access Rights Analysis for {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "359--372",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Kozen:2002:ECI,
  author =       "Dexter Kozen and Matt Stillerman",
  title =        "Eager Class Initialization for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2469",
  pages =        "71--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:34 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2469.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2469/24690071.htm;
                 http://link.springer.de/link/service/series/0558/papers/2469/24690071.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kumar:2002:DPP,
  author =       "R. V. Kumar and B. L. Narayanan and R. Govindarajan",
  title =        "Dynamic Path Profile Aided Recompilation in a {Java}
                 Just-In-Time Compiler",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2552",
  pages =        "495--505",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Feb 11 05:32:25 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Kumaran:2002:JTO,
  author =       "S. Ilango Kumaran",
  title =        "{Jini} Technology: An Overview",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xix + 358",
  year =         "2002",
  ISBN =         "0-13-033385-9",
  ISBN-13 =      "978-0-13-033385-8",
  LCCN =         "QA76.9.D5 K83 2002",
  bibdate =      "Tue Mar 12 07:52:38 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$34.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130333859.html",
  acknowledgement = ack-nhfb,
}

@InProceedings{Kunkle:2002:WBI,
  author =       "Wanda Kunkle",
  title =        "A {Web}-Based Integral Evaluator: a Demonstration of
                 the Successful Integration of {WebEQ}, {Maple}, and
                 {Java}",
  crossref =     "Anonymous:2002:MIC",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue May 14 15:44:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.mathmlconference.org/2002/presentations.html",
  acknowledgement = ack-nhfb,
}

@Article{Kurtz:2002:EIE,
  author =       "Barry L. Kurtz and Dee Parks and Eric Nicholson",
  title =        "Effective {Internet} education: a progress report",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "312--316",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563462",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "Our Internet-based project is developing two courses
                 to demonstrate the viability of a virtual classroom
                 environment where the on-line student can interact both
                 with the instructor and ``virtual classmates.'' Other
                 course components include a hyperlinked textbook and
                 laboratory experiences that stress learning-by-doing.
                 We use Java on both the server side and the client side
                 to support the classroom interaction and the laboratory
                 activities. This paper illustrates some of the
                 particular software technologies used. We discuss
                 problems encountered, solutions found, and the ongoing
                 development of materials.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kurzyniec:2002:MBT,
  author =       "D. Kurzyniec and V. Sunderam",
  title =        "The {MICROBE} Benchmarking Toolkit for {Java}: a
                 Component-Based Approach",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2330",
  pages =        "709--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:35 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2330.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2330/23300709.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2330/23300709.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Lakshman:2002:OJD,
  author =       "Bulusu Lakshman",
  title =        "{Oracle} and {Java} development",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xv + 438",
  year =         "2002",
  ISBN =         "0-672-32117-3",
  ISBN-13 =      "978-0-672-32117-7",
  LCCN =         "QA76.9.D3 L35 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; Java (computer
                 program language); Oracle (computer file)",
}

@Article{Laneve:2002:TSJ,
  author =       "Cosimo Laneve",
  title =        "A type system for {JVM} threads",
  journal =      j-THEOR-COMP-SCI,
  volume =       "290",
  number =       "1",
  pages =        "741--778",
  month =        oct,
  year =         "2002",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Wed Nov 20 18:15:29 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Book{Laszlo:2002:OOP,
  author =       "Michael Jay Laszlo",
  title =        "Object-oriented programming featuring graphical
                 applications in {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xii + 468",
  year =         "2002",
  ISBN =         "0-201-72627-0 (paperback)",
  ISBN-13 =      "978-0-201-72627-5 (paperback)",
  LCCN =         "QA76.73.C153 L396 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Lawton:2002:MJM,
  author =       "George Lawton",
  title =        "Moving {Java} into Mobile Phones",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "6",
  pages =        "17--20",
  month =        jun,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/06/r6017.htm;
                 http://csdl.computer.org/dl/mags/co/2002/06/r6017.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Book{Lea:2002:HEE,
  author =       "Rodger Lea",
  title =        "{HAVi}: example by example: {Java} programming for
                 home entertainment devices",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxix + 451",
  year =         "2002",
  ISBN =         "0-13-060035-0",
  ISBN-13 =      "978-0-13-060035-6",
  LCCN =         "TK7881.3 .H39 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Prentice Hall PTR example by example series",
  acknowledgement = ack-nhfb,
  keywords =     "home entertainment systems; Java (computer program
                 language)",
}

@Article{League:2002:TPC,
  author =       "Christopher League and Zhong Shao and Valery
                 Trifonov",
  title =        "Type-preserving compilation of {Featherweight Java}",
  journal =      j-TOPLAS,
  volume =       "24",
  number =       "2",
  pages =        "112--152",
  month =        mar,
  year =         "2002",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Thu Aug 1 06:48:02 MDT 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Leavens:2002:FTJ,
  author =       "Gary T. Leavens and Sophia Drossopoulou and Susan
                 Eisenbach and Arnd Poetzsch-Heffter and Erik Poll",
  title =        "Formal Techniques for {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2323",
  pages =        "30--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:31 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2323.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2323/23230030.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2323/23230030.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{LEcuyer:2002:SFS,
  author =       "P. L'Ecuyer and L. Meliani and J. Vaucher",
  title =        "{SSJ}: a Framework for Stochastic Simulation in
                 {Java}",
  journal =      "Winter Simulation Conference",
  volume =       "1",
  number =       "??",
  pages =        "234--242",
  year =         "2002",
  CODEN =        "WSCPDK",
  ISSN =         "0743-1902 (print), 2160-9276 (electronic)",
  bibdate =      "Tue Feb 4 05:46:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2002:AOI,
  author =       "Ji-Hyun Lee and Cheol-Jung Yoo and Ok-Bae Chang",
  title =        "Analysis of object interaction during the enterprise
                 {JavaBeans} lifecycle using formal specification
                 technique",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "82--92",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Lee:2002:POO,
  author =       "Richard C. Lee and William M. Tepfenhart",
  title =        "Practical object-oriented development with {UML} and
                 {Java}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxv + 468",
  year =         "2002",
  ISBN =         "0-13-067238-6",
  ISBN-13 =      "978-0-13-067238-4",
  LCCN =         "QA76.64 .L448 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer software -- development; Java (computer
                 program language); object-oriented programming
                 (computer science); UML (computer science)",
}

@Article{Lefranc:2002:CPA,
  author =       "S. Lefranc and D. Naccache",
  title =        "{Cut-\&-Paste} Attacks with {JAVA}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2587",
  pages =        "1--15",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lehrbaum:2002:FESb,
  author =       "Rick Lehrbaum",
  title =        "Focus on Embedded Systems: Embedded {Linux} and {Java}
                 --- Wave of the Future?",
  journal =      j-LINUX-J,
  volume =       "94",
  pages =        "54, 56",
  month =        feb,
  year =         "2002",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Fri Feb 8 16:59:02 MST 2002",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue94/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Leroy:2002:BVJ,
  author =       "Xavier Leroy",
  title =        "Bytecode verification on {Java} smart cards",
  journal =      j-SPE,
  volume =       "32",
  number =       "4",
  pages =        "319--340",
  day =          "10",
  month =        apr,
  year =         "2002",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.438",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Mar 23 17:30:52 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/91016433/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=91016433&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Lex:2002:EVN,
  author =       "M. Lex",
  title =        "{Einf{\"u}hrung, Vorteil und N{\"u}tzen eines
                 JAVA-basierten Betriebsmanagementsystems am Beispiel
                 einer M{\"u}llverbrennungsanlage}. ({German})
                 {Introduction, advantages, and use of a Java-based
                 business management system with example of a waste
                 incinerator}",
  journal =      "VDI Berichte",
  volume =       "1711",
  publisher =    "VDI",
  pages =        "23--32",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0083-5560",
  bibdate =      "Tue Dec 17 05:55:18 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Article{Li:2002:AIF,
  author =       "Bixin Li",
  title =        "Analyzing information-flow in {Java} program based on
                 slicing technique",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "5",
  pages =        "98--103",
  month =        sep,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/571681.571683",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:22 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Traditional information-flow analysis is mainly based
                 on dataflow and control-flow analysis. In
                 object-oriented program, because of pointer aliasing,
                 inheritance, and polymorphism, information-flow
                 analysis become very complicated. Especially, it is
                 difficult to rely only on normal data and control-flow
                 analysis techniques. some new approaches are required
                 to analyze the information-flow between components in
                 object-oriented program. In this paper, object-oriented
                 program slicing technique is introduced. By this
                 technique, the amount of information-flow, the width of
                 information-flow and correlation coefficient between
                 components can be computed. Some applications of the
                 information-flow are also discussed and analyzed in
                 this paper.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Li:2002:RBA,
  author =       "T. Li and R. Bhargava and L. K. John",
  title =        "Rehashable {BTB}: An Adaptive Branch Target Buffer to
                 Improve the Target Predictability of {Java} Code",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2552",
  pages =        "597--608",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Feb 11 05:32:25 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Liang:2002:EPS,
  author =       "Donglin Liang and Maikel Pennings and Mary Jean
                 Harrold",
  title =        "Evaluating the precision of static reference analysis
                 using profiling",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "22--32",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566176",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Program analyses and optimizations of Java programs
                 require reference information that determines the
                 instances that may be accessed through dereferences.
                 Reference information can be computed using reference
                 analysis. This paper presents a set of studies that
                 evaluate the precision of two existing approaches for
                 identifying instances and one approach for computing
                 reference information in a reference analysis. The
                 studies use dynamic reference information collected
                 during run-time as a lower bound approximation to the
                 precise reference information. The studies measure the
                 precision of an existing approach by comparing the
                 information computed using the approach with the lower
                 bound approximation. The paper also presents case
                 studies that attempt to identify the cases under which
                 an existing approach is not effective. The presented
                 studies provide information that may guide the usage of
                 existing reference-analysis techniques and the
                 development of new reference analysis techniques.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Liang:2002:IJP,
  author =       "Y. Daniel Liang",
  title =        "Introduction to {Java} programming with {Jbuilder 4}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxxii + 939",
  year =         "2002",
  ISBN =         "0-13-033364-6",
  ISBN-13 =      "978-0-13-033364-3",
  LCCN =         "QA76.73.J38 L5313 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); Jbuilder",
}

@Article{Lind:2002:RPH,
  author =       "L. Lind and E. Sundvall and D. Karlsson and N.
                 Shahsavar and H. Ahlfeldt",
  title =        "Requirements and prototyping of a home health care
                 application based on emerging {Java} technology",
  journal =      "International Journal of Medical Informatics",
  volume =       "68",
  number =       "1--3",
  pages =        "129--139",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1386-5056",
  bibdate =      "Tue Dec 24 07:09:37 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2002:JIA,
  author =       "J. Liu and A. C. Myers",
  title =        "{JMatch}: Iterable Abstract Pattern Matching for
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2562",
  pages =        "110--127",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Feb 11 05:32:25 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lobosco:2002:JHP,
  author =       "M. Lobosco and C. Amorim and O. Loques",
  title =        "{Java} for high-performance network-based computing: a
                 survey",
  journal =      j-CCPE,
  volume =       "14",
  number =       "1",
  pages =        "1--31",
  month =        jan,
  year =         "2002",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.614",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Thu Apr 11 06:53:47 MDT 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/91014114/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=91014114&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Long:2002:BSM,
  author =       "Carol A. Long and V. V. S. Raveendra and Tope
                 Omitola",
  title =        "Bookshelf: Software Manufacturing Manager's Handbook;
                 Inside {Java 2} Platform Security; So You Want to Build
                 an Operating System",
  journal =      j-IEEE-SOFTWARE,
  volume =       "19",
  number =       "4",
  pages =        "131--133",
  month =        jul # "\slash " # aug,
  year =         "2002",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2002.1020300",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Fri Oct 24 16:31:55 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Review of {\em Software Product Lines: Practices and
                 Patterns\/} by Paul Clements and Linda Northrop, {\em
                 Inside Java 2 Platform Security: Architecture, API
                 Design and Implementation\/} by Li Gong, and {\em
                 Applied Operating Systems Concepts\/} by Avi
                 Silberschatz, Peter B. Galvin, Abraham Silberschatz,
                 and Greg Gagne.",
  URL =          "http://dlib.computer.org/so/books/so2002/pdf/s4131.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Lorenzen:2002:CCW,
  author =       "T. Lorenzen and W. Heilman",
  title =        "{CS1} and {CS2}: Write Computer Games in {Java}!",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "4",
  pages =        "99--100",
  year =         "2002",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Jun 17 06:26:38 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Loton:2002:WCM,
  author =       "Tony Loton",
  title =        "{Web} content mining with {Java}: techniques for
                 exploiting the {World Wide Web}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xviii + 305",
  year =         "2002",
  ISBN =         "0-470-84311-X",
  ISBN-13 =      "978-0-470-84311-6",
  LCCN =         "QA76.9.D343 L68 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data mining; Java (computer program language)",
}

@Book{Loy:2002:JS,
  author =       "Marc Loy and Robert Eckstein and David Wood and James
                 E. lliott and Brian Cole",
  title =        "{Java} Swing",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxiv + 1252",
  year =         "2002",
  ISBN =         "0-596-00408-7",
  ISBN-13 =      "978-0-596-00408-8",
  LCCN =         "QA76.73.J38 J3855 2003",
  bibdate =      "Sat Jul 17 07:27:35 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$54.95",
  URL =          "http://www.oreilly.com/catalog/jswing2",
  acknowledgement = ack-nhfb,
  publishersummary = "This second edition of Java Swing thoroughly
                 covers all the features available in Java 2 SDK 1.3 and
                 1.4. More than simply a reference, this new edition
                 takes a practical approach. It is a book by developers
                 for developers, with hundreds of useful examples, from
                 beginning level to advanced, covering every component
                 available in Swing.\par

                 Whether you're a seasoned Java developer or just trying
                 to find out what Java can do, you'll find Java Swing,
                 2nd edition an indispensable guide.",
}

@Article{Lutz:2002:BAN,
  author =       "Michael J. Lutz",
  title =        "Bookshelf: Architecture by the Numbers [{Computer
                 Architecture: A Quantitative Approach}]; Half a {Java}
                 Tone [{Algorithms in Java}]; Embedded Systems
                 Simulation [{Embedded Systems and Computer
                 Architecture}]; Brand-Name Multicasting [{Interdomain
                 Multicast Routing: Practical Juniper Networks and Cisco
                 Systems Solutions}]",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "11",
  pages =        "77--77",
  month =        nov,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:36 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/11/ry077.htm;
                 http://csdl.computer.org/dl/mags/co/2002/11/ry077.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Lykins:2002:SYB,
  author =       "D. Lykins",
  title =        "Should You Bet Your Business on {Java} or {.NET}?",
  journal =      "E Business Advisor",
  volume =       "20",
  number =       "1",
  publisher =    "Advisor Publications",
  pages =        "18--24",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1098-8912",
  bibdate =      "Tue Nov 26 06:24:58 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Lyon:2002:SMI,
  author =       "Douglas Lyon",
  title =        "Simulating multiple inheritance in {Java}",
  journal =      j-CCPE,
  volume =       "14",
  number =       "12",
  pages =        "987--1008",
  month =        oct,
  year =         "2002",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.703",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat Nov 9 12:24:20 MST 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/98516164/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=98516164{\&}PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Book{Mahmoud:2002:LWJ,
  author =       "Qusay H. Mahmoud",
  title =        "Learning Wireless {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 245",
  year =         "2002",
  ISBN =         "0-596-00243-2",
  ISBN-13 =      "978-0-596-00243-5",
  LCCN =         "QA76.73.J38 M323 2002; TK5103.2 .M33 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  note =         "Help for new J2ME developers. Covers Motorola and Palm
                 hardware.",
  price =        "US\$34.95",
  URL =          "http://safari.oreilly.com/0596002432;
                 http://www.oreilly.com/catalog/wirelessjava",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); wireless
                 communication systems",
  publishersummary = "Learning Wireless Java is for Java developers who
                 want to create applications for the Micro Edition
                 audience using the Connected, Limited Device
                 Configuration and the Mobile Information Device Profile
                 (MIDP). These APIs specifically for devices such as
                 mobile phones and pagers, allowing programmers to
                 create MIDlet applications. This book offers a solid
                 introduction to J2ME and MIDP, including the
                 javax.microedition classes, as well as classes
                 surrounding the features of the various platforms that
                 the J2ME supports.",
}

@Article{Marques:2002:BSJ,
  author =       "Paulo Marques",
  title =        "Building Secure {Java RMI} Servers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "36, 38, 40--42, 44",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211d/",
  abstract =     "Paulo uses the proxy pattern along with the Java
                 Authentication and Authorization Service API to build
                 secure Java Remote Method Invocation servers that allow
                 only properly authenticated users access to systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Masala:2002:JBG,
  author =       "S. Masala and D. Chan and H. Lu and R. Chalaturnyk",
  title =        "A {Java}-Based Graphical User Interface for a {$2$-D}
                 Discrete Element Program",
  journal =      "Geotechnical Special Publication",
  volume =       "117",
  pages =        "125--132",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0895-0563",
  bibdate =      "Tue Feb 25 06:39:00 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Maurer:2002:CPL,
  author =       "W. Douglas Maurer",
  title =        "The comparative programming languages course: a new
                 chain of development",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "336--340",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563472",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "The programming language concepts which ought to be
                 presented in the comparative programming languages
                 course (either graduate or undergraduate) are all
                 covered by choosing C++, Java, Perl, and Python as the
                 languages to be compared. These include dynamic typing,
                 object orientation, multiple inheritance, interpreters
                 and compilers, keyword and default parameters,
                 generics, operator overloading, complex numbers,
                 universal hierarchies, exceptions, and garbage
                 collection. We describe such a course, which we have
                 given.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Mazumdar:2002:JBC,
  author =       "S. Mazumdar and J. F. Leathrum and O. R. Gonzalez",
  title =        "A {JAVA} Based Circuit Diagram Tool for An Intelligent
                 Questioning and Problem Solving System",
  journal =      j-SIM-SERIES,
  volume =       "34",
  number =       "1",
  pages =        "3--8",
  year =         "2002",
  CODEN =        "SMCPAX",
  ISSN =         "0735-9276",
  bibdate =      "Tue Apr 29 05:13:30 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Simulation series",
}

@Book{McLaughlin:2002:BJE,
  author =       "Brett McLaughlin",
  title =        "Building {Java} enterprise applications: vol. 1:
                 architecture",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 302",
  year =         "2002",
  ISBN =         "0-596-00123-1",
  ISBN-13 =      "978-0-596-00123-0",
  LCCN =         "QA76.73.J38 M38 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Designing with EJBs, databases, and directory
                 servers.",
  acknowledgement = ack-nhfb,
  keywords =     "database design; Java (computer program language); Web
                 servers",
}

@Book{McLaughlin:2002:JXD,
  author =       "Brett McLaughlin",
  title =        "{Java} and {XML} data binding",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xi + 200",
  year =         "2002",
  ISBN =         "0-596-00278-5",
  ISBN-13 =      "978-0-596-00278-7",
  LCCN =         "QA76.73.J38 M39 2002 Stacks",
  bibdate =      "Fri Sep 13 06:33:58 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Nutshell handbook",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language)",
}

@Article{Mehner:2002:JUB,
  author =       "Katharina Mehner",
  title =        "{JaVis}: a {UML}-Based Visualization and Debugging
                 Environment for Concurrent {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2269",
  pages =        "163--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:05 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2269.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2269/22690163.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2269/22690163.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Metsker:2002:DPJ,
  author =       "Steven John Metsker",
  title =        "Design patterns {Java} workbook",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xviii + 475",
  year =         "2002",
  ISBN =         "0-201-74397-3 (paperback)",
  ISBN-13 =      "978-0-201-74397-5 (paperback)",
  LCCN =         "QA76.73.J38 M483 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "The software patterns series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Miecznikowski:2002:DJB,
  author =       "Jerome Miecznikowski and Laurie Hendren",
  title =        "Decompiling {Java} Bytecode: Problems, Traps and
                 Pitfalls",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2304",
  pages =        "111--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:22 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2304.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2304/23040111.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2304/23040111.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Mikheev:2002:EEL,
  author =       "Vitaly V. Mikheev and Stanislav A. Fedoseev and
                 Vladimir V. Sukharev and Nikita V. Lipsky",
  title =        "Effective Enhancement of Loop Versioning in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2304",
  pages =        "293--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:22 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2304.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2304/23040293.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2304/23040293.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Mikheev:2002:OEJ,
  author =       "V. Mikheev and N. Lipsky and D. Gurchenkov and P.
                 Pavlov and V. Sukharev and A. MarkovS. Kuksenko and S.
                 Fedoseev and D. Leskov and A. Yeryomin",
  editor =       "",
  booktitle =    "Proceedings of the third international workshop on
                 Software and performance: WOSP '02, July 24--26, 2002
                 Rome, Italy",
  title =        "Overview of {Excelsior JET}, a High Performance
                 Alternative to {Java Virtual Machines}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "104--113",
  year =         "2002",
  ISBN =         "",
  ISBN-13 =      "",
  LCCN =         "",
  bibdate =      "Mon Apr 18 15:13:51 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Milanova:2002:POS,
  author =       "Ana Milanova and Atanas Rountev and Barbara G. Ryder",
  title =        "Parameterized object sensitivity for points-to and
                 side-effect analyses for {Java}",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "1--11",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566174",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "The goal of points-to analysis for Java is to
                 determine the set of objects pointed to by a reference
                 variable or a reference objet field. Improving the
                 precision of practical points-to analysis is important
                 because points-to information has a wide variety of
                 client applications in optimizing compilers and
                 software engineering tools. In this paper we present
                 object sensitivity, a new form of context sensitivity
                 for flow-insensitive points-to analysis for Java. The
                 key idea of our approach is to analyze a method
                 separately for each of the objects on which this method
                 is invoked. To ensure flexibility and practicality, we
                 propose a parameterization framework that allows
                 analysis designers to control the tradeoffs between
                 cost and precision in the object-sensitive analysis.
                 Side-effect analysis determines the memory locations
                 that may be modified by the execution of a program
                 statement. This information is needed for various
                 compiler optimizations and software engineering tools.
                 We present a new form of side-effect analysis for Java
                 which is based on object-sensitive points-to analysis.
                 We have implemented one instantiation of our
                 parameterized object-sensitive points-to analysis. We
                 compare this instantiation with a context-insensitive
                 points-to analysis for Java which is based on
                 Andersen's analysis for C [4]. On a set of 23 Java
                 programs, our experiments show that the two analyses
                 have comparable cost. In some cases the
                 object-sensitive analysis is actually faster than the
                 context-insensitive analysis. Our results also show
                 that object sensitivity significantly improves the
                 precision of side-effect analysis, call graph
                 construction, and virtual call resolution. These
                 experiments demonstrate that object-sensitive analyses
                 can achieve significantly better precision than
                 context-insensitive ones, while at the same time
                 remaining efficient and practical.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Moore:2002:BED,
  author =       "Thomas K. Moore",
  title =        "Bringing the enterprise into a database systems
                 course",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "262--265",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563443",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "Most database systems courses concentrate on teaching
                 the principles of relational databases. An alternative
                 approach is one in which those principles are taught
                 within the context of emerging enterprise systems. A
                 description is given in this paper of a course that has
                 been successfully taught at the undergraduate level
                 that uses the Java 2 Enterprise Edition (J2EE) model,
                 and its services, to illustrate basic database
                 principles.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Moreau:2002:MOJ,
  author =       "Luc Moreau and Daniel Ribbens",
  title =        "Mobile objects in {Java}",
  journal =      j-SCI-PROG,
  volume =       "10",
  number =       "1",
  pages =        "91--100",
  year =         "2002",
  CODEN =        "SCIPEV",
  ISSN =         "1058-9244 (print), 1875-919X (electronic)",
  ISSN-L =       "1058-9244",
  bibdate =      "Sat Oct 26 14:52:27 MDT 2002",
  bibsource =    "http://www.iospress.nl/site/html/10589244.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://iospress.metapress.com/app/home/contribution.asp%3Fwasp=9ejnuvwuvby9737jte27%26referrer=parent%26backto=issue%2C9%2C9%3Bjournal%2C2%2C12%3Blinkingpublicationresults%2C1%2C1",
  acknowledgement = ack-nhfb,
  fjournal =     "Scientific Programming",
  journal-URL =  "http://iospress.metapress.com/content/1058-9244",
}

@Article{Moreira:2002:NJH,
  author =       "Jos{\'e} E. Moreira and Samuel P. Midkiff and Manish
                 Gupta and others",
  title =        "{NINJA}: {Java} for high performance numerical
                 computing",
  journal =      j-SCI-PROG,
  volume =       "10",
  number =       "1",
  pages =        "19--33",
  year =         "2002",
  CODEN =        "SCIPEV",
  ISSN =         "1058-9244 (print), 1875-919X (electronic)",
  ISSN-L =       "1058-9244",
  bibdate =      "Sat Oct 26 14:52:27 MDT 2002",
  bibsource =    "http://www.iospress.nl/site/html/10589244.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://iospress.metapress.com/app/home/contribution.asp%3Fwasp=9ejnuvwuvby9737jte27%26referrer=parent%26backto=issue%2C3%2C9%3Bjournal%2C2%2C12%3Blinkingpublicationresults%2C1%2C1",
  acknowledgement = ack-nhfb,
  fjournal =     "Scientific Programming",
  journal-URL =  "http://iospress.metapress.com/content/1058-9244",
}

@Article{Morris:2002:AGJ,
  author =       "D. S. Morris",
  title =        "Automatically grading {Java} programming assignments
                 via reflection, inheritance, and regular expressions",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "1",
  number =       "??",
  pages =        "T3G-22--??",
  year =         "2002",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Book{Muchow:2002:CJT,
  author =       "John W. Muchow",
  title =        "Core {J2ME} Technology and {MIDP}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxiii + 710",
  year =         "2002",
  ISBN =         "0-13-066911-3",
  ISBN-13 =      "978-0-13-066911-7",
  LCCN =         "QA76.73.J38 M83 2002",
  bibdate =      "Tue Mar 12 07:50:58 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  series =       "Sun Microsystems Press Java series",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130669113.html;
                 http://www.sun.com/books/catalog/muchow/",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Wireless
                 communication systems",
}

@Article{Nagasaki:2002:GON,
  author =       "M. Nagasaki and A. Doi and M. Sasaki and C. J. Savoie
                 and H. Matsuno and S. Miyano",
  title =        "Genomic Object Net in {Java}: a Platform for
                 Biopathway Modeling and Simulation",
  journal =      "Genome Informatics Series",
  volume =       "SERS13",
  publisher =    "Universal Academy Press Inc.",
  pages =        "252--253",
  year =         "2002",
  CODEN =        "????",
  bibdate =      "Tue Apr 22 09:22:21 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Narayanan:2002:JM,
  author =       "Vijaykrishnan Narayanan and Mario I. Wolczko",
  title =        "{Java} microarchitectures",
  number =       "SECS 679",
  publisher =    pub-KLUWER,
  address =      pub-KLUWER:adr,
  pages =        "xiv + 252",
  year =         "2002",
  ISBN =         "1-4020-7034-9",
  ISBN-13 =      "978-1-4020-7034-1",
  LCCN =         "QA76.73.J38 J376 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "The Kluwer international series in engineering and
                 computer science",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Naumovich:2002:CAC,
  author =       "Gleb Naumovich",
  title =        "A conservative algorithm for computing the flow of
                 permissions in {Java} programs",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "33--43",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566178",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Open distributed systems are becoming increasingly
                 popular. Such systems include components that may be
                 obtained from a number of different sources. For
                 example, Java allows run-time loading of software
                 components residing on remote machines. One unfortunate
                 side-effect of this openness is the possibility that
                 ``hostile'' software components may compromise the
                 security of both the program and the system on which it
                 runs. Java offers a built-in security mechanism, using
                 which programmers can give permissions to distributed
                 components and check these permissions at run-time.
                 This security model is flexible, but using it is not
                 straightforward, which may lead to insufficiently tight
                 permission checking and therefore breaches of security.
                 In this paper, we propose a data flow algorithm for
                 automated analysis of the flow of permissions in Java
                 programs. Our algorithm produces, for a given
                 instruction in the program, a set of permissions that
                 are checked on all possible executions up to this
                 instruction. This information can be used in program
                 understanding tools or directly for checking properties
                 that assert what permissions must always be checked
                 before access to certain functionality is allowed. The
                 worst-case complexity of our algorithm is low-order
                 polynomial in the number of program statements and
                 permission types, while comparable previous approaches
                 have exponential costs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Neelands:2002:UDJ,
  author =       "K. Neelands and R. Ledbetter and S. Foti and E.
                 Alkazemi",
  title =        "Using {DHTML} and {Java} to Synergistically Combine
                 Text-Based and Interactive Instructional Materials",
  journal =      "Journal of Interactive Instruction Development",
  volume =       "15",
  number =       "1",
  pages =        "19--26",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1040-0370",
  bibdate =      "Wed Aug 27 05:49:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Newhall:2002:CPC,
  author =       "Tia Newhall and Lisa Meeden",
  title =        "A comprehensive project for {CS2}: combining key data
                 structures and algorithms into an integrated {Web}
                 browser and search engine",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "386--390",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563492",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/hash.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "We present our experience using a large, real-world
                 application as a course project for the second half of
                 the semester of a CS2 course. Our primary goal for the
                 project was to create an engaging application that
                 incorporated most of the key data structures and
                 algorithms introduced in the course. Specifically, the
                 project uses binary search trees, priority queues, hash
                 tables, and graphs. The project consisted of four parts
                 combined to build an integrated web browser and search
                 engine in Java. A key benefit of an incremental,
                 long-term project of this type is that students quickly
                 learn that their initial design and implementation
                 decisions have a significant impact on the eventual
                 extensibility and performance of their software. This
                 provides numerous opportunities for students to
                 recognize the importance of software engineering
                 techniques and complexity analysis in the development
                 of a successful application. We present students'
                 responses to the project which show that they
                 overwhelmingly enjoyed the project and felt that it
                 helped them to see how the data structures and
                 algorithms discussed in the course are used in real
                 software.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Newsome:2002:PCD,
  author =       "Matt Newsome and Des Watson",
  title =        "Proxy compilation of dynamically loaded {Java} classes
                 with {MoJo}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "204--212",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Nicholas:2002:CID,
  author =       "Nicholas Galbreath",
  title =        "Cryptography for {Internet} and database applications:
                 developing secret and public key techniques with
                 {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "400",
  year =         "2002",
  ISBN =         "0-471-21029-3",
  ISBN-13 =      "978-0-471-21029-0",
  LCCN =         "QA76.9.A25 G35 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer security; cryptography; database security;
                 Internet -- security measures; Java (computer program
                 language)",
}

@Book{Niemeyer:2002:LJ,
  author =       "Pat Niemeyer and Jonathan Knudsen",
  title =        "Learning Java",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xvii + 807",
  year =         "2002",
  ISBN =         "0-596-00285-8",
  ISBN-13 =      "978-0-596-00285-5",
  LCCN =         "QA76.73.J38 N545 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$44.95",
  URL =          "http://safari.oreilly.com/0596002858;
                 http://www.oreilly.com/catalog/learnjava2",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
  publishersummary = "This new edition of Learning Java has been
                 expanded and updated for Java 2 Standard Edition SDK
                 1.4. It comprehensively addresses important topics such
                 as Web applications, servlets, and XML that are
                 increasingly driving enterprise applications. This
                 edition provides full coverage of all Java 1.4 language
                 features including assertions and exception chaining as
                 well as new APIs such as regular expressions and NIO,
                 the new I/O package. New Swing features and components
                 are described along with updated coverage of the
                 JavaBeans component architecture using the open source
                 NetBeans IDE the latest information about Applets and
                 the Java Plug-in for all major Web browsers.",
}

@Book{Nino:2002:IPO,
  author =       "Jaime Nino and Frederick A. Hosch",
  title =        "An introduction to programming and object-oriented
                 design using {JAVA}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxx + 733",
  year =         "2002",
  ISBN =         "0-471-35489-9 (paperback)",
  ISBN-13 =      "978-0-471-35489-5 (paperback)",
  LCCN =         "QA76.64 .N57 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.loc.gov/catdir/toc/onix05/2001017636.html",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Nishiyama:2002:SCA,
  author =       "A. Nishiyama and K. Miyoshi and T. Hikita and K.
                 Tsukamoto and M. Tsujigado",
  title =        "A Study on {CORBA} Applications for Sequence Control
                 in {Ada95} and {Java}",
  journal =      "IECON Proceedings",
  volume =       "3",
  number =       "??",
  pages =        "2397--2402",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "????",
  bibdate =      "Tue Apr 8 06:53:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ES,
  author =       "Ed Nisley",
  title =        "Embedded Space: {Java}: Stirring the Cup",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "90, 92--93",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "So, is embedded-systems development a cup you can pour
                 Java into? That's the question Ed examines this
                 month.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Nisley:2002:ESJ,
  author =       "Ed Nisley",
  title =        "Embedded Space: {Java}: The Mix",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "83--84, 86",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Noonan:2002:UTF,
  author =       "Robert E. Noonan and Richard H. Prosl",
  title =        "Unit testing frameworks",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "232--236",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563429",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "In this paper we explore frameworks for performing
                 unit testing in Java. The vehicle for this exploration
                 is a student-written, skeleton program developed for
                 the Computer Graphics course. Our analysis of this one
                 experiment leads us to speculate what benefits in
                 program development and design might accrue by
                 requiring students to unit test their own programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Nyberg:2002:WSW,
  author =       "Greg Nyberg",
  title =        "{WebLogic 6.1} Server Workbook for {Enterprise
                 JavaBeans}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "256 (est.)",
  year =         "2002",
  ISBN =         "0-596-00417-6",
  ISBN-13 =      "978-0-596-00417-0",
  LCCN =         "????",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$24.95",
  URL =          "http://www.oreilly.com/catalog/weblogicworkbook",
  acknowledgement = ack-nhfb,
  publishersummary = "Although EJB applications themselves are portable,
                 the manner in which developers install and run EJB
                 products varies widely from one vendor to the next. The
                 goal of this WebLogic workbook is to discuss vendor
                 specific requirements and best practices and introduce
                 tools like the WebLogic Administration Console, all in
                 the contest of building and running the example
                 programs for O'Reilly's Enterprise JavaBeans, 3rd
                 edition.\par

                 The Workbook guides you step-by-step, explaining how to
                 build and deploy working solutions in a particular
                 application server, and provides useful hints, tips and
                 warnings. This WebLogic 6.1 Workbook was originally
                 published by Enterprise JavaBeans author Richard
                 Monson-Haefel's Titan Books publishing company.
                 O'Reilly thought so highly of it, we bought the rights
                 to publish it ourselves, in order to give more
                 developers access to this critical information.",
}

@Book{Oaks:2002:JN,
  author =       "Scott Oaks and Li Gong and Bernard Traversat",
  title =        "{JXTA} in a Nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xii + 401",
  year =         "2002",
  ISBN =         "0-596-00236-X",
  ISBN-13 =      "978-0-596-00236-7",
  LCCN =         "TK5105.525 .O255 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$34.95",
  URL =          "http://www.oreilly.com/catalog/jxtaian",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); peer-to-peer
                 architecture (computer networks)",
  publishersummary = "O'Reilly's pioneering reference is the first and
                 last word on this powerful distributed computing
                 technology. JXTA in a Nutshell delivers all the
                 information you need to get started, including an
                 overview of P2P distributed computing, an explanation
                 of the JXTA Project's new platform, and ways that
                 developers can become a part of the development
                 effort.\par

                 JXTA in a Nutshell introduces major concepts in a
                 hands-on way by explaining them in context to the
                 shell, and contains a complete reference to the JXTA
                 application bindings. Also included is the full JXTA
                 protocol specification. The book covers important
                 topics such as security, and how the JXTA technology
                 fits into the standard Java classes.",
  xxauthor =     "Bernard Traversat and Scott Oaks and Li Gong",
  xxnote =       "Check author order??",
}

@Article{Oechsle:2002:JAP,
  author =       "Rainer Oechsle and Thomas Schmitt",
  title =        "{JAVAVIS}: Automatic Program Visualization with Object
                 and Sequence Diagrams Using the {Java} Debug Interface
                 {(JDI)}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2269",
  pages =        "176--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:05 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2269.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2269/22690176.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2269/22690176.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ogata:2002:BFOa,
  author =       "Kazunori Ogata and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Bytecode fetch optimization for a {Java} interpreter",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "30",
  number =       "5",
  pages =        "58--67",
  month =        dec,
  year =         "2002",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:41:23 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Ogata:2002:BFOb,
  author =       "Kazunori Ogata and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Bytecode Fetch Optimization for a {Java} Interpreter",
  journal =      j-OPER-SYS-REV,
  volume =       "36",
  number =       "5",
  pages =        "58--67",
  month =        dec,
  year =         "2002",
  CODEN =        "OSRED8",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Sat Aug 26 08:55:56 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
}

@Article{Ogata:2002:BFOc,
  author =       "Kazunori Ogata and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Bytecode Fetch Optimization for a {Java} Interpreter",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "58--67",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  note =         "Also published as Computer Architecture News (ACM
                 SIGARCH) {\bf 37}(5) 58--67 (2002).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Oheimb:2002:HLN,
  author =       "David von Oheimb and Tobias Nipkow",
  title =        "{Hoare} Logic for {NanoJava}: Auxiliary Variables,
                 Side Effects, and Virtual Methods Revisited",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2391",
  pages =        "89--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:10 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2391.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2391/23910089.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2391/23910089.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ourosoff:2002:PTJ,
  author =       "Nick Ourosoff",
  title =        "Technical opinion: Primitive types in {Java}
                 considered harmful",
  journal =      j-CACM,
  volume =       "45",
  number =       "8",
  pages =        "105--106",
  month =        aug,
  year =         "2002",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu Aug 1 07:05:19 MDT 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Owens:2002:JIW,
  author =       "Barbara Boucher Owens and Rich Pattis and Chris
                 Stephenson and Jack Rehder and Dean Sanders",
  title =        "{JAVA IDEs}: why and how we use what we do",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "213--214",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563421",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "This panel reflects the experiences of several faculty
                 who each use a different Java Interactive Development
                 Environment (IDE). Panelists will discuss the salient
                 features of the IDEs that are used at their particular
                 institutions. Each panelist will discuss system
                 requirements, ease of installation, strengths and
                 weaknesses of each IDE and pointers for successful
                 adaptation to the classroom.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Paal:2002:CDC,
  author =       "Stefan Paal and Reiner Kamm{\"u}ller and Bernd
                 Freisleben",
  title =        "Customizable Deployment, Composition, and Hosting of
                 Distributed {Java} Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2519",
  pages =        "845--865",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Dec 7 10:05:42 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2519.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2519/25190845.htm;
                 http://link.springer.de/link/service/series/0558/papers/2519/25190845.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Pacios:2002:JBG,
  author =       "L. Pacios and A. DeLaPena and R. Carrasco and F.
                 Lapayese",
  title =        "{Java}-Based Gas Inlet Control System for the
                 {Stellarator TJ-II}",
  journal =      "VTT Symposium",
  volume =       "220",
  number =       "??",
  publisher =    "VTT",
  pages =        "243",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0357-9387",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Palmer:2002:JEH,
  author =       "Grant Palmer",
  title =        "{Java} event handling",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xix + 590",
  year =         "2002",
  ISBN =         "0-13-041802-1",
  ISBN-13 =      "978-0-13-041802-9",
  LCCN =         "QA76.73.J38 P33 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Accompanying CD-ROM includes all of the examples
                 described in the book. It contains not only the Java
                 source code but also the associated HTML and JPEG
                 files",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Park:2002:ASJ,
  author =       "Jung Gyu Park and Myong-Soon Park",
  title =        "Automatic Specialization of {Java} Programs in the
                 Distributed Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2344",
  pages =        "757--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:13 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2344.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2344/23440757.htm;
                 http://link.springer.de/link/service/series/0558/papers/2344/23440757.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Park:2002:SJP,
  author =       "J. G. Park and M. S. Park",
  title =        "Specializing {Java} Programs in a Distributed
                 Environment",
  journal =      j-J-INFO-SCI-ENG,
  volume =       "18",
  number =       "5",
  publisher =    "Institute of Information Science Academia Sinica",
  pages =        "787--802",
  year =         "2002",
  CODEN =        "JINEEY",
  ISSN =         "1016-2364",
  bibdate =      "Tue Nov 19 09:39:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of information science and engineering",
}

@Article{Pauw:2002:VEJ,
  author =       "Wim {De Pauw} and Erik Jensen and Nick Mitchell and
                 Gary Sevitsky and John Vlissides and Jeaha Yang",
  title =        "Visualizing the Execution of {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2269",
  pages =        "151--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:05 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2269.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2269/22690151.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2269/22690151.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Pedroni:2002:JE,
  author =       "Samuele Pedroni and Noel Rappin",
  title =        "Jython Essentials",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xx + 277",
  year =         "2002",
  ISBN =         "0-596-00247-5",
  ISBN-13 =      "978-0-596-00247-3",
  LCCN =         "QA76.73.J38 P43 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$24.95",
  URL =          "http://www.oreilly.com/catalog/jythoness",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); Python (computer
                 program language)",
  publishersummary = "Jython is an implementation of the Python
                 programming language written in Java, allowing Python
                 programs to integrate seamlessly with any Java code.
                 The secret to Jython's popularity lies in the
                 combination of Java's libraries and tools with Python's
                 rapid development capabilities. Jython Essentials
                 provides a solid introduction to the language, numerous
                 examples of Jython/Java interaction, and valuable
                 reference material on modules and libraries of use to
                 Jython programmers.",
}

@Book{Perry:2002:JME,
  author =       "J. Steven (James Steven) Perry",
  title =        "{Java} Management Extensions",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "x + 300",
  year =         "2002",
  ISBN =         "0-596-00245-9",
  ISBN-13 =      "978-0-596-00245-9",
  LCCN =         "QA76.73.J38 P472 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$34.95",
  URL =          "http://safari.oreilly.com/0596002459;
                 http://www.oreilly.com/catalog/javamngext",
  acknowledgement = ack-nhfb,
  keywords =     "computer software -- development -- management; Java
                 (computer program language)",
  publishersummary = "Java Management Extensions is a practical,
                 hands-on guide to using the JMX APIs, Sun Microsystems
                 new Java-based tool for managing enterprise
                 applications. This one-of-a kind book is a complete
                 treatment of the JMX architecture (both the
                 instrumentation level and the agent level), and its
                 loaded with real-world examples for implementing
                 Management Extensions. It also contains useful
                 information at the higher level about JMX (the big
                 picture) to help technical managers and architects who
                 are evaluating various application management
                 approaches and are considering JMX.",
}

@InProceedings{Pike:2002:BTA,
  author =       "Geoff Pike and Paul N. Hilfinger",
  title =        "Better Tiling and Array Contraction for Compiling
                 Scientific Programs",
  crossref =     "IEEE:2002:STI",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Wed Nov 26 07:34:20 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc-2002.org/paperpdfs/pap.pap260.pdf",
  abstract =     "Scientific programs often include multiple loops over
                 the same data; interleaving parts of different loops
                 may greatly improve performance. We exploit this in a
                 compiler for Titanium, a dialect of Java. Our compiler
                 combines reordering optimizations such as loop fusion
                 and tiling with storage optimizations such as array
                 contraction (eliminating or reducing the size of
                 temporary arrays). The programmers we have in mind are
                 willing to spend some time tuning their code and their
                 compiler parameters. Given that, and the difficulty in
                 statically selecting parameters such as tile sizes, it
                 makes sense to provide automatic parameter searching
                 alongside the compiler. Our strategy is to optimize
                 aggressively but to expose the compiler's decisions to
                 external control. We double or triple the performance
                 of Gauss--Seidel relaxation and multigrid (versus an
                 optimizing compiler without tiling and array
                 contraction), and we argue that ours is the best
                 compiler for that kind of program.",
  acknowledgement = ack-nhfb,
}

@Book{Piroumian:2002:WJP,
  author =       "Vartan Piroumian",
  title =        "Wireless {J2ME} platform programming",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "xxv + 374",
  year =         "2002",
  ISBN =         "0-13-044914-8",
  ISBN-13 =      "978-0-13-044914-6",
  LCCN =         "QA76.73.J38 P575 2002",
  bibdate =      "Fri Apr 11 17:10:07 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun BluePrints Program",
  URL =          "http://www.sun.com/books/catalog/piroumian/",
  acknowledgement = ack-nhfb,
}

@Article{Pleumann:2002:MP,
  author =       "J{\"o}rg Pleumann",
  title =        "The {Mail4Me Project}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "36, 38, 40, 42, 44",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/mail4me.txt",
  abstract =     "Mail4ME is a lightweight implementation of the POP3
                 and SMTP protocols and --- including MIME support and
                 with IMAP support to come and --- allowing Java-based
                 wireless devices to access e-mail services at any time,
                 from any place. Additional resources include {\tt
                 mail4me.txt} (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Pol:2002:FSJ,
  author =       "Jaco van de Pol and Miguel Valero Espada",
  title =        "Formal Specification of {JavaSpaces$^{\rm TM}$
                 Architecture} Using {$ \mu $CRL}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2315",
  pages =        "274--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:27 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2315.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2315/23150274.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2315/23150274.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Prodan:2002:CJC,
  author =       "A. Prodan and R. Prodan",
  title =        "A Collection of {Java} Class Libraries for Stochastic
                 Modeling and Simulation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2329",
  pages =        "1040--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:34 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2329.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2329/23291040.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2329/23291040.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Proulx:2002:OBG,
  author =       "Viera K. Proulx and Jeff Raab and Richard Rasala",
  title =        "Objects from the beginning --- with {GUIs}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "65--69",
  month =        sep,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/637610.544436",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:56 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We describe a way to introduce objects at the
                 beginning of the first CS course through the use of
                 objects that have significant nontrivial behavior and
                 interactions with other objects. We will describe four
                 introductory laboratory projects and an outline for
                 introductory lectures on object oriented programming
                 that illustrate the need for private member data,
                 constructors and accessor member functions, and prepare
                 students for writing object oriented programs in Java
                 with graphical user interfaces.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Qian:2002:CAA,
  author =       "Feng Qian and Laurie Hendren and Clark Verbrugge",
  title =        "A Comprehensive Approach to Array Bounds Check
                 Elimination for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2304",
  pages =        "325--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:22 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2304.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  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 = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Rajan:2002:CPJ,
  author =       "A. S. Rajan and Shiwen Hu and J. Rubio",
  title =        "Cache performance in {Java} virtual machines: a study
                 of constituent phases",
  crossref =     "IEEE:2002:WII",
  pages =        "81--90",
  year =         "2002",
  bibdate =      "Tue Oct 24 10:13:38 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper studies the level 1 cache performance of
                 Java programs by analyzing memory reference traces of
                 the SPECjvm98 applications executed by the Latte Java
                 virtual machine. We study in detail Java programs'
                 cache performance of different access types in three
                 JVM phases, under two execution modes, using three
                 cache configurations and two application data sets. We
                 observe that the poor data cache performance in the JIT
                 execution mode is caused by code installation, when the
                 data write miss rate in the execution engine can be as
                 high as 70\%. In addition, code installation also
                 deteriorates instruction cache performance during
                 execution of translated code. High cache miss rate in
                 garbage collection is mainly caused by large working
                 set and pointer chasing of the garbage collector. A
                 larger data cache works better on eliminating data
                 cache read misses than write misses, and is more
                 efficient on improving cache performance in the
                 execution engine than in the garbage collection. As
                 application data set increases in the JIT execution
                 mode, instruction cache and data cache write miss rates
                 of the execution engine decrease, while data cache read
                 miss rate of the execution engine increases. On the
                 other hand, impact of varying data set on cache
                 performance is not as pronounced in the interpreted
                 mode as in the JIT mode.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Raner:2002:LJV,
  author =       "Mirko Raner",
  title =        "A Lightweight {Java Virtual Machine} for a Stack-Based
                 Microprocessor",
  crossref =     "USENIX:2002:PJV",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue Oct 15 12:37:27 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/raner.html",
  acknowledgement = ack-nhfb,
}

@Article{Rao:2002:JQ,
  author =       "Surlu Rao",
  title =        "{Java Q\&A}: How Do Message-Driver Beans Work in {EJB
                 2.0}?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "94--96",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/jqa0202.txt;
                 http://www.ddj.com/ftp/2002/2002_02/jqa0202.zip",
  abstract =     "Message-driven beans combine the features of
                 container-managed EJB and the Java Messaging Service
                 (JMS). Additional resources include {\tt jqa0202.txt}
                 (listings) and {\tt jqa0202.zip} (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Rasala:2002:SMD,
  author =       "Richard Rasala and Jeff Raab and Viera K. Proulx",
  title =        "The {SIGCSE 2001 Maze Demonstration} program",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "287--291",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563455",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "This article will describe the SIGCSE 2001 Maze Demo
                 program that may be used as a CS2 laboratory exercise
                 on traversal algorithms. The article will also describe
                 the object-oriented design of the program and the Java
                 Power Tools that were used to enable rapid development
                 of its graphical user interface. Finally, the quality
                 of the program and the speed of its development shows
                 that it is now practical to teach freshmen using full
                 graphical user interfaces rather than interfaces that
                 use the console or a small restricted set of interface
                 widgets.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rayside:2002:EJL,
  author =       "Derek Rayside and Kostas Kontogiannis",
  title =        "Extracting {Java} library subsets for deployment on
                 embedded systems",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "45",
  number =       "2--3",
  pages =        "245--270",
  month =        nov # "\slash " # dec,
  year =         "2002",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Sun Jan 11 10:42:00 MST 2004",
  bibsource =    "http://www.elsevier.com/locate/issn/01676423;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Book{Reed:2002:DAJ,
  author =       "Paul R. Reed",
  title =        "Developing applications with {Java} and {UML}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxvi + 463",
  year =         "2002",
  ISBN =         "0-201-70252-5",
  ISBN-13 =      "978-0-201-70252-1",
  LCCN =         "QA76.73.J38 R44 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer software -- development; Java (computer
                 program language); object-oriented methods (computer
                 science); UML (computer science)",
}

@Article{Reges:2002:CCR,
  author =       "S. Reges",
  title =        "Can {C\#} Replace {Java} in {CS1} and {CS2}?",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "4--8",
  year =         "2002",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Reges:2002:SFI,
  author =       "Stuart Reges",
  title =        "{SIGCSE} 2002 forum: industry in the ivory tower",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "367--367",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563482",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "The intent of this forum is to generate a really
                 lively discussion on the gamut of our relationship ---
                 as computer science educators --- to industry. How
                 dependent are we/should we be on specific industry
                 software and platforms? (Many examples come to mind ---
                 Microsoft Visual Studio. NET, Red Hat Linux, C\#, Sun's
                 version of Java.)How obligated are we to jump on board
                 the newest upgraded software version of whatever we
                 might be using?How does our desire for good job
                 placement of our graduates square with our oft-repeated
                 claim that we are educators, not trainers?Pursuing this
                 issue of ``where do we fall on the spectrum between
                 training and education,'' what to do about all these
                 industry certification programs --- Cisco, Novell,
                 Oracle, Microsoft. Do we teach these curricula? Do we
                 give credit to students who take it, say at a community
                 college, and then transfer?What about a service course
                 in, say, Photoshop? Is this college-level material?Do
                 opportunities for summer internships or research
                 projects in an industry setting place some special
                 obligations on us with respect to that company?",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Reilly:2002:JNP,
  author =       "David Reilly and Michael Reilly",
  title =        "{Java} network programming and distributed computing",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 464",
  year =         "2002",
  ISBN =         "0-201-71037-4",
  ISBN-13 =      "978-0-201-71037-3",
  LCCN =         "QA76.73.J38 R45 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing;
                 Internet programming; Java (computer program
                 language)",
}

@Article{Renaud:2002:ESG,
  author =       "K. Renaud",
  title =        "Experience with statically-generated proxies for
                 facilitating {Java} runtime specialisation",
  journal =      "IEE Proceedings Software",
  volume =       "149",
  number =       "6",
  pages =        "169--178",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1462-5970",
  bibdate =      "Tue Feb 4 05:46:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Revetria:2002:UJA,
  author =       "R. Revetria and F. Tonelli",
  title =        "Using {Java} Applet-Based Application to Improve
                 Practices in Environmental Production Monitoring",
  journal =      j-SIM-SERIES,
  volume =       "34",
  number =       "1",
  pages =        "13--16",
  year =         "2002",
  CODEN =        "SMCPAX",
  ISSN =         "0735-9276",
  bibdate =      "Tue Apr 29 05:13:30 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Simulation series",
}

@Book{Riley:2002:OJI,
  author =       "David D. Riley",
  title =        "The object of {Java}: introduction to programming
                 using software engineering principles",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxvi + 673",
  year =         "2002",
  ISBN =         "0-201-71585-6 (paperback)",
  ISBN-13 =      "978-0-201-71585-9 (paperback)",
  LCCN =         "QA76.73.J38 R54 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer software -- development; Java (computer
                 program language)",
}

@Article{Riordan:2002:TIL,
  author =       "Denis Riordan",
  title =        "Towards an integrated learning laboratory environment
                 for first-year computer science students",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "4",
  pages =        "112--116",
  month =        dec,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/820127.820180",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:58 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse34.html#Riordan02;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2002.bib",
  abstract =     "This paper describes an evolving attempt to provide an
                 integrated learning laboratory environment (ILLE) to
                 enhance the learning goals and strategies for
                 first-year computer science students using Java as a
                 first language. The proposed ILLE models a real
                 computer-learning laboratory in which instructors walk
                 around watching and helping students on request. In
                 essence, the system consists of a Java development
                 environment centered round a live communicator with a
                 facility for an instructor to focus and work on the
                 desk top of a particular student. The system is written
                 in 4000 lines of Java and runs in exactly the same way
                 on Windows, UNIX and MacOS. The ILLE gathers usage
                 information that is being used to improve the learning
                 for first year students. It has been used twice with
                 large first year classes. Examples show how extracts
                 from dialogue files enhanced the ILLE.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Robbins:2002:EPI,
  author =       "Steven Robbins",
  title =        "Exploration of process interaction in operating
                 systems: a pipe-fork simulator",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "351--355",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563476",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "This paper examines the use of a simulator to explore
                 process interaction in Unix. The simulator allows
                 instructors to trace through a variety of programs and
                 to show how the processes and pipes are connected.
                 Students can create C language programs and see how
                 changes in their code or changes in process scheduling
                 affect the configuration of the processes and pipes as
                 well as the output of the program. Students can also
                 see the consequences of not protecting critical
                 sections in an executing program. The simulator is
                 flexible enough to allow the creation of process fans,
                 chains and trees as well as unidirectional and
                 bidirectional rings. The program is written in Java and
                 can be run as a standalone application or as an applet
                 from a browser.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Roman:2002:MEJ,
  author =       "Ed Roman and Scott Ambler and Tyler Jewell",
  title =        "Mastering {Enterprise JavaBeans}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xxxii + 639",
  year =         "2002",
  ISBN =         "0-471-41711-4 (PAPER/WEBSITE)",
  ISBN-13 =      "978-0-471-41711-8 (PAPER/WEBSITE)",
  LCCN =         "QA76.73.J38 R658 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); JavaBeans",
}

@Article{Romero:2002:VAR,
  author =       "Pablo Romero and Richard Cox and Benedict du Boulay
                 and Rudi Lutz",
  title =        "Visual Attention and Representation Switching During
                 {Java} Program Debugging: a Study Using the Restricted
                 Focus Viewer",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2317",
  pages =        "221--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:28 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2317.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2317/23170221.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2317/23170221.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rose:2002:OJM,
  author =       "J. F. Rose",
  title =        "The {OPUS Java} Managers",
  journal =      "Astronomical Society of the Pacific Conference
                 Series",
  volume =       "281",
  number =       "??",
  pages =        "445--448",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1050-3390",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Ross:2002:GST,
  author =       "J. M. Ross",
  title =        "Guiding Students through Programming Puzzles: Value
                 and Examples of {Java} Game Assignments",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "4",
  pages =        "94--98",
  year =         "2002",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Jun 17 06:26:38 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roth:2002:JSA,
  author =       "Volker Roth",
  title =        "{Java} Security Architecture And Extensions",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "34, 36--38",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/jca.txt;
                 http://www.ddj.com/ftp/2002/2002_04/jca.zip",
  abstract =     "The Java Cryptography Architecture is a framework that
                 attempts to provide a common interface for accessing
                 basic cryptographic primitives. Additional resources
                 include jca.txt (listings) and jca.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Roumani:2002:DGL,
  author =       "Hamzeh Roumani",
  title =        "Design guidelines for the lab component of
                 objects-first {CS1}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "222--226",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563426",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "We adopt the view that CS1 labs are not programming
                 assignments, and that they should not be used for
                 grading students or assessing their level of
                 understanding. Instead, we think of them as teaching
                 instruments that complement lectures by teaching the
                 same material but in an exploratory fashion. But for
                 labs to play this pedagogical role, certain conditions
                 must be met in terms of how they are written and the
                 complexity they expose. In this paper we present
                 guidelines for designing the labs and the Java packages
                 that must accompany them, with special emphasis on
                 software engineering. Our own experience with
                 implementing these guidelines, together with a few
                 samples, is included.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rousselle:2002:IJP,
  author =       "Philip Rousselle",
  title =        "Implementing the {JMS} Publish\slash Subscribe {API}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "28, 30--32",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "The Java Message Service API provides a powerful
                 message-passing API for distributed computing.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Rutherford:2002:REJ,
  author =       "Matthew J. Rutherford and Kenneth Anderson and Antonio
                 Carzaniga and Dennis Heimbigner and Alexander L. Wolf",
  title =        "Reconfiguration in the Enterprise {JavaBean} Component
                 Model",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2370",
  pages =        "67--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:55 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2370.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2370/23700067.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2370/23700067.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{S:2002:SPI,
  author =       "Venugopal K. S. and Geetha Manjunath and Venkatesh
                 Krishnan",
  title =        "{sEc}: a Portable Interpreter Optimizing Technique for
                 Embedded {Java Virtual Machine}",
  crossref =     "USENIX:2002:PJV",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue Oct 15 12:37:27 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/venugopal.html",
  acknowledgement = ack-nhfb,
}

@Book{Safonov:2002:VVJ,
  author =       "V. O. (Vladimir Olegovich) Safonov",
  title =        "Vvedenie v {Java}-tekhnologiiu",
  publisher =    "``Nauka''",
  address =      "Sankt-Peterburg, Russia",
  pages =        "187",
  year =         "2002",
  ISBN =         "5-02-024985-8",
  ISBN-13 =      "978-5-02-024985-1",
  LCCN =         "????",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Saha:2002:RLP,
  author =       "Prasenjit Saha",
  title =        "{Rambutan: Literate programming in Java}",
  journal =      j-TUGboat,
  volume =       "23",
  number =       "3/4",
  pages =        "304--309",
  year =         "2002",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@Article{Saha:TB23-3-304,
  author =       "Prasenjit Saha",
  title =        "{Rambutan: Literate programming in Java}",
  journal =      j-TUGboat,
  volume =       "23",
  number =       "3/4",
  pages =        "304--309",
  year =         "2002",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@Article{Saini:2002:JMD,
  author =       "S. P. Saini and F. Ahmad",
  title =        "{Java} Model of {DSA} ({Digital Signature
                 Algorithm})",
  journal =      j-IETE-TECH-REV,
  volume =       "19",
  number =       "4",
  publisher =    "Institute of Electronics \& Telecommunication",
  pages =        "189--194",
  year =         "2002",
  CODEN =        "ITREEI",
  ISSN =         "0256-4602",
  ISSN-L =       "0256-4602",
  bibdate =      "Tue Nov 19 09:39:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IETE Technical Review",
}

@Article{Sanchez:2002:FTU,
  author =       "Pedro S{\'a}nchez and Patricio Letelier and Juan A.
                 Pastor and Juan A. Ortega",
  title =        "A Framework to Translate {UML} Class Generalization
                 into {Java} Code",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2425",
  pages =        "173--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:25 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2425.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2425/24250173.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2425/24250173.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Sanchez:2002:JPE,
  author =       "Julio Sanchez and Maria P. Canton",
  title =        "{Java} Programming for Engineers",
  publisher =    pub-CRC,
  address =      pub-CRC:adr,
  pages =        "xvi + 338",
  year =         "2002",
  ISBN =         "0-8493-0810-0",
  ISBN-13 =      "978-0-8493-0810-9",
  LCCN =         "QA76.76.J38 S26 2002",
  bibdate =      "Sat Jul 27 11:56:25 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$59.95, UK\pounds 41.99",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Mechanical
                 engineering; Data processing",
}

@Article{Sanden:2002:RTP,
  author =       "Bo I. Sand{\'e}n",
  title =        "Real-time Programming Safety in {Java} and {Ada}",
  journal =      j-ADA-USER-J,
  volume =       "23",
  number =       "2",
  pages =        "105--??",
  month =        jun,
  year =         "2002",
  CODEN =        "AUJOET",
  ISSN =         "1381-6551",
  bibdate =      "Wed Sep 1 09:00:38 MDT 2010",
  bibsource =    "http://www.ada-europe.org/AUJ/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Ada User Journal",
  journal-URL =  "http://www.ada-europe.org/auj/archive",
}

@Article{Santoro:2002:JTT,
  author =       "K. Santoro",
  title =        "2002-21-0002 {Java} Telematics Technology --- Building
                 and Leveraging a Market Ecosystem",
  journal =      "SAE Conference Proceedings",
  volume =       "381",
  publisher =    pub-SAE,
  address =      pub-SAE:adr,
  pages =        "13--18",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "????",
  bibdate =      "Tue Nov 26 06:24:58 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Sato:2002:SJL,
  author =       "Y. Sato",
  title =        "A Study of {Java} Language for Effective Thread
                 Migration",
  journal =      "Record of Electrical and Communication Engineering
                 Conversazione Tohoku University",
  volume =       "71",
  number =       "1",
  publisher =    "Tohoku Daigaku Dentsu Danwakai",
  pages =        "597--598",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0385-7719",
  bibdate =      "Tue Dec 24 07:09:37 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Schneck:2002:LCP,
  author =       "Paul Schneck and Jeffrey Lotspiech and Christopher
                 Bird and Jeffrey R. Carter and Eric A. Weiss and
                 Neville Holmes and Mario L. Epp",
  title =        "Letters: Content Protection Alternatives; Software
                 Development Viewpoints; {Java} Questions; Seven Great
                 Blunders; Technological Musings",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "10",
  pages =        "8--??",
  month =        oct,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:34 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/10/rx008.htm;
                 http://csdl.computer.org/dl/mags/co/2002/10/rx008.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Schreiner:2002:JTT,
  author =       "W. Schreiner",
  title =        "A {Java} Toolkit for Teaching Distributed Algorithms",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "111--115",
  year =         "2002",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Scime:2002:LIS,
  author =       "Anthony Scime and Bob Pedigo and Curtis Sjolander and
                 Bob Colwell and Dick Brodine and Ted Lewis and Bruce D.
                 Wilner and Gary McGraw and Jay Dearien and Neville
                 Holmes and Peter Stern",
  title =        "Letters: Information System Engineering; Quantum
                 Questions; Is {Murphy's Law} Wrong?; {Java} Questions
                 for {Ted}; Software Security Concerns; Insightful
                 Observations on Computers and Society",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "6",
  pages =        "6--9",
  month =        jun,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2002/06/r6006.htm;
                 http://csdl.computer.org/dl/mags/co/2002/06/r6006.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Scott:2002:MMI,
  author =       "Kirk Scott",
  title =        "{MISC}: the minimal instruction set computer",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "223--223",
  month =        sep,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/637610.544491",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:56 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The minimal instruction set computer (MISC) is a
                 simulation of a simple hardware machine written in the
                 Java language. The architecture represented is
                 register-oriented. MISC has been used by the author in
                 several classes at the undergraduate level. It is under
                 further development at the present time.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Seaman:2002:JQH,
  author =       "Mark Seaman",
  title =        "{Java Q\&A}: How Can {I} Generate {Java} Code for
                 Tables in My Database?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Aug 27 06:06:12 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0208/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/jqa0802.txt;
                 http://www.ddj.com/ftp/2002/2002_08/jqa0802.zip",
  abstract =     "Additional resources include jqa0802.txt (listings)
                 and jqa0802.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Serpette:2002:CSJ,
  author =       "Bernard Paul Serpette and Manuel Serrano",
  title =        "Compiling scheme to {JVM} bytecode: a performance
                 study",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "259--270",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Sestoft:2002:JP,
  author =       "Peter Sestoft",
  title =        "{Java} Precisely",
  publisher =    pub-MIT,
  address =      pub-MIT:adr,
  pages =        "vii + 118",
  year =         "2002",
  ISBN =         "0-262-69276-7",
  ISBN-13 =      "978-0-262-69276-2",
  LCCN =         "QA76.73.J38 S435 2002",
  bibdate =      "Tue Mar 11 14:56:11 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$14.95, UK\pounds 9.95",
  acknowledgement = ack-nhfb,
}

@Article{Shay:2002:MMC,
  author =       "William Shay",
  title =        "A multiplatform\slash multilanguage client\slash
                 server project",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "401--405",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563496",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "This paper introduces a more general client/server
                 example than is typically described. Whereas many
                 client/server examples often involve communication
                 between two C programs or two Java programs, this paper
                 describes a program demo containing two clients (one in
                 C and one in Java) and two servers (one in C and one in
                 Java). Furthermore, either client is capable of
                 connecting to and downloading a file from either server
                 using a socket connection over the TCP/IP protocol.
                 None of these programs make any assumptions regarding
                 what language or platform supports the program at the
                 remote end.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Shen:2002:JBD,
  author =       "J. Shen and G. Gu",
  title =        "{Java}-based Design and Implementation of the {XML}
                 Parser",
  journal =      j-MINI-MICRO-SYSTEMS,
  volume =       "23",
  number =       "12",
  pages =        "1449--1452",
  year =         "2002",
  CODEN =        "XWJXEH",
  ISSN =         "1000-1220",
  bibdate =      "Mon Jan 27 06:53:51 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Mini-Micro Systems",
}

@Article{Shuf:2002:CPL,
  author =       "Yefim Shuf and Manish Gupta and Hubertus Franke and
                 Andrew Appel and Jaswinder Pal Singh",
  title =        "Creating and Preserving Locality of {Java}
                 Applications at Allocation and Garbage Collection
                 Times",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "13--25",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Silveira:2002:DDI,
  author =       "Ricardo Azambuja Silveira and Rosa Maria Vicari",
  title =        "Developing Distributed Intelligent Learning
                 Environment with {JADE} --- {Java} Agents for Distance
                 Education Framework",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2363",
  pages =        "105--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:51 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2363.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2363/23630105.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2363/23630105.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@PhdThesis{Sivasubramanian:2002:JCM,
  author =       "Madhumathi Sivasubramanian",
  title =        "{Java} compiler modification for multiple return
                 types",
  type =         "Thesis (M.S.)",
  school =       "University of California, Santa Cruz",
  address =      "Santa Cruz, CA, USA",
  year =         "2002",
  LCCN =         "QA76.73.J38 S58 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "academic dissertations -- University of California,
                 Santa Cruz -- 2002; academic dissertations --
                 University of California, Santa Cruz -- computer;
                 compilers (computer programs); computer science; Java
                 (computer program language); object-oriented
                 programming (computer science); science",
}

@Article{Skotiniotis:2002:EIM,
  author =       "T. Skotiniotis and J. Chang",
  title =        "Estimating internal memory fragmentation for {Java}
                 programs",
  journal =      j-J-SYST-SOFTW,
  volume =       "64",
  number =       "3",
  pages =        "235--246",
  year =         "2002",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Tue Mar 4 09:14:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Snoep:2002:JWS,
  author =       "J. L. Snoep and B. G. Olivier",
  title =        "{Java Web Simulation} ({JWS}); {A} {Web} Based
                 Database of Kinetic Models",
  journal =      "Molecular Biology Reports",
  volume =       "29",
  number =       "1--2",
  pages =        "259--263",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0301-4851",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "5",
}

@Article{Soldar:2002:UWS,
  author =       "G. Soldar and B. Spencer and D. Smith",
  title =        "Using {Web} Services and {Java} Distributed Components
                 to Develop Distributed Applications",
  journal =      "Applied Informatics",
  volume =       "2",
  pages =        "388--394",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1027-2666",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Speegle:2002:JPG,
  author =       "Gregory D. (Gregory David) Speegle",
  title =        "{JDBC}: practical guide for {Java} programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xiii + 113",
  year =         "2002",
  ISBN =         "1-55860-736-6",
  ISBN-13 =      "978-1-55860-736-1",
  LCCN =         "QA76.73.J38 S64 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Morgan Kaufmann practical guides series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Stelting:2002:AJP,
  author =       "Stephen Stelting and Olav Maassen",
  title =        "Applied {Java} Patterns",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxi + 574",
  year =         "2002",
  ISBN =         "0-13-093538-7",
  ISBN-13 =      "978-0-13-093538-0",
  LCCN =         "QA76.73.J38 S845 2002",
  bibdate =      "Tue Mar 12 07:56:57 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.99",
  series =       "Sun Microsystems Press Java series",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130935387.html;
                 http://www.sun.com/books/catalog/stelting/",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Software patterns",
}

@Article{Stoller:2002:DPO,
  author =       "Scott D. Stoller",
  title =        "Domain partitioning for open reactive systems",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "44--54",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566179",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Testing or model-checking an open reactive system
                 often requires generating a model of the environment.
                 We describe a static analysis for Java that computes a
                 partition of a system's inputs: inputs in the same
                 equivalence class lead to identical behavior. The
                 partition provides a basis for generation of code for a
                 most general environment of the system, i.e., one that
                 exercises all possible behaviors of the system. The
                 partition also helps the generated environment avoid
                 exercising the same behavior multipletimes. Many
                 distributed systems with security requirements can be
                 regarded as open reactive systems whose environment is
                 an adversary-controlled network. We illustrate our
                 approach by applying it to a fault-tolerant and
                 intrusion-tolerant distributed voting system and
                 model-checking the system together with the generated
                 environment.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Stoller:2002:MCM,
  author =       "Scott D. Stoller",
  title =        "Model-checking multi-threaded distributed {Java}
                 programs",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "4",
  number =       "1",
  pages =        "71--91",
  month =        oct,
  year =         "2002",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10009-002-0077-2",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Tue Nov 23 15:01:41 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
}

@Article{Strecker:2002:FVJ,
  author =       "Martin Strecker",
  title =        "Formal Verification of a {Java} Compiler in
                 {Isabelle}",
  Journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2392",
  pages =        "63--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:10 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2392.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2392/23920063.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2392/23920063.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Suganuma:2002:ESM,
  author =       "Toshio Suganuma and Toshiaki Yasue and Toshio
                 Nakatani",
  title =        "An Empirical Study of Method In-lining for a {Java}
                 Just-in-Time Compiler",
  crossref =     "USENIX:2002:PJV",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue Oct 15 12:37:27 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/suganuma.html",
  acknowledgement = ack-nhfb,
}

@Manual{Sun:2002:BJP,
  author =       "{Sun Microsystems}",
  title =        "{BigDecimal (Java 2 Platform SE v1.4.0)}",
  organization = "Sun Microsystems",
  address =      "Mountain View, CA, USA",
  pages =        "17",
  year =         "2002",
  bibdate =      "Fri Nov 28 11:16:16 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://java.sun/com/products",
  abstract =     "Immutable, arbitrary-precision signed decimal numbers.
                 A BigDecimal consists of an arbitrary precision integer
                 unscaled value and a non-negative 32-bit integer scale,
                 which represents the number of digits to the right of
                 the decimal point. The number represented by the
                 BigDecimal is $ (\mbox {unscaledValue} / 10^{\mbox
                 {scale}}) $. BigDecimal provides operations for basic
                 arithmetic, scale manipulation, comparison, hashing,
                 and format conversion.",
  acknowledgement = ack-nhfb,
  keywords =     "decimal floating-point arithmetic",
}

@Article{Sung:2002:CPE,
  author =       "Minyoung Sung and Soyoung Kim and Sangsoo Park and
                 Naehyuck Chang and Heonshik Shin",
  title =        "Comparative performance evaluation of {Java} threads
                 for embedded applications: {Linux Thread} vs. {Green
                 Thread}",
  journal =      j-INFO-PROC-LETT,
  volume =       "84",
  number =       "4",
  pages =        "221--225",
  day =          "30",
  month =        nov,
  year =         "2002",
  CODEN =        "IFPLAT",
  ISSN =         "0020-0190 (print), 1872-6119 (electronic)",
  ISSN-L =       "0020-0190",
  bibdate =      "Mon Jan 26 08:44:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/00200190",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Processing Letters",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00200190",
}

@Article{Suppi:2002:PDP,
  author =       "R. Suppi and M. Solsona and E. Luque",
  title =        "Parasite: Distributing Processing Using {Java} Applets
                 (Research Note)",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2400",
  pages =        "598--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:14 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2400.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2400/24000598.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2400/24000598.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Surdeanu:2002:DPA,
  author =       "Mihai Surdeanu and Dan Moldovan",
  title =        "Design and Performance Analysis of a Distributed {Java
                 Virtual Machine}",
  journal =      j-IEEE-TRANS-PAR-DIST-SYS,
  volume =       "13",
  number =       "6",
  pages =        "611--627",
  month =        jun,
  year =         "2002",
  CODEN =        "ITDSEO",
  DOI =          "https://doi.org/10.1109/TPDS.2002.1011415",
  ISSN =         "1045-9219 (print), 1558-2183 (electronic)",
  ISSN-L =       "1045-9219",
  bibdate =      "Wed Oct 23 15:36:27 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dlib.computer.org/td/books/td2002/pdf/l0611.pdf;
                 http://www.computer.org/tpds/td2002/l0611abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Parallel and Distributed
                 Systems",
  journal-URL =  "http://www.computer.org/tpds/archives.htm",
}

@Article{Tanter:2002:AJS,
  author =       "{\'E}ric Tanter and Marc S{\'e}gura-Devillechaise and
                 Jacques Noy{\'e} and Jos{\'e} Piquer",
  title =        "Altering {Java} Semantics via Bytecode Manipulation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2487",
  pages =        "283--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:39 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2487.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2487/24870283.htm;
                 http://link.springer.de/link/service/series/0558/papers/2487/24870283.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Tate:2002:BJ,
  author =       "Bruce Tate",
  title =        "Bitter {Java}",
  publisher =    "Manning",
  address =      "Greenwich, CT, USA",
  pages =        "xxviii + 339",
  year =         "2002",
  ISBN =         "1-930110-43-X",
  ISBN-13 =      "978-1-930110-43-4",
  LCCN =         "QA76.73.J38 T38 2002",
  bibdate =      "Mon Mar 27 09:10:38 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Book{Taylor:2002:JJC,
  author =       "Art Taylor",
  title =        "{JSP} and {Java}: the complete guide to {Website}
                 development",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxii + 518",
  year =         "2002",
  ISBN =         "0-13-091813-X",
  ISBN-13 =      "978-0-13-091813-0",
  LCCN =         "QA76.73.J38 T39 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); Web sites --
                 design",
}

@Article{Thiruvathukal:2002:JMA,
  author =       "George K. Thiruvathukal",
  title =        "{Java} at Middle Age: Enabling {Java} for
                 Computational Science",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "4",
  number =       "1",
  pages =        "74--84",
  month =        jan # "\slash " # feb,
  year =         "2002",
  CODEN =        "CSENFA",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Sat Feb 23 06:37:34 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://computer.org/cise/cs2001/c1074abs.htm;
                 http://dlib.computer.org/cs/books/cs2002/pdf/c1074.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Article{Tilevich:2002:JOA,
  author =       "Eli Tilevich and Yannis Smaragdakis",
  title =        "{J}-Orchestra: Automatic {Java} Application
                 Partitioning",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2374",
  pages =        "178--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:57 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2374.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2374/23740178.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2374/23740178.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Tilly:2002:ADG,
  author =       "Jesse E. Tilly and Eric M. Burke",
  title =        "{Ant}: The Definitive Guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xviii + 269",
  year =         "2002",
  ISBN =         "0-596-00184-3",
  ISBN-13 =      "978-0-596-00184-1",
  LCCN =         "QA76.73.J38 T57 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$34.95",
  URL =          "http://safari.oreilly.com/0596001843;
                 http://www.oreilly.com/catalog/anttdg",
  acknowledgement = ack-nhfb,
  keywords =     "Ant (computer file); Java (computer program
                 language)",
  publishersummary = "Ant is the premier build-management tool for Java
                 environments. Ant is part of Jakarta, the Apache
                 Software Foundation's open source Java project
                 repository. Ant is written entirely in Java, and is
                 platform independent. Using XML, a Java developer
                 describes the modules involved in a build, and the
                 dependencies between those modules. Ant then does the
                 rest, compiling components as necessary in order to
                 build the application.",
}

@Article{Tip:2002:PET,
  author =       "Frank Tip and Peter F. Sweeney and Chris Laffra and
                 Aldo Eisma and David Streeter",
  title =        "Practical Extraction Techniques for {Java}",
  journal =      j-TOPLAS,
  volume =       "24",
  number =       "6",
  pages =        "625--666",
  month =        nov,
  year =         "2002",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Apr 9 18:34:46 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Ton:2002:APS,
  author =       "L.-R. Ton and L.-C. Chang and C.-P. Chung",
  title =        "An analytical {POC} stack operations folding for
                 continuous and discontinuous {Java} bytecodes",
  journal =      j-J-SYST-ARCH,
  volume =       "48",
  number =       "1",
  pages =        "1--16",
  month =        sep,
  year =         "2002",
  CODEN =        "JSARFB",
  ISSN =         "1383-7621 (print), 1873-6165 (electronic)",
  ISSN-L =       "1383-7621",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Systems Architecture",
  pagecount =    "16",
}

@Article{Ton:2002:DOF,
  author =       "L.-R. Ton and L.-C. Chang and J.-J. Shann and C.-P.
                 Chung",
  title =        "Design of an optimal folding mechanism for {Java}
                 processors",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "26",
  number =       "8",
  pages =        "341--352",
  day =          "10",
  month =        nov,
  year =         "2002",
  CODEN =        "MIMID5",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
  pagecount =    "12",
}

@Article{Tonella:2002:CSC,
  author =       "P. Tonella and A. Potrich",
  title =        "{Cjj}: a subset of {C++} compliant with {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "42",
  number =       "2",
  pages =        "229--271",
  month =        feb,
  year =         "2002",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
  pagecount =    "43",
}

@Book{Topley:2002:CJJ,
  author =       "Kim Topley",
  title =        "Core {JFC}: {Java} foundation classes",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  edition =      "Second",
  pages =        "xli + 1655",
  year =         "2002",
  ISBN =         "0-13-090581-X",
  ISBN-13 =      "978-0-13-090581-9",
  LCCN =         "QA76.73.J38 T67 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  price =        "US\$49.99",
  series =       "Prentice Hall PTR core series",
  URL =          "http://www.phptr.com/ptrbooks/ptr_013090581X.html",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); Java foundation
                 classes",
}

@Book{Topley:2002:JND,
  author =       "Kim Topley",
  title =        "{J2ME} in a nutshell: a desktop quick reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xv + 450",
  year =         "2002",
  ISBN =         "0-596-00253-X",
  ISBN-13 =      "978-0-596-00253-4",
  LCCN =         "QA76.73.J38 T67 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Nutshell handbook",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); wireless
                 communication systems",
}

@Article{Tozawa:2002:FAC,
  author =       "A. Tozawa and M. Hagiya",
  title =        "Formalization and Analysis of Class Loading in
                 {Java}",
  journal =      j-HIGHER-ORDER-SYMB-COMPUT,
  volume =       "15",
  number =       "1",
  pages =        "7--55",
  month =        mar,
  year =         "2002",
  CODEN =        "LSCOEX",
  ISSN =         "1388-3690 (print), 2212-0793 (electronic)",
  ISSN-L =       "1388-3690",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Higher-Order and Symbolic Computation",
  pagecount =    "49",
}

@Article{Tremblett:2002:JUR,
  author =       "Paul Tremblett",
  title =        "{Java} and {UDDI} Registries",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "34, 37--40",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/juddi.txt;
                 http://www.ddj.com/ftp/2002/2002_09/juddi.zip;
                 http://www.ddj.com/ftp/2002/2002_09/uddi.war",
  abstract =     "Applications that require web services send requests
                 to services at advertised URLs. Paul shows how your
                 Java applications can contact business registries, such
                 as UDDI, and retrieve information from them. Additional
                 resources include juddi.txt (listings) and juddi.zip ,
                 uddi.war (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Tremblett:2002:PTJ,
  author =       "Paul Tremblett",
  title =        "Programmer's Toolchest: {Java}'s {Generic Connection
                 Framework}: Wireless networking for mobile devices",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "75--78, 80",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/javagcf.txt;
                 http://www.ddj.com/ftp/2002/2002_04/javagcf.zip",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Trentini:2002:JBF,
  author =       "Andrea Trentini",
  title =        "A {Java}-based framework to support computer-assisted
                 creation of structured {XML} documents",
  journal =      j-SIGAPP,
  volume =       "10",
  number =       "1",
  pages =        "48--53",
  month =        apr,
  year =         "2002",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/568235.568245",
  ISSN =         "1559-6915 (print), 1931-0161 (electronic)",
  ISSN-L =       "1559-6915",
  bibdate =      "Thu Jan 23 10:21:35 MST 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigapp2000.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/568235.568245",
  abstract =     "In the management of document-based information, the
                 structure of the document itself is very important. In
                 the XML world you can use a DTD (Document Type
                 Definition) or XMLSchema to define that structure. But
                 not everything can be described (and forced).
                 \ldots{}",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGAPP Applied Computing Review",
  journal-URL =  "https://dl.acm.org/loi/sigapp",
}

@Book{Tulachan:2002:DEC,
  author =       "Pravin V. Tulachan",
  title =        "Developing {EJB 2.0} Components",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "xxx + 622",
  year =         "2002",
  ISBN =         "0-13-034863-5",
  ISBN-13 =      "978-0-13-034863-0",
  LCCN =         "QA76.73.J38T85 2002",
  bibdate =      "Fri Apr 11 15:40:33 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun BluePrints Program",
  URL =          "http://www.sun.com/books/catalog/tulachan/",
  acknowledgement = ack-nhfb,
}

@Article{Umar:2002:ERT,
  author =       "S. Umar",
  title =        "Embedded Real-Time {Java} in an {MPU}",
  journal =      "Circuit Cellar",
  volume =       "148",
  pages =        "12--22",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1528-0608",
  bibdate =      "Tue Nov 26 06:24:58 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@TechReport{USFS:2002:JGI,
  author =       "{United States Forest Service}",
  title =        "{JMFA} --- {A} Graphically Interactive {Java} Program
                 That Fits Microfibril Angle {X}-Ray Diffraction Data",
  type =         "Research Note",
  number =       "FPL-RN-0283",
  institution =  "U.S. Department of Agriculture",
  address =      "Washington, DC, USA",
  year =         "2002",
  LCCN =         "DOC A 13.79:FPL-RN-0283 mf11 Microcopy",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Shipping List number 2002-0228-M. Shipping List Date:
                 5-Apr-2002",
  acknowledgement = ack-nhfb,
}

@Book{vanderLinden:2002:JJ,
  author =       "Peter van der Linden",
  title =        "Just {Java 2}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  edition =      "Fifth",
  pages =        "xxxv + 1098",
  year =         "2002",
  ISBN =         "0-13-032072-2",
  ISBN-13 =      "978-0-13-032072-8",
  LCCN =         "QA76.73.J38 V3625 2002b",
  bibdate =      "Tue Mar 12 07:54:07 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  URL =          "http://www.phptr.com/ptrbooks/ptr_0130320722.html;
                 http://www.sun.com/books/catalog/vanderlinden6/index.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Vandewoude:2002:JID,
  author =       "Y. Vandewoude and D. Urting and K. Pelckmans and Y.
                 Berbers",
  title =        "A {Java}-Interface to Digital Cameras",
  journal =      "Applied Informatics",
  volume =       "2",
  pages =        "113--118",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1027-2666",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{vonLaszewski:2002:FJC,
  author =       "Gregor von Laszewski and Jarek Gawor and Peter Lane
                 and Nell Rehn and Mike Russell",
  title =        "Features of the {Java Commodity Grid Kit}",
  journal =      j-CCPE,
  volume =       "14",
  number =       "13--15",
  pages =        "1045--1055",
  month =        nov # "\slash " # dec,
  year =         "2002",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.674",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:02 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "8 Jan 2003",
}

@Article{vonOheimb:2002:HLN,
  author =       "David von Oheimb and Tobias Nipkow",
  title =        "{Hoare} Logic for {NanoJava}: Auxiliary Variables,
                 Side Effects, and Virtual Methods Revisited",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2391",
  pages =        "89--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:10:10 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2391.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2391/23910089.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2391/23910089.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Walsh:2002:JAJ,
  author =       "Aaron E. Walsh and Doug Gehringer",
  title =        "{Java 3D API} jump-start",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xviii + 245 + 16",
  year =         "2002",
  ISBN =         "0-13-034076-6",
  ISBN-13 =      "978-0-13-034076-4",
  LCCN =         "QA76.73.J38 W35 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Prentice Hall PTR jump-start series",
  URL =          "http://www.sun.com/books/catalog/walsh/",
  acknowledgement = ack-nhfb,
  keywords =     "computer graphics; Java (computer program language)",
}

@Article{Walsh:2002:MJA,
  author =       "Aaron E. Walsh",
  title =        "The {MPEG-4 Java API} and {MPEGlets}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "40, 42--45",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/jmpeg.txt;
                 http://www.ddj.com/ftp/2002/2002_04/jmpeg.zip",
  abstract =     "Aaron introduces a suite of Java APIs for MPEG-4 and
                 shows how you can use them to build highly dynamic and
                 interactive content. Additional resources include
                 jmpeg.txt (listings) and jmpeg.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Walsh:2002:USG,
  author =       "Aaron E. Walsh",
  title =        "Understanding Scene Graphs",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "17, 20--26",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/scene.txt;
                 http://www.ddj.com/ftp/2002/2002_07/scene.zip",
  abstract =     "Scene graphs are data structures used to organize and
                 manage a variety of media types, including those
                 supported by VRML, Extensible 3D, MPEG-4, and Java 3D.
                 Additional resources include scene.txt (listings) and
                 scene.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Wampler:2002:EOO,
  author =       "Bruce E. Wampler",
  title =        "The essence of object-oriented programming with {Java}
                 and {UML}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xix + 290",
  year =         "2002",
  ISBN =         "0-201-73410-9",
  ISBN-13 =      "978-0-201-73410-2",
  LCCN =         "QA76.64 .W359 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science); UML (computer
                 science)",
}

@Article{Wang:2002:CSP,
  author =       "G. Wang",
  title =        "{Ch} solves portability headaches",
  journal =      j-IEEE-SPECTRUM,
  volume =       "39",
  number =       "6",
  pages =        "59--59",
  month =        jun,
  year =         "2002",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2002.1049264",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "Computer languages; Expert systems; ISO standards;
                 Java; Microcomputers; Numerical analysis; Operating
                 systems; Systems engineering and theory; Web server;
                 Workstations",
}

@Article{Wang:2002:JEC,
  author =       "L. Wang and B. Wong and W. Shen and S. Lang",
  title =        "A {Java} {$3$D}-Enabled Cyber Workspace",
  journal =      j-CACM,
  volume =       "45",
  number =       "11",
  pages =        "45--49",
  month =        nov,
  year =         "2002",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Tue Nov 19 09:39:05 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Wang:2002:UJH,
  author =       "A. J. A. Wang",
  title =        "Using {Java Hartstone} benchmark in a real-time
                 systems course",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "3",
  number =       "??",
  pages =        "S2F-25--??",
  year =         "2002",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Article{Warnes:2002:HJL,
  author =       "Gregory R. Warnes",
  title =        "{HYDRA}: a {Java} library for {Markov} Chain {Monte
                 Carlo}",
  journal =      j-J-STAT-SOFT,
  volume =       "7",
  number =       "4",
  pages =        "1--32",
  year =         "2002",
  CODEN =        "JSSOBK",
  ISSN =         "????",
  bibdate =      "Sun Nov 17 22:35:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://software.biostat.washington.edu/statsoft/MCMC/Hydra;
                 http://software.biostat.washington.edu/statsoft/MCMC/Hydra/INSTALL.html;
                 http://www.jstatsoft.org/v07/i04;
                 http://www.jstatsoft.org/v07/i04/Description.pdf;
                 http://www.jstatsoft.org/v07/i04/Hydra_1.0.0.jar;
                 http://www.jstatsoft.org/v07/i04/Hydra_1.0.0.tgz;
                 http://www.jstatsoft.org/v07/i04/updates;
                 http://www.jstatsoft.org/v07/i04/UserGuide.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
}

@Article{Watari:2002:FTU,
  author =       "S. Watari",
  title =        "A Forecast Tool using {JavaScript} for Predicting
                 Arrival Time of Interplanetary Disturbances to the
                 {Earth}",
  journal =      "Journal --- Communications Research Laboratory",
  volume =       "49",
  number =       "4",
  pages =        "47--54",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0914-9260",
  bibdate =      "Mon Feb 23 16:27:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Weiss:2002:DSP,
  author =       "Mark Allen Weiss",
  title =        "Data structures and problem solving using {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxxiv + 886",
  year =         "2002",
  ISBN =         "0-201-74835-5",
  ISBN-13 =      "978-0-201-74835-2",
  LCCN =         "QA76.73.J38 W45 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language); problem solving -- data processing",
}

@Book{Weissinger:2002:DJC,
  author =       "A. Keyton Weissinger",
  title =        "Developing {JSP} custom tag libraries",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "????",
  year =         "2002",
  ISBN =         "0-596-00155-X",
  ISBN-13 =      "978-0-596-00155-1",
  LCCN =         "QA76.73.J38 W46 2002",
  bibdate =      "Mon Apr 18 15:03:13 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596001551",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); JavaServer pages,
                 angela@oreilly.com",
}

@Article{Welch:2002:CNJ,
  author =       "P. H. Welch and J. R. Aldous and J. Foster",
  title =        "{CSP} Networking for {Java} {(JCSP.net)}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2330",
  pages =        "695--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:35 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2330.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2330/23300695.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2330/23300695.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Welch:2002:POD,
  author =       "P. H. Welch",
  title =        "Process Oriented Design for {Java}: Concurrency for
                 All",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2330",
  pages =        "687--??",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 10 19:09:35 MDT 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2330.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2330/23300687.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2330/23300687.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Whaley:2002:AEO,
  author =       "John Whaley and Michael C. Martin and Monica S. Lam",
  title =        "Automatic extraction of object-oriented component
                 interfaces",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "218--228",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566212",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "Component-based software design is a popular and
                 effective approach to designing large systems. While
                 components typically have well-defined interfaces,
                 sequencing information---which calls must come in which
                 order---is often not formally specified. This paper
                 proposes using multiple finite statemachine (FSM)
                 submodels to model the interface of a class. A submodel
                 includes a subset of methods that, for example,
                 implement a Java interface, or access some particular
                 field. Each state-modifying method is represented as a
                 state in the FSM, and transitions of the FSMs represent
                 allow able pairs of consecutive methods. In addition,
                 state-preserving methods are constrained to execute
                 only under certain states. We have designed and
                 implemented a system that includes static analyses to
                 deduce illegal call sequences in a program, dynamic
                 instrumentation techniques to extract models from
                 execution runs, and a dynamic model checker that
                 ensures that the code conforms to the model. Extracted
                 models can serve as documentation; they can serve as
                 constraints to be enforced by a static checker; they
                 can be studied directly by developers to determine if
                 the program is exhibiting unexpected behavior; or they
                 can be used to determine the completeness of a test
                 suite. Our system has been run on several large code
                 bases, including the joeq virtual machine, the basic
                 Java libraries, and the Java 2 Enterprise Edition
                 library code. Our experience suggests that this
                 approach yields useful information.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Wick:2002:UEC,
  author =       "Michael R. Wick and Daniel E. Stevenson and Andrew T.
                 Phillips",
  title =        "Using an environment chain model to teach inheritance
                 in {C++}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "297--301",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563458",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "Inheritance is a central topic in most introductory
                 object-oriented programming courses and frequently the
                 most challenging for students to comprehend. The
                 difficulties students experience often center around
                 the rather complicated and obscure dynamic method
                 invocation algorithms used in languages like C++ and
                 Java. We present a visual model for teaching
                 inheritance that captures the essential aspects of
                 these algorithms yet is easy for students to comprehend
                 and apply.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@MastersThesis{Wildmoser:2002:SJB,
  author =       "M. Wildmoser",
  title =        "Subroutines and {Java} bytecode verification",
  type =         "Master's Thesis",
  school =       "Institut f{\"u}r Informatik, Technische
                 Universit{\"a}t M{\"u}nchen",
  address =      "Munich, Germany",
  year =         "2002",
  bibdate =      "Thu Dec 01 07:15:41 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Willrich:2002:MAH,
  author =       "R. Willrich and P. {De Saqui-Sannes} and P. Senac and
                 M. Diaz",
  title =        "Multimedia Authoring with Hierarchical Timed Stream
                 {Petri} Nets and {Java}",
  journal =      j-MULTIMEDIA-TOOLS-APPLIC,
  volume =       "16",
  number =       "1--2",
  pages =        "7--27",
  month =        jan,
  year =         "2002",
  CODEN =        "MTAPFB",
  ISSN =         "1380-7501",
  ISSN-L =       "1380-7501",
  bibdate =      "Fri Nov 8 05:39:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Multimedia Tools and Applications",
  pagecount =    "21",
}

@Article{Winiecki:2002:NJB,
  author =       "W. Winiecki and M. Karkowski",
  title =        "A New {Java}-Based Software Environment for
                 Distributed Measuring Systems Design",
  journal =      j-IEEE-TRANS-INSTRUM-MEAS,
  volume =       "51",
  number =       "6",
  pages =        "1340--1346",
  year =         "2002",
  CODEN =        "IEIMAO",
  ISSN =         "0018-9456 (print), 1557-9662 (electronic)",
  ISSN-L =       "0018-9456",
  bibdate =      "Tue Mar 4 09:14:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Instrumentation and Measurement",
}

@Article{Winkler:2002:SVU,
  author =       "J{\"u}rgen F. H. Winkler",
  title =        "A safe variant of the unsafe integer arithmetic of
                 {Java$^{TM}$}",
  journal =      j-SPE,
  volume =       "32",
  number =       "7",
  pages =        "669--701",
  month =        jun,
  year =         "2002",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.454",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 16 18:25:58 MDT 2002",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract/94515736/START;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=94515736&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "arithmetics in programming languages; divide-by-zero;
                 floating-point arithmetic; IEEE 754; Java; overflow;
                 program structure; range limitation; rounding; safe
                 arithmetic operations; underflow; zero-divide",
}

@Article{Witten:2002:DMP,
  author =       "Ian H. Witten and Eibe Frank",
  title =        "Data mining: practical machine learning tools and
                 techniques with {Java} implementations",
  journal =      "SIGMOD",
  volume =       "31",
  number =       "1",
  pages =        "76--77",
  month =        mar,
  year =         "2002",
  bibdate =      "Mon Jan 12 07:43:33 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Book{Wood:2002:JPS,
  author =       "Jo Wood",
  title =        "{Java} programming for spatial sciences",
  publisher =    "Taylor and Francis",
  address =      "New York, NY, USA",
  pages =        "320",
  year =         "2002",
  ISBN =         "0-415-26098-1 (paperback), 0-415-26097-3 (cloth)",
  ISBN-13 =      "978-0-415-26098-5 (paperback), 978-0-415-26097-8
                 (cloth)",
  LCCN =         "QA76.73.J38 W6615 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "geographic information systems; Java (computer program
                 language)",
}

@Article{Workman:2002:CMT,
  author =       "David A. Workman",
  title =        "A class and method taxonomy for object-oriented
                 programs",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "2",
  pages =        "53--58",
  month =        mar,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/511152.511161",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:17 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "The object-oriented approach to software design
                 together with the programming languages (C++, Java, and
                 Ada95) and design notations (e.g. UML) that support
                 this paradigm, have precipitated new interest in
                 developing and tailoring software metrics to more
                 effectively quantify properties of OO systems. To be
                 specific, this research on OO software is motivated by
                 two related problems. (1) In many computer science
                 courses instructors are torn between two conflicting
                 goals: (a) increasing the number and difficulty of
                 programming assignments to raise students' problem
                 solving skills and maturity, while on the other hand,
                 (b) giving meaningful feedback on the correctness and
                 quality of programs they write. To address this
                 problem, we are developing an automated Java program
                 grading system. This system will compare student
                 programs to an oracle program prepared by the
                 instructor for a given assignment. The oracle program
                 represents the ``ideal'' solution. In addition to
                 computing a quantitative score for a student program,
                 the grading program will also provide feedback on
                 modifications or changes the student could or should
                 make to improve the quality of the design of his or her
                 solution. (2) A problem that is all too common in the
                 computing industry is software theft. This has led to
                 much copyright infringement litigation within our court
                 system. As an expert witness in such cases, one of the
                 tasks I have been frequently asked to perform is
                 evaluate two programs to determine the nature and
                 extent of their similarity. A tool, such as our planned
                 program grading system, is needed to facilitate the
                 kind of analysis required in such cases. In the
                 academic world, the equivalent to software theft is
                 plagiarism. Therefore, as an application complementary
                 to program grading, our proposed system will also serve
                 as a tool for identifying ``cheaters'' by comparing two
                 student programs to one another, rather than to the
                 oracle. So, in summary, our goal is to develop the key
                 algorithms and eventually a program analysis system
                 that will effectively determine the similarity of two
                 programs written in the same language. Since Java is
                 becoming one of the most widely used programming
                 languages, and because of its relatively ``clean''
                 syntax and semantics, Java will provide the focus for
                 our initial investigation. Java programs are composed
                 of three essential building blocks: packages, classes,
                 and methods. Methods are the functional or procedural
                 units that perform or realize the algorithms necessary
                 to solve a computational problem. Methods are grouped
                 with encapsulated data to define classes -new types
                 that extend Java's set of primitive types. Finally,
                 classes are organized into subsystems or libraries
                 using packages. Thus, when comparing two Java programs
                 to determine their similarity, we must establish a
                 correspondence between the packages, classes, and
                 methods of the two programs under consideration. This
                 suggests we must ascertain for a given pair of units,
                 one from each program whether or not they are
                 sufficiently similar to warrant being identified as
                 ``matching'' in our correspondence analysis. To be
                 similar, they must be ``doing the essentially the same
                 thing'' -that is, they must both serve the same
                 computational purpose. Assuming we are successful in
                 developing some technique for determining similarity of
                 purpose, we are still faced with the potentially large
                 numbers of unit-pairs that must be considered in our
                 analysis. The sheer magnitude of our computational
                 problem thus looms as a major obstacle to obtaining any
                 real practical solution. Using the names of units to
                 limit what pairs need to be compared, while certainly
                 reducing the potential computational load, is not a
                 very reliable strategy --- particularly if the author
                 of one program has made a deliberate attempt to
                 disguise similarity with another program by uniformly
                 changing names. Thus, in an attempt to address the
                 computational load problem and the identification
                 problem for comparison analysis, we plan to make an
                 initial pass over each program to categorize methods
                 and classes according to their purpose. The rationale
                 for this is: two units will be selected for detailed
                 comparison analysis only if they belong to of the same
                 purpose category. The focus of this paper, therefore,
                 is to present definitions and examples of the purpose
                 categories for methods and classes. How these purpose
                 categories will be used in a larger comparison strategy
                 is beyond the scope of this work. Refer to Lan[13] for
                 further a more complete and detailed description of our
                 methodology.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Wyatt:2002:ISI,
  author =       "Jason N. Wyatt and Martha J. Kosa and Mark A.
                 Boshart",
  title =        "Implementing student ideas in {CS2}: a simple {IDE}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "224--224",
  month =        sep,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/637610.544492",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:56 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "It is very hard for faculty members to create
                 programming assignments that are simultaneously
                 challenging, accessible, and practical for students
                 year after year. In some advanced undergraduate
                 courses, most notably software engineering courses,
                 students may specify their own programming projects. We
                 demonstrate here that it is also possible for beginning
                 undergraduate students to have good ideas for realistic
                 programming projects, specifically a simple IDE
                 (Integrated Development Environment) program which lets
                 the user generate a basic GUI. The program then
                 produces as output a Java source file, with some
                 event-handling code, which can reproduce the GUI. Of
                 course, we can't and don't expect the program to have
                 all the features of a professional IDE, but it could be
                 useful for CS1/CS2 students. A freshman CS2 student
                 conceived and implemented this assignment in the Spring
                 2001 semester as part of an honors contract. Honors
                 students elect to do extra work in courses for credit
                 toward graduation with honors. Such a student designs a
                 contract, to be approved by the instructor, indicating
                 the extra work and its effect on the final grade.
                 Although an honors student developed this project, this
                 project is suitable in general for CS2 students. We now
                 describe the features of the project. A settings frame
                 and a drawing frame appear first. The settings frame
                 allows the user to name the Java output file. It also
                 has a Save button, a text field to control the arrow
                 keys, and checkboxes that allow the user to choose if a
                 main method will appear in the output file, if the
                 resulting application frame will be centered on the
                 screen, and if window listener code will be generated
                 for the application frame. The right mouse button is
                 used to add a component. When the mouse is released,
                 the user chooses the component's type and then the
                 desired variable name and caption. Components appear as
                 black unfilled rectangles. The component declarations
                 (alphabetically by variable name) and skeleton code for
                 handling button clicks will appear in the output file.
                 Clicking the left mouse button in a rectangle turns the
                 rectangle red. The shift key and the left mouse button
                 move such a component. The arrow keys resize the
                 component. Component sizes will be preserved in the
                 output file. The component's properties are updated
                 with the C key. The delete key removes the component.
                 We believe that this project is a challenging (but not
                 impossible) and useful application of CS2 concepts.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Yan:2002:RCC,
  author =       "C. Yan",
  title =        "Race condition and concurrency safety of multithreaded
                 object-oriented programming in {Java}",
  journal =      "IEEE International Conference on Systems Man and
                 Cybernetics",
  volume =       "6",
  pages =        "??--??",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1062-922X",
  bibdate =      "Tue Apr 8 06:53:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  xxpages =      "WA1Q3",
}

@Article{Yanagiuchi:2002:LJI,
  author =       "S. Yanagiuchi and T. Kiyohara and N. Shiraishi and K.
                 Mori and M. Ohkita",
  title =        "{Linux\slash Java} Implemented Personal Mobile Tool
                 {SL-A300}",
  journal =      "Sharp Technical Journal",
  volume =       "84",
  publisher =    "Sharp Kabushiki Gaisha Gijutsu Honbu",
  pages =        "31--32",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0285-0362",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Yavuz-Kahveci:2002:SVS,
  author =       "Tuba Yavuz-Kahveci and Tevfik Bultan",
  title =        "Specification, verification, and synthesis of
                 concurrency control components",
  journal =      j-SIGSOFT,
  volume =       "27",
  number =       "4",
  pages =        "169--179",
  month =        jul,
  year =         "2002",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/566171.566199",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:20 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Run-time errors in concurrent programs are generally
                 due to the wrong usage of synchronization primitives
                 such as monitors. Conventional validation techniques
                 such as testing become ineffective for concurrent
                 programs since the state space increases exponentially
                 with the number of concurrent processes. In this paper,
                 we propose an approach in which (1) the concurrency
                 control component of a concurrent program is formally
                 specified, (2) it is verified automatically using model
                 checking, and (3) the code for concurrency control
                 component is automatically generated. We use monitors
                 as the synchronization primitive to control access to a
                 shared resource by multipleconcurrent processes. Since
                 our approach decouples the concurrency control
                 component from the rest of the implementation it is
                 scalable. We demonstrate the usefulness of our approach
                 by applying it to a case study on Airport Ground
                 Traffic Control. We use the Action Language to specify
                 the concurrency control component of a system. Action
                 Language is a specification language for reactive
                 software systems. It is supported by an infinite-state
                 model checker that can verify systems with boolean,
                 enumerated and unbounded integer variables. Our code
                 generation tool automatically translates the verified
                 Action Language specification into a Java monitor. Our
                 translation algorithm employs symbolic manipulation
                 techniques and the specific notification pattern to
                 generate an optimized monitor class by eliminating the
                 context switch overhead introduced as a result of
                 unnecessary thread notification. Using counting
                 abstraction, we show that we can automatically verify
                 the monitor specifications for arbitrary number of
                 threads.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Young:2002:EXJ,
  author =       "David Young",
  title =        "{Enhydra XMLC Java} presentation development",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xiii + 483",
  year =         "2002",
  ISBN =         "0-672-32211-0",
  ISBN-13 =      "978-0-672-32211-2",
  LCCN =         "QA76.76.A65 Y68 2002",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; Java (computer
                 program language); mobile computing",
}

@Article{Yuan:2002:JQH,
  author =       "Michael J. Yuan",
  title =        "{Java Q\&A}: How Do {I} Map {SQL} Database Tables to
                 {Java} Objects?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "89--90, 92--94",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/jqa0302.txt;
                 http://www.ddj.com/ftp/2002/2002_03/jqa0302.zip",
  abstract =     "How Do I Map SQL Database Tables to Java Objects?
                 Additional resources include {\tt jqa0302.txt}
                 (listings) and {\tt jqa0302.zip} (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Yuniar:2002:KFJ,
  author =       "A. T. Yuniar and Andreas and T. Walter",
  title =        "{,,Kodok'' --- Froschzucht auf Java}",
  journal =      "Datz",
  volume =       "55",
  number =       "12",
  publisher =    "Eugen Ulmer Gmbh \& Co.",
  pages =        "18--21",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "0723-4066",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@MastersThesis{Zaraysky:2002:OJP,
  author =       "Gregory Zaraysky",
  title =        "Optimization of {Java} programs for embedded systems",
  type =         "Thesis (M.S.)",
  school =       "University of California, Santa Cruz",
  address =      "Santa Cruz, CA, USA",
  year =         "2002",
  LCCN =         "QA76.73.J38 Z37 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer science; Java (computer program language);
                 masters theses -- University of California, Santa Cruz
                 -- computer science; object-oriented programming
                 (computer science)",
}

@InProceedings{Zendra:2002:STC,
  author =       "Olivier Zendra and Karel Driesen",
  title =        "Stress-testing Control Structures for Dynamic Dispatch
                 in {Java}",
  crossref =     "USENIX:2002:PJV",
  pages =        "??--??",
  year =         "2002",
  bibdate =      "Tue Oct 15 12:37:27 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/javavm02/zendra.html",
  acknowledgement = ack-nhfb,
}

@Article{ZenilC:2002:GJP,
  author =       "H{\'e}ctor {Zenil C.}",
  title =        "Good {JavaServer} Pages Introduction: a review of {Web
                 Development with JavaServer Pages}, 2nd edition by
                 {Duane K. Fields} and {Mark A. Kolb}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "3",
  number =       "6",
  year =         "2002",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Wed Oct 23 17:47:56 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0206/departments/bks_c.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Zhao:2002:UJB,
  author =       "J. Zhao and L. Xiang and K. Nishimi and T. Harada",
  title =        "Understanding {Java} Bytecode Programs using {Kafer}",
  journal =      "Applied Informatics",
  volume =       "2",
  pages =        "108--112",
  year =         "2002",
  CODEN =        "????",
  ISSN =         "1027-2666",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Zhou:2002:GCA,
  author =       "Q. Zhou and P. Tarau",
  title =        "Garbage Collection Algorithms for {Java}-Based
                 {Prolog} Engines",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2562",
  pages =        "304--319",
  year =         "2002",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Feb 11 05:32:25 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Abraham:2003:IPO,
  author =       "E. Abraham and F. S. deBoer and W. P. deRoever and M.
                 Steffen",
  title =        "Inductive Proof Outlines for Monitors in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2884",
  pages =        "155--169",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 15 12:30:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Abraham:2003:TSP,
  author =       "E. Abraham and F. S. deBoer and W. P. deRoever and M.
                 Steffen",
  title =        "A Tool-Supported Proof System for Multithreaded
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2852",
  pages =        "1--32",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 11 05:21:36 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Adams:2003:OCD,
  author =       "J. Adams and J. Frens",
  title =        "Object Centered Design for {Java}: Teaching {OOD} in
                 {CS-1}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "273--277",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Adl-Tabatabai:2003:SDC,
  author =       "Ali-Reza Adl-Tabatabai and Jay Bharadwaj and Dong-Yuan
                 Chen and Anwar Ghuloum and Vijay Menon and Brian Murphy
                 and Mauricio Serrano and Tatiana Shpeisman",
  title =        "The {StarJIT} Compiler: a Dynamic Compiler for Managed
                 Runtime Environments",
  journal =      j-INTEL-TECH-J,
  volume =       "7",
  number =       "1",
  pages =        "19--31",
  month =        feb,
  year =         "2003",
  ISSN =         "1535-766X",
  bibdate =      "Wed Dec 10 15:50:48 2003",
  bibsource =    "http://developer.intel.com/technology/itj/2003/volume07issue01/index.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://developer.intel.com/technology/itj/2003/volume07issue01/art02_starjit/p01_abstract.htm",
  acknowledgement = ack-nhfb,
  keywords =     "Common Language Runtime; dynamic optimization; Java;
                 JIT; Just-in-time compiler; virtual machine",
}

@Article{Agarwal:2003:TIP,
  author =       "R. Agarwal and S. D. Stoller",
  title =        "Type Inference for Parameterized Race-Free {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2937",
  pages =        "149--160",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Feb 9 12:01:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Aissi:2003:RAW,
  author =       "Selim Aissi",
  title =        "Runtime Environment Security Models",
  journal =      j-INTEL-TECH-J,
  volume =       "7",
  number =       "1",
  pages =        "60--67",
  month =        feb,
  year =         "2003",
  ISSN =         "1535-766X",
  bibdate =      "Wed Dec 10 15:50:48 2003",
  bibsource =    "http://developer.intel.com/technology/itj/2003/volume07issue01/index.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://developer.intel.com/technology/itj/2003/volume07issue01/art05_security/p01_abstract.htm",
  acknowledgement = ack-nhfb,
  keywords =     "access control; ASP.NET security; CLR security; Java
                 security; JRE security; runtime access control models;
                 runtime security; sandbox; security models",
}

@Article{Albrecht:2003:TJI,
  author =       "Matt Albrecht",
  title =        "Testing {Java} Interfaces with {Junit}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "24, 26, 28",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302c/",
  abstract =     "The GroboUtils JUnit Extension lets you write tests
                 for inherited logic, leading to better maintainability
                 and lower test-development costs.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Aldinucci:2003:AES,
  author =       "M. Aldinucci and M. Danelutto and P. Teti",
  title =        "An advanced environment supporting structured parallel
                 programming in {Java}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "19",
  number =       "5",
  pages =        "611--626",
  month =        jul,
  year =         "2003",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Tue Jun 3 08:07:59 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
  remark =       "Tools for Program Development and Analysis. Best
                 papers from two Technical Sessions, at ICCS2001, San
                 Francisco, CA, USA, and ICCS2002, Amsterdam, The
                 Netherlands.",
}

@Article{Aldrich:2003:CSE,
  author =       "Jonathan Aldrich and Emin G{\"u}n Sirer and Craig
                 Chambers and Susan J. Eggers",
  title =        "Comprehensive synchronization elimination for {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "47",
  number =       "2--3",
  pages =        "91--120",
  month =        may # "\slash " # jun,
  year =         "2003",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Sun Jan 11 10:42:03 MST 2004",
  bibsource =    "http://www.elsevier.com/locate/issn/01676423;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
  remark =       "Special Issue on Static Analysis (SAS'99).",
}

@Article{Aleksy:2003:DIB,
  author =       "M. Aleksy and M. Schader and A. Schnell",
  title =        "Design and Implementation of a Bridge between
                 {CORBA}'s {Notification Service} and the {Java Message
                 Service} ({STDOC02})",
  journal =      "Proceedings of the Annual Hawaii International
                 Conference on System Sciences",
  volume =       "CONF36",
  pages =        "318",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1060-3425",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Allen:2003:SJP,
  author =       "Matthew Allen and Susan Horwitz",
  title =        "Slicing {Java} programs that throw and catch
                 exceptions",
  journal =      j-SIGPLAN,
  pages =        "284--294",
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Allman:2003:EXR,
  author =       "Mark Allman",
  title =        "An evaluation of {XML-RPC}",
  journal =      j-SIGMETRICS,
  volume =       "30",
  number =       "4",
  pages =        "2--11",
  month =        mar,
  year =         "2003",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/773056.773057",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Thu Jun 26 11:41:22 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper explores the complexity and performance of
                 the XML-RPC system for remote method invocation. We
                 developed a program that can use either XML-RPC-based
                 network communication or a hand-rolled version of
                 networking code based on the java.net package. We first
                 compare our two implementations using traditional
                 object-oriented metrics. In addition, we conduct tests
                 over a local network and the Internet to assess the
                 performance of the two versions of the networking code
                 using traditional internetworking metrics. We find that
                 XML-RPC reduces the programming complexity of the
                 software by roughly 50\% (across various metrics). On
                 the other hand, the hand-rolled java.net-based
                 implementation offers up to an order of magnitude
                 better network performance in some of our tests.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
}

@Article{Alt:2003:PGS,
  author =       "M. Alt and S. Gorlatch",
  title =        "A Prototype {Grid} System Using {Java} and {RMI}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2763",
  pages =        "401--414",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Alt:2003:USJ,
  author =       "M. Alt and S. Gorlatch",
  title =        "Using Skeletons in a {Java}-Based {Grid} System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2790",
  pages =        "742--749",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Alvarez:2003:JCT,
  author =       "P. Alvarez and J. A. Banares and P. R. MuroMedrano and
                 J. Nogueras and F. J. Zarazaga",
  title =        "A {Java} Coordination Tool for {Web}-Service
                 Architectures: The Location-Based Service Context",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "1--14",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Amza:2003:NCB,
  author =       "C. Amza and G. Reggio",
  title =        "A Notation for Component-Based Design of {Java}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "155--164",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ananian:2003:DSO,
  author =       "C. Scott Ananian and Martin Rinard",
  title =        "Data Size Optimizations for {Java} Programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "59--68",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Ancona:2003:JDJ,
  author =       "Davide Ancona and Giovanni Lagorio and Elena Zucca",
  title =        "{Jam}---designing a {Java} extension with mixins",
  journal =      j-TOPLAS,
  volume =       "25",
  number =       "5",
  pages =        "641--712",
  month =        sep,
  year =         "2003",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Sep 26 19:13:26 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Andronick:2003:UCV,
  author =       "J. Andronick and B. Chetali and O. Ly",
  title =        "Using {Coq} to Verify {Java} Card Applet Isolation
                 Properties",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2758",
  pages =        "335--351",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Anonymous:2003:AOS,
  author =       "Anonymous",
  title =        "{Avanti}: Open Source Compact, Self-Contained {ILS} in
                 {Java}",
  journal =      j-INFO-RETRIEVAL-LIB-AUTO,
  volume =       "38",
  number =       "8",
  pages =        "7--??",
  year =         "2003",
  CODEN =        "IRLAAQ",
  ISSN =         "0020-0220",
  bibdate =      "Tue Feb 18 07:16:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Retrieval and Library Automation",
}

@Article{Anonymous:2003:BJJ,
  author =       "Anonymous",
  title =        "{Borland Jbuilder Java 8}",
  journal =      j-PERS-COMPUT-WORLD,
  volume =       "26",
  number =       "3",
  publisher =    "VNU Business Publications",
  pages =        "96",
  year =         "2003",
  CODEN =        "PCWODU",
  ISSN =         "0142-0232",
  bibdate =      "Tue Feb 4 05:46:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Personal computer world",
}

@Article{Anonymous:2003:BNA,
  author =       "Anonymous",
  title =        "Brave New Apps",
  journal =      j-PC-MAGAZINE,
  volume =       "22",
  number =       "13",
  pages =        "114--137",
  year =         "2003",
  CODEN =        "PCMGEP",
  ISSN =         "0888-8507",
  ISSN-L =       "0888-8507",
  bibdate =      "Tue Aug 12 09:01:52 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  abstract =     "Thanks to the arrival of Web services, it's no longer
                 enough for development tools to create standalone
                 applications. IDEs (integrated development
                 environments) both for Java J2EE architectures and for
                 the Microsoft.NET framework now include tools that help
                 programmers deliver the new, service-oriented apps. We
                 put six major IDEs through their paces with a focus on
                 Web service creation and cross-platform deployment",
  acknowledgement = ack-nhfb,
  fjournal =     "PC Magazine",
}

@Article{Anonymous:2003:BRJ,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{Java precisely}}: By Peter
                 Sestoft. The MIT Press, Cambridge, MA. (2002). 118
                 pages. \$14.95}",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "46",
  number =       "2--3",
  pages =        "517--518",
  month =        jul # "\slash " # aug,
  year =         "2003",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Wed Mar 1 21:49:31 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computmathappl2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0898122103900708",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/08981221",
  pagecount =    "2",
}

@Article{Anonymous:2003:CWD,
  author =       "Anonymous",
  title =        "Controlling {Webserver} demand for {Java} applets for
                 browsers supporting {Java 2 JRE}",
  journal =      "Research Disclosure",
  volume =       "466",
  publisher =    "Kenneth Mason Publications",
  pages =        "302",
  year =         "2003",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:DJR,
  author =       "Anonymous",
  title =        "Demand for {Java} remains high because companies are
                 keen to develop front-end {Web} sites",
  journal =      "Computing (London, England: 1980)",
  publisher =    "VNU Business Publications",
  pages =        "43--43",
  day =          "13",
  month =        mar,
  year =         "2003",
  CODEN =        "CPTGB5",
  ISSN =         "0144-3097",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:ELN,
  author =       "Anonymous",
  title =        "{EEMBC} launches new benchmarks to address digital
                 media and {Java}",
  journal =      "New Electronics",
  volume =       "36",
  number =       "16",
  pages =        "12",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0047-9624",
  bibdate =      "Tue Oct 7 05:32:12 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:FFG,
  author =       "Anonymous",
  title =        "``Filter'' --- a framework to generate subsets of
                 collections in programs written in {Java} programming
                 language. It is a piece of software useful for other
                 software projects",
  journal =      "Research Disclosure",
  volume =       "466",
  publisher =    "Kenneth Mason Publications",
  pages =        "322",
  year =         "2003",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:FWA,
  author =       "Anonymous",
  title =        "Four-way asynchronous {I/O} using dual paired buffers
                 for {Java}-based intermediate\slash proxy {HTTP} nodes
                 in a communications network",
  journal =      "Research Disclosure",
  volume =       "466",
  publisher =    "Kenneth Mason Publications",
  pages =        "313",
  year =         "2003",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:GUI,
  author =       "Anonymous",
  title =        "Graphical user interface primitives independent
                 library for building {Java} based software",
  journal =      "Research Disclosure",
  volume =       "466",
  publisher =    "Kenneth Mason Publications",
  pages =        "299",
  year =         "2003",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:IMM,
  author =       "Anonymous",
  title =        "{ICT Motorola} mise sur {Java} et {J2ME}",
  journal =      "Enjeux",
  volume =       "233",
  publisher =    "AFNOR",
  pages =        "22",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0223-4866",
  bibdate =      "Wed May 28 05:39:24 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:IUU,
  author =       "Anonymous",
  title =        "Industry Upstarts: {US}-based {SavaJe} has developed a
                 pure {Java} handset {OS} which it wants to sell to
                 operators directly",
  journal =      "Mobile Communications International",
  volume =       "100",
  publisher =    "Ericsson",
  pages =        "48",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1352-9226",
  bibdate =      "Tue May 20 06:23:21 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:JAT,
  author =       "Anonymous",
  title =        "{Java API} tackles {Bluetooth} interop: The {Java}
                 community says it has quietly developed a solution for
                 {Bluetooth} interoperability headaches",
  journal =      j-ELECTRONIC-ENG-TIMES,
  volume =       "1262",
  pages =        "16--30",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0192-1541",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic engineering times",
}

@Article{Anonymous:2003:JDT,
  author =       "Anonymous",
  title =        "{Java} Development Tools Speed {MIDIet} Creation",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "51",
  number =       "8",
  pages =        "62",
  year =         "2003",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Anonymous:2003:JEF,
  author =       "Anonymous",
  title =        "{Java} environment focuses on up-front modeling",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "5",
  pages =        "34",
  year =         "2003",
  CODEN =        "ADTRF4",
  ISSN =         "1073-9564",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:JEJ,
  author =       "Anonymous",
  title =        "{Java in Echtzeit: Java-Technologien f{\"u}r
                 Echtzeit-Anwendungen mit der Real-Time Specification
                 for Java}. ({German}) [{Java} in Real Time: {Java} for
                 Real-Time Applications with the {Real-Time
                 Specification for Java}]",
  journal =      j-ELECTRONIK,
  volume =       "52",
  number =       "16",
  pages =        "66--71",
  year =         "2003",
  CODEN =        "EKRKAR",
  ISSN =         "0013-5658",
  bibdate =      "Wed Aug 27 05:49:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Elektronik",
  language =     "German",
}

@Article{Anonymous:2003:JGJ,
  author =       "Anonymous",
  title =        "{Java} Gets a Jolt",
  journal =      j-INFORMATION-WEEK,
  volume =       "944",
  pages =        "27",
  year =         "2003",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2003:JHS,
  author =       "Anonymous",
  title =        "{Java}'s head start adoption of {Microsoft}'s {C\#}
                 language for building {Web} services is hindered by the
                 prevalence of {Java}",
  journal =      j-INFORMATION-WEEK,
  volume =       "966",
  pages =        "57",
  year =         "2003",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Mon Dec 22 12:18:52 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2003:JLO,
  author =       "Anonymous",
  title =        "For {Java} Lovers: Only gadgets to amp the flavor of
                 your brew",
  journal =      j-BUSINESS-WEEK,
  volume =       "3861",
  pages =        "110--111",
  year =         "2003",
  CODEN =        "BUWEA3",
  ISSN =         "0739-8395",
  bibdate =      "Mon Dec 22 12:18:52 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Business week",
}

@Article{Anonymous:2003:JPa,
  author =       "Anonymous",
  title =        "{Java} performance",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Anonymous:2003:JPb,
  author =       "Anonymous",
  title =        "{Java} precisely",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "46",
  number =       "2--3",
  pages =        "517--518",
  year =         "2003",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Mon Jan 5 17:25:38 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
}

@Article{Anonymous:2003:JPc,
  author =       "Anonymous",
  title =        "{Java} precisely",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "46",
  number =       "2--3",
  pages =        "517--518",
  year =         "2003",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Wed Jan 21 08:03:13 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
}

@Article{Anonymous:2003:JTM,
  author =       "Anonymous",
  title =        "{Mit Java-Technologie mehr Komfort}",
  journal =      "VDI Z",
  volume =       "145",
  number =       "3",
  publisher =    "VDI Verlag Gmbh",
  pages =        "47--48",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0042-1766",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:LUE,
  author =       "Anonymous",
  title =        "{Linux}\slash {Unix} Extend {Red Hat 8}'s
                 functionality by adding {Flash}, extra fonts and
                 {Java}",
  journal =      j-PERS-COMPUT-WORLD,
  volume =       "26",
  number =       "3",
  publisher =    "VNU Business Publications",
  pages =        "202--207",
  year =         "2003",
  CODEN =        "PCWODU",
  ISSN =         "0142-0232",
  bibdate =      "Tue Feb 4 05:46:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Personal computer world",
}

@Article{Anonymous:2003:MJA,
  author =       "Anonymous",
  title =        "Manage {Java} apps for premium performance",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "1",
  publisher =    "Microsoft Corporation",
  pages =        "50--52",
  year =         "2003",
  CODEN =        "ADTRF4",
  ISSN =         "1073-9564",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:MMI,
  author =       "Anonymous",
  title =        "{Microsoft} must include {Java} in Windows, rules a
                 {US} court",
  journal =      "Computing (London, England: 1980)",
  publisher =    "VNU Business Publications",
  pages =        "13--15",
  day =          "9",
  month =        jan,
  year =         "2003",
  CODEN =        "CPTGB5",
  ISSN =         "0144-3097",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:NAQ,
  author =       "Anonymous",
  title =        "No Assembly: {Q-Link Technologies}' upgraded {Java}
                 development environment helps developers build apps
                 using preassembled components",
  journal =      j-INFORMATION-WEEK,
  volume =       "939",
  pages =        "54--55",
  year =         "2003",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2003:NIC,
  author =       "Anonymous",
  title =        "National {ID} Card Supporting {Java} Applications",
  journal =      "Toshiba Review",
  volume =       "58",
  number =       "8",
  pages =        "56--59",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0372-0462",
  bibdate =      "Wed Oct 29 06:24:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:NRJ,
  author =       "Anonymous",
  title =        "New release of {JANIS} ({Java}-based nuclear data
                 information services) software",
  journal =      "Nea News",
  volume =       "21",
  number =       "1",
  publisher =    "OECD Publications",
  pages =        "25",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1605-9581",
  bibdate =      "Tue Aug 5 06:56:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:OTJ,
  author =       "Anonymous",
  title =        "Octera Throws a {Javalon}: It's not 100\%-pure {Java},
                 but the {Javalon-1} processor natively executes most
                 {Java} bytecode instructions",
  journal =      j-MICROPROC-REP,
  volume =       "17",
  number =       "3",
  pages =        "31--37",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0899-9341",
  ISSN-L =       "0899-9341",
  bibdate =      "Wed May 28 05:39:24 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessor report",
}

@Article{Anonymous:2003:PBS,
  author =       "Anonymous",
  title =        "Products: {BEA Systems} releases preview of {Java API}
                 for {XML}; {Panda} appliance defends network
                 perimeters; {Parasoft} enhances {Java} test and
                 analysis tool",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "12",
  pages =        "108--108",
  month =        dec,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:50 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/12/rz108.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:PCN,
  author =       "Anonymous",
  title =        "Products: {ClearSight Networks} releases
                 application-layer analyzer; {Intervoice} announces
                 first {SALT}-based components; {VoiceGenie
                 Technologies} upgrades {VoiceXML} platform; {AppForce}
                 enhances mobile-platform design software; {Metrowerks}
                 upgrades tools for embedded {Linux} products;
                 {OpenOffice.org} updates {Linux} office tool suite;
                 {Quest Software} releases {Java} analysis tools",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "11",
  pages =        "86--87",
  month =        nov,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:48 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/11/ry086.htm;
                 http://csdl.computer.org/dl/mags/co/2003/11/ry086.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:PCU,
  author =       "Anonymous",
  title =        "Products: {Compuware} upgrades {J2EE} development
                 environment; {Ektron} releases browser-based image
                 tool; {IronGrid} offers {JDBC} performance tool;
                 {Microsoft} enhances {Java} conversion assistant;
                 {Broadcom} announces single-chip {10-Gigabit Ethernet}
                 switch; {SGI} finalizes {OpenGL 1.5} specification;
                 {Adaptec} extends {Serial ATA RAID} product family",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "9",
  pages =        "94--95",
  month =        sep,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/09/r9094.htm;
                 http://csdl.computer.org/dl/mags/co/2003/09/r9094.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:PJU,
  author =       "Anonymous",
  title =        "Products: {JetBrains} Upgrades {IntelliJ Java IDE};
                 {Catalyst}'s {USB} Analyzer Supports Device Emulation;
                 {VMware} Releases {Enterprise Server VM} Software;
                 {Motorola} Offers Free Soft Modem Reference Design;
                 {RealNetworks} Releases Source for {Helix DNA Server};
                 {Packeteer} Accelerates Intranet and {Internet}
                 Applications",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "3",
  pages =        "80--81",
  month =        mar,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:55 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/03/r3080.htm;
                 http://csdl.computer.org/dl/mags/co/2003/03/r3080.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:PLJ,
  author =       "Anonymous",
  title =        "{Portable L{\"o}sung: Java in Embedded-Systemen}.
                 ({German}) [{Portable} solution: {Java} in Embedded
                 Systems]",
  journal =      "Elektronik Praxis",
  volume =       "15",
  pages =        "36--45",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0341-5589",
  bibdate =      "Mon Feb 2 15:02:19 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Article{Anonymous:2003:POU,
  author =       "Anonymous",
  title =        "Products: {Omnicore} Upgrades {Java} Development
                 Tools; {TimeSys} Announces First {RTSJ}-Compliant
                 {JVM}; {Xilinx} Adds Hardware-in-the-Loop Cosimulation
                 to {DSP} Design Tool; {gInstall}'s Upgrades Setup
                 System Platform; {Motorola} Launches Motocoder
                 Developer Platform; {ARM} Upgrades Compilation Tools
                 for Embedded Apps; {SGI} Server Leads {HPC}
                 Benchmarks",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "5",
  pages =        "69--70",
  month =        may,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:40 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/05/r5069.htm;
                 http://csdl.computer.org/dl/mags/co/2003/05/r5069.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:PPG,
  author =       "Anonymous",
  title =        "Peripherals Printers get {Java} networking",
  journal =      "Computer Weekly",
  pages =        "26--27",
  day =          "20",
  month =        mar,
  year =         "2003",
  CODEN =        "COMWAA",
  ISSN =         "0010-4787",
  bibdate =      "Tue Apr 8 06:53:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:PSA,
  author =       "Anonymous",
  title =        "Products: {SGI} Announces Record-Performing {Linux}
                 Servers; {Pacific Nanotechnogy} Releases Atomic Force
                 Microscope; {Nvidia} Extends {Cg} Programming
                 Environment; {Empirix} Introduces {VoIP} Analyzer;
                 {Codagen Technologies} Upgrades {UML} Tool; {Perforce
                 Software} Enhances {SCM} System; {CompuWare} Upgrades
                 {Java} Development Tool",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "2",
  pages =        "80--81",
  month =        feb,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/02/r2080.htm;
                 http://csdl.computer.org/dl/mags/co/2003/02/r2080.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:PSR,
  author =       "Anonymous",
  title =        "Products: {Starbase} Releases Decision-Support
                 Software; {OC Systems} Extends Analysis Tool to {J2EE};
                 {InstallShield} Streamlines Software Installation App;
                 {Silicon Defense} Counters Stealth Scans; Compuware
                 Upgrades {Java} Profiling Tool;' {Pervasive Software}
                 Releases {V8} Database Engine; {Xilinx} Ships {DSP}
                 Design Tool; {MKS} Adds Wizards to Monitoring System",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "1",
  pages =        "112--113",
  month =        jan,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:52 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/01/r1112.htm;
                 http://csdl.computer.org/dl/mags/co/2003/01/r1112.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:PVF,
  author =       "Anonymous",
  title =        "Products: {VMware}'s Fourth-Generation Desktop
                 Virtualization Software; Automated Design Reviews with
                 {Reviewer for Rose}; {CodeWeavers} Debues {CrossOver
                 Office}; {Corel Smart Graphics Studio} Now Available;
                 {IronGrid}'s {Java} Performance Tool; {Infragistics}
                 Releases {NetAdvantage} Component Collection",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "6",
  pages =        "98--99",
  month =        jun,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:41 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/06/r6098.htm;
                 http://csdl.computer.org/dl/mags/co/2003/06/r6098.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Anonymous:2003:RAI,
  author =       "Anonymous",
  title =        "Remote access to {IMS DB} data using {DB2} stored
                 procedures and {Java ResultSet} objects",
  journal =      "Research Disclosure",
  volume =       "465",
  pages =        "118",
  year =         "2003",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Feb 25 06:39:00 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:RAS,
  author =       "Anonymous",
  title =        "`Run anywhere' scheme eclipses {OS}. {A} ``write\slash
                 run anywhere'' system puts {Java} programs into
                 embedded-{C} programs with no operating system",
  journal =      j-ELECTRONIC-ENG-TIMES,
  volume =       "1260",
  pages =        "49--50",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0192-1541",
  bibdate =      "Tue Apr 8 06:53:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic engineering times",
}

@Article{Anonymous:2003:RVF,
  author =       "Anonymous",
  title =        "{RT} Vendor Forum: The many faces of {Java}",
  journal =      "Chain Store Age",
  volume =       "79",
  number =       "5",
  publisher =    "Lebhar-Friedman Inc",
  pages =        "122--123",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Tue Jun 3 08:07:59 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:SPR,
  author =       "Anonymous",
  title =        "Simulation program recoded in {Java}",
  journal =      "Advanced Composites Bulletin",
  volume =       "APR",
  publisher =    "International Newsletters",
  pages =        "7",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0951-953X",
  bibdate =      "Tue Apr 22 09:22:21 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:SRJ,
  author =       "Anonymous",
  title =        "{Sun} relance {Java}",
  journal =      "Usine Nouvelle",
  volume =       "2876",
  pages =        "31",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0042-126X",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:SSA,
  author =       "Anonymous",
  title =        "Software, silicon acceleration brew a stronger
                 {Java}",
  journal =      j-EDN,
  volume =       "48",
  number =       "6",
  pages =        "18--19",
  year =         "2003",
  CODEN =        "EDNSBH",
  ISSN =         "0012-7515, 0364-6637",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "EDN",
}

@Article{Anonymous:2003:TAJ,
  author =       "Anonymous",
  title =        "{TeamStudio} Analyzer for {Java E2}",
  journal =      "Application Development Advisor",
  volume =       "7",
  number =       "3",
  pages =        "18",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1369-4200",
  bibdate =      "Wed May 28 05:39:24 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:TMC,
  author =       "Anonymous",
  title =        "For {Taiwan}'s 22 million citizens, {Java Smart Cards}
                 are clamping down on health-care fraud",
  journal =      j-PC-MAGAZINE,
  volume =       "22",
  number =       "17",
  pages =        "66--67",
  year =         "2003",
  CODEN =        "PCMGEP",
  ISSN =         "0888-8507",
  ISSN-L =       "0888-8507",
  bibdate =      "Tue Sep 30 06:17:55 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "PC Magazine",
}

@Article{Anonymous:2003:UJW,
  author =       "Anonymous",
  title =        "Using {Java} on the {Web}",
  journal =      "PC Plus",
  volume =       "198",
  pages =        "184--187",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0952-2565",
  bibdate =      "Wed Dec 11 08:15:36 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  note =         "Richard Cobbett gets graphical with Swing, AWT and
                 CodeWarrior.",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:VPU,
  author =       "Anonymous",
  title =        "Visual programming Using layout managers to achieve
                 display-independent {Java} applications",
  journal =      j-PERS-COMPUT-WORLD,
  volume =       "26",
  number =       "7",
  pages =        "213--214",
  year =         "2003",
  CODEN =        "PCWODU",
  ISSN =         "0142-0232",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Personal computer world",
}

@Article{Anonymous:2003:WOF,
  author =       "Anonymous",
  title =        "{Wave} opens {Finread} terminals to {Java}
                 applications",
  journal =      "Card Technology Today",
  volume =       "15",
  number =       "1",
  pages =        "8--9",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0965-2590",
  bibdate =      "Tue Feb 25 06:39:00 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:WRT,
  author =       "Anonymous",
  title =        "Will The Real-Time {Java} Please Stand Up?",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "51",
  number =       "8",
  pages =        "61",
  year =         "2003",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{April:2003:AJA,
  author =       "C. A. April",
  title =        "Automating {Java} Apps",
  journal =      "Varbusiness",
  volume =       "19",
  number =       "11",
  pages =        "51--52",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0894-5802",
  bibdate =      "Tue Jun 17 06:26:38 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Avvenuti:2003:JBV,
  author =       "Marco Avvenuti and Cinzia Bernardeschi and Nicoletta
                 De Francesco",
  title =        "{Java} bytecode verification for secure information
                 flow",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "20--27",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Awhad:2003:UFS,
  author =       "V. Awhad and C. Wallace",
  title =        "A Unified Formal Specification and Analysis of the New
                 {Java} Memory Models",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2589",
  pages =        "166--185",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bacon:2003:CFS,
  author =       "David F. Bacon and Perry Cheng and V. T. Rajan",
  title =        "Controlling Fragmentation and Space Consumption in the
                 {Metronome}, a Real-time Garbage Collector for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "81--92",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bacon:2003:KJD,
  author =       "David F. Bacon",
  title =        "{Kava}: a {Java} dialect with a uniform object model
                 for lightweight classes",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "185--206",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.653",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Badeen:2003:MCM,
  author =       "C. Badeen and M. A. Dube",
  title =        "Modeling the Copolymerization of Methyl
                 {Methacrylate\slash} alpha-Methyl Styrene at Elevated
                 Temperatures Using {Java}",
  journal =      "Polymer Reaction Engineering",
  volume =       "11",
  number =       "1",
  pages =        "53--78",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1054-3414",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Bailey:2003:JSD,
  author =       "Duane A. Bailey",
  title =        "{Java} structures: data structures in {Java} for the
                 principled programmer",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  edition =      "Second",
  pages =        "xiv + 514",
  year =         "2003",
  ISBN =         "0-07-239909-0, 0-07-112163-3",
  ISBN-13 =      "978-0-07-239909-7, 978-0-07-112163-7",
  LCCN =         "QA76.73.J38 B34 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language)",
}

@Article{Bal:2003:IJB,
  author =       "H. E. Bal",
  title =        "{Ibis}: a {Java}-Based {Grid} Programming
                 Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2790",
  pages =        "4",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{BalaKumar:2003:BAP,
  author =       "C. {Bala Kumar} and Paul Kline and Tim Thompson",
  title =        "{Bluetooth} Application Programming with the {Java
                 APIs}",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xxii + 498",
  year =         "2003",
  ISBN =         "1-55860-934-2",
  ISBN-13 =      "978-1-55860-934-1",
  LCCN =         "TK5103.3 .K86 2004",
  bibdate =      "Sat Aug 02 08:43:32 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.95",
  series =       "The Morgan Kaufmann series in networking",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/description/els051/2003107476.html;
                 http://www.loc.gov/catdir/toc/els051/2003107476.html",
  acknowledgement = ack-nhfb,
  remark =       "Introduction -- An overview of JABWT -- High-level
                 architecture -- RFCOMM -- OBEX -- Device discovery --
                 Service discovery -- L2CAP -- Example applications --
                 Implementing JABWT on a device -- Closing remarks..",
  subject =      "Bluetooth technology; Java (Computer program
                 language); Application program interfaces (Computer
                 software); Wireless communication systems",
}

@Article{Baldoni:2003:PAJ,
  author =       "R. Baldoni and S. Cimmino and C. Marchetti and A.
                 Termini",
  title =        "Performance Analysis of {Java} Group Toolkits: a Case
                 Study",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "49--60",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Bales:2003:JPR,
  author =       "Donald Bales",
  title =        "{JDBC} pocket reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "vi + 145",
  year =         "2003",
  ISBN =         "0-596-00457-5",
  ISBN-13 =      "978-0-596-00457-6",
  LCCN =         "QA76.73.J38 B355 2003",
  bibdate =      "Mon Apr 18 15:06:43 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596004576",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Database management;
                 Computer programs; Application program interfaces
                 (Computer software)",
}

@Article{Ballance:2003:BRJ,
  author =       "R. Ballance",
  title =        "Book Review: {{\em Java Precisely}, by Peter Seetoft,
                 MIT Press, 2002, \$14.95, ISBN 0-262-69276-7}",
  journal =      j-QUEUE,
  volume =       "1",
  number =       "6",
  pages =        "70--70",
  month =        sep # "\slash " # oct,
  year =         "2003",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Sat Aug 23 11:00:11 2003",
  bibsource =    "http://www.acmqueue.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Barake:2003:BRE,
  author =       "Tony Barake",
  title =        "Book Review: The Enterprise Goes to School: a review
                 of {{\em Wireless Java Programming for Enterprise
                 Applications: Mobile Devices Go Corporate\/}} by {Dan
                 Harkey}, {Shan Appajodu}, and {Mike Larkin}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "4",
  number =       "7",
  year =         "2003",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Sat Jan 03 14:59:06 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0307/d/bks_a.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Book{Barker:2003:BJO,
  author =       "Jacquie Barker",
  title =        "Beginning {Java} Objects: From Concepts to Code",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "688 (est.)",
  year =         "2003",
  ISBN =         "1-59059-146-1",
  ISBN-13 =      "978-1-59059-146-8",
  LCCN =         "????",
  bibdate =      "Fri Nov 07 05:30:37 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Barrett:2003:DPJ,
  author =       "Tom Barrett",
  title =        "Dynamic Proxies in {Java} and {.NET}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "18, 20, 22, 24, 26",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/dyproxy.zip",
  abstract =     "Tom examines how proxies separate cross-cutting
                 concerns, then explores and --- in both Java and C\#
                 and --- a new twist on the traditional Proxy pattern
                 that promotes reuse and decreases complexity.
                 Additional resources include dyproxy.zip (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Basin:2003:BVM,
  author =       "David A. Basin and Stefan Friedrich and Marek
                 Gawkowski",
  title =        "Bytecode Verification by Model Checking",
  journal =      j-J-AUTOM-REASON,
  volume =       "30",
  number =       "3--4",
  pages =        "399--444",
  month =        may,
  year =         "2003",
  CODEN =        "JAREEW",
  DOI =          "https://doi.org/10.1023/A:1025059508087",
  ISSN =         "0168-7433 (print), 1573-0670 (electronic)",
  ISSN-L =       "0168-7433",
  bibdate =      "Sat Apr 2 10:50:21 MDT 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jautomreason.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1023/A%3A1025059508087",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Autom. Reason.",
  fjournal =     "Journal of Automated Reasoning",
  journal-URL =  "http://link.springer.com/journal/10817",
}

@Article{Bathelt:2003:JID,
  author =       "M. Bathelt",
  title =        "{Java} Infotainment Devices",
  journal =      "VDI Berichte",
  volume =       "1789",
  number =       "??",
  pages =        "1099--1114",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0083-5560",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Bauer:2003:MSM,
  author =       "Lujo Bauer and Andrew W. Appel and Edward W. Felten",
  title =        "Mechanisms for secure modular programming in {Java}",
  journal =      j-SPE,
  volume =       "33",
  number =       "5",
  pages =        "461--480",
  day =          "25",
  month =        apr,
  year =         "2003",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.516",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Nov 29 17:39:44 MST 2003",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "5 Mar 2003",
}

@Article{Beckert:2003:PLH,
  author =       "B. Beckert and W. Mostowski",
  title =        "A Program Logic for Handling {JAVA CARD}'s Transaction
                 Mechanism",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2621",
  pages =        "246--260",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Benander:2003:PJE,
  author =       "A. C. Benander and B. A. Benander and M. Lin",
  title =        "Perceptions of {Java} --- Experienced Programmers'
                 Perspective",
  journal =      j-J-COMP-INFO-SYS,
  volume =       "43",
  number =       "4",
  pages =        "1--7",
  year =         "2003",
  CODEN =        "JCISE9",
  ISSN =         "0887-4417",
  bibdate =      "Tue Sep 2 06:25:03 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of Computer Information Systems",
}

@Article{Benowitz:2003:EAR,
  author =       "E. G. Benowitz and A. F. Niessner",
  title =        "Experiences in Adopting Real-Time {Java} for
                 Flight-Like Software",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "490--496",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Beraldi:2003:TUT,
  author =       "R. Beraldi and L. Nigro and A. Orlando",
  title =        "Temporal Uncertainty Time Warp: An Implementation
                 Based on {Java} and {ActorFoundry}",
  journal =      j-SIMULATION,
  volume =       "79",
  number =       "10",
  pages =        "581--597",
  year =         "2003",
  CODEN =        "SIMUA2",
  ISSN =         "0037-5497 (print), 1741-3133 (electronic)",
  ISSN-L =       "0037-5497",
  bibdate =      "Wed Dec 31 11:17:32 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Simulation",
}

@Article{Bertie:2003:TCI,
  author =       "A. Bertie and P. Farrington",
  title =        "Teaching Confidence Intervals with {Java} Applets",
  journal =      "Teaching Statistics",
  volume =       "25",
  number =       "3",
  publisher =    "Blackwell Publishers",
  pages =        "70--75",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0141-982X (print), 1467-9639 (electronic)",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Bettini:2003:EJD,
  author =       "L. Bettini and S. Capecchi and B. Venneri",
  title =        "Extending {Java} to dynamic object behaviors",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "82",
  number =       "8",
  pages =        "1--20",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Bettini:2003:JMG,
  author =       "L. Bettini and R. DeNicola",
  title =        "A {Java} Middleware for Guaranteeing Privacy of
                 Distributed Tuple Spaces",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "175--184",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bettini:2003:MIJ,
  author =       "L. Bettini and M. Loreti and B. Venneri",
  title =        "On multiple inheritance in {Java}",
  journal =      "Kluwer International Series in Engineering and
                 Computer Science",
  volume =       "732",
  pages =        "1--15",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0893-3405",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Bierman:2003:EEI,
  author =       "G. M. Bierman and M. J. Parkinson",
  title =        "Effects and effect inference for a core {Java}
                 calculus",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "82",
  number =       "8",
  pages =        "1--26",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Billard:2003:LDP,
  author =       "Edward A. Billard",
  title =        "Language-Dependent performance of design patterns",
  journal =      j-SIGSOFT,
  volume =       "28",
  number =       "3",
  pages =        "3--3",
  month =        may,
  year =         "2003",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/773126.773138",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:27 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "The Gang of Four design patterns represent a catalog
                 of 23 reusable design solutions to classes of problems
                 that arise in a variety of applications. This study
                 examines the execution performance of the patterns, as
                 implemented in C++, Java (native and JDK 1.0 through
                 1.4), Smalltalk, and Perl 5.0. Each pattern is
                 implemented independent of an application and, hence,
                 represents just the pure object structure. Because the
                 patterns themselves demonstrate a variety of
                 structures, the results represent a good benchmark for
                 how well the object-oriented compilers actually handle
                 object-oriented programming, in particular, object
                 creation and object reference to methods/attributes.
                 The results indicate that the C++ compiler provided the
                 fastest code, Java was second, followed by Smalltalk,
                 and then Perl. However, Java 1.2 and 1.4 held their own
                 against the optimized version of C++ and even did
                 slightly better than non-optimized C++. Optimized C++
                 code was the best in 11 of the 23 patterns, with Java
                 1.2 and 1.4 sharing the remaining honors for the other
                 12 patterns, that is, a ``winning'' Java compiler can
                 be found for just over half of the design patterns.
                 Smalltalk was an order of magnitude, and Perl two
                 orders of magnitude, slower. Although there is a wide
                 variety of performance among the design patterns, the
                 overall averages are much in-line with the averages of
                 four simple test programs. The results may provide
                 guidelines for future application development.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Bishop:2003:ICJ,
  author =       "David Bishop",
  title =        "Introduction to cryptography with {Java} applets",
  publisher =    pub-JONES-BARTLETT,
  address =      pub-JONES-BARTLETT:adr,
  pages =        "xvi + 370",
  year =         "2003",
  ISBN =         "0-7637-2207-3",
  ISBN-13 =      "978-0-7637-2207-4",
  LCCN =         "QA76.9.A25 B565 2003",
  bibdate =      "Tue Oct 11 05:14:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  subject =      "Computer security; Cryptography; Java (Computer
                 program language)",
}

@Article{Blanchet:2003:EAJ,
  author =       "Bruno Blanchet",
  title =        "Escape analysis for {Java$^{TM}$}: {Theory} and
                 practice",
  journal =      j-TOPLAS,
  volume =       "25",
  number =       "6",
  pages =        "713--775",
  month =        nov,
  year =         "2003",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Oct 28 11:56:31 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Bollinger:2003:BFF,
  author =       "Terry Bollinger and John J. Abbott and Robert C.
                 Larrabee and Carl Vieregger",
  title =        "Bookshelf: Facts and Fantasies: a Review of Two Books;
                 Understanding the Unified Process; Software
                 Architecture: Project Planning and Control; Paring
                 {Java} Patterns",
  journal =      j-IEEE-SOFTWARE,
  volume =       "20",
  number =       "2",
  pages =        "80--85",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2003.1184172",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Fri Oct 24 16:32:00 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Review of {\em A New Kind of Science\/} by Stephen
                 Wolfram, {\em Prey: A Novel\/} by Michael Crichton,
                 {\em The Unified Process Explained\/} by Kendall Scott,
                 {\em Effective Work Breakdown Structures\/} by Gregory
                 T. Haugan, {\em Applied Java Patterns\/} by Stephen
                 Stelting and Olav Maassen.",
  URL =          "http://dlib.computer.org/so/books/so2003/pdf/s2080.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Boshart:2003:GGX,
  author =       "Mark A. Boshart and Martha J. Kosa",
  title =        "Growing a {GUI} from an {XML} tree",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "223--223",
  month =        sep,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/961290.961579",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Computer science faculty in the current fast-paced
                 computing environment must be very resourceful; they
                 must constantly learn new topics and explain them to
                 their undergraduate students (who are familiar with the
                 acronyms and inquisitive about their meaning), while
                 not letting these exciting new topics overshadow the
                 fundamentals. They must analyze these new developments
                 to see the fundamental concepts that ultimately serve
                 as their basis. They must then determine how to
                 integrate these concepts into the undergraduate
                 curriculum at the correct level for their students.
                 This poster shows how XML (eXtensible Markup Language)
                 and hierarchical data structures are correlated,
                 allowing instructors to add XML concepts to the CS2
                 curriculum in a way that is fun for students, namely,
                 GUI development. Students typically enjoy designing
                 their GUIs. They find it is hard to understand how a
                 GUI will look without the visual aid of an IDE
                 (Integrated Development Environment). However, when
                 using an IDE, the details of how the user interface is
                 created are hidden from the programmers --- not just
                 the code, but the design principles as well. The
                 programmers can become dependent on the IDE for GUI
                 development, limiting their ability to design novel
                 interfaces. In addition, students who do not use an IDE
                 at all find it difficult to remember all their GUI
                 component relationships, making GUI design a trial and
                 error process. We seek a way for students to design
                 GUIs that forces them to consider how GUIs are
                 constructed, improving their design skills, while at
                 the same time making the design process as
                 straightforward as possible. GUIs are hierarchical in
                 nature because they are based on containers holding GUI
                 components, which may themselves be containers. Thus,
                 it may be helpful to utilize the notion of a tree in
                 the construction of a GUI, allowing development of GUIs
                 without the dependence on a standard IDE and without
                 many of the difficulties of GUI construction by hand.
                 As students typically learn about trees in CS2, this is
                 an appropriate time to introduce GUI hierarchies.
                 Students are also often eager to be exposed to hot
                 topics in computer science, such as XML. XML is
                 hierarchical in nature; thus, it lends itself to GUI
                 design. We propose integrating these ideas into an
                 ``XML-based IDE'' that students can use in the
                 beginning stages of development for their own GUIs.
                 This makes students aware of the hierarchical nature of
                 their GUIs in the design phase, enhancing their ability
                 to develop useful and creative user interfaces. At the
                 same time, students are exposed to basic XML concepts
                 and syntax. Our ``XML-based IDE'' has two important
                 parts: our markup language and our code generator.
                 First, we developed a preliminary XML schema describing
                 a grammar for basic GUI programs. This schema describes
                 the XML tags and the relationships among them. Our XML
                 tags correspond to Java nomenclature (swinggui, jframe,
                 jpanel, jcomponent, listener, layout, etc.) as our CS2
                 students program in Java. After developing our schema,
                 we implemented a Java program to translate an XML
                 document conforming to our schema to corresponding Java
                 source files. To build a shell of a GUI program, a
                 student needs to write an XML document describing the
                 interface and run our utility program to generate the
                 Java source files. When the Java source files are
                 compiled and executed, the student can see the
                 resulting GUI. The student only needs to design and
                 implement the event-handling algorithms. Our
                 ``XML-based IDE'' demonstrates the usefulness of XML in
                 other areas besides the World-Wide Web and is a
                 refreshing change from the standard XML examples. We
                 believe that our ``XML-based IDE'' is a practical and
                 fun way to introduce XML into the introductory computer
                 science curriculum without sacrificing fundamental
                 concepts.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bothner:2003:CJG,
  author =       "Per Bothner",
  title =        "Compiling {Java} with {GCJ}",
  journal =      j-LINUX-J,
  volume =       "105",
  pages =        "??--??",
  month =        jan,
  year =         "2003",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Sat Apr 12 06:59:06 MDT 2003",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue105/index.html;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.linuxjournal.com/article/4860",
  abstract =     "With the latest GCC, you can forget everything you
                 ever knew about Java and bytecodes, and really compile
                 it.",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Bottcher:2003:DWN,
  author =       "S. Bottcher and R. Hoeppe",
  title =        "Do We Need Components for Persistent Data Storage in
                 the {Java 2} Enterprise Environment?",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2591",
  pages =        "152--165",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Boudreau:2003:NDG,
  author =       "Tim Boudreau and Jesse Glick and Simeon Greene and
                 Vaughn Spurlin and Jack J. Woehr",
  title =        "{NetBeans}: The Definitive Guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxiv + 646",
  year =         "2003",
  ISBN =         "0-596-00280-7",
  ISBN-13 =      "978-0-596-00280-0",
  LCCN =         "QA76.73.J38 N47 2003",
  bibdate =      "Mon Apr 18 15:04:40 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$44.95",
  URL =          "http://www.oreilly.com/catalog/9780596002800;
                 http://www.oreilly.com/catalog/netbeans",
  acknowledgement = ack-nhfb,
  publishersummary = "In NetBeans: The Definitive Guide, you'll find out
                 how to use this IDE to its fullest, making your Java
                 programming more efficient and productive than ever
                 before. You'll understand the basics of the IDE, and
                 quickly be utilizing the various editor and explorer
                 windows. You'll also master many of NetBeans advanced
                 features, and be working with XML documents, CVS
                 repositories, Javadoc trees, and Web applications, all
                 within the NetBeans framework.",
  remark =       "``Developing, debugging, and deploying Java code'' ---
                 cover.",
  subject =      "Java (Computer program language); Computer
                 programming",
}

@Article{Bouquet:2003:RET,
  author =       "F. Bouquet and B. Legeard",
  title =        "Reification of Executable Test Scripts in Formal
                 Specification-Based Test Generation: The {Java Card}
                 Transaction Mechanism Case Study",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2805",
  pages =        "778--795",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 7 05:32:12 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Boyapati:2003:OTS,
  author =       "Chandrasekhar Boyapati and Alexandru Salcianu and
                 William {Beebee, Jr.} and Martin Rinard",
  title =        "Ownership types for safe region-based memory
                 management in real-time {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "324--337",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Brackeen:2003:DGJ,
  author =       "David Brackeen and Bret Barker and Laurence
                 Vanhelsuwe",
  title =        "Developing Games in {Java}",
  publisher =    pub-NEW-RIDERS,
  address =      pub-NEW-RIDERS:adr,
  pages =        "xxxii + 972",
  year =         "2003",
  ISBN =         "1-59273-005-1",
  ISBN-13 =      "978-1-59273-005-6",
  LCCN =         "QA76.76.C672 B74 2004",
  bibdate =      "Mon Dec 22 11:39:20 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  acknowledgement = ack-nhfb,
}

@Article{Brear:2003:SSJ,
  author =       "D. J. Brear and T. Weise and T. Wiffen and K. C. Yeung
                 and S. A. M. Bennett and P. H. J. Kelly",
  title =        "Search strategies for {Java} bottleneck location by
                 dynamic instrumentation",
  journal =      "IEE Proceedings Software",
  volume =       "150",
  number =       "4",
  pages =        "235--242",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1462-5970",
  bibdate =      "Tue Nov 4 05:29:15 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Brebner:2003:JIS,
  author =       "Paul Brebner and Jeffrey Gosper",
  title =        "{J2EE} infrastructure scalability and throughput
                 estimation",
  journal =      j-SIGMETRICS,
  volume =       "31",
  number =       "3",
  pages =        "30--36",
  month =        dec,
  year =         "2003",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/974036.974040",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Fri Jun 27 09:20:51 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "ECperf, the widely recognized industry standard J2EE
                 benchmark, has attracted a large number of results
                 submissions and their subsequent publication. However,
                 ECperf places little restriction on the hardware
                 platform, operating systems and databases utilized in
                 the benchmarking process. This, combined with the
                 existence of only two primary metrics, makes it
                 difficult to accurately compare the results, or the
                 performance of the Application Server products
                 themselves. By mining the full-disclosure archives for
                 trends and correlations we have discovered that J2EE
                 technology is very scalable with increasing middle-tier
                 resources, as long as the database has sufficient
                 resources to prevent it becoming a bottleneck. Other
                 observed trends include, a linear correlation between
                 middle-tier total processing power and throughput, as
                 well as between J2EE Application Server license costs
                 and throughput. However, the results clearly indicate
                 that there is an increasing cost per user with
                 increasing capacity systems. Finally, the correlation
                 between middle-tier processing power and throughput,
                 combined with results obtained from a different
                 `lighter-weight' benchmark, facilitates an estimate of
                 throughput for different types of J2EE applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
  keywords =     "ECperf benchmark; Enterprise Java Beans (EJB); J2EE;
                 scalability; throughput",
}

@Article{Breg:2003:JVM,
  author =       "Fabian Breg and Constantine D. Polychronopoulos",
  title =        "{Java Virtual Machine} support for object
                 serialization",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "263--275",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.667",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Book{Brittain:2003:TDG,
  author =       "Jason Brittain and Ian F. Darwin",
  title =        "{Tomcat}: the definitive guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 303",
  year =         "2003",
  ISBN =         "0-596-00318-8",
  ISBN-13 =      "978-0-596-00318-0",
  LCCN =         "TK5105.8885.A63 B75 2003",
  bibdate =      "Mon Apr 18 15:05:05 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596003180",
  acknowledgement = ack-nhfb,
  remark =       "``Covers Tomcat 4'' --- cover. ``Vital information for
                 Tomcat programmers and administrators'' --- cover.
                 ``Tomcat is a Java servlet container and web server
                 from the Jakarta project of the Apache Software
                 Foundation \ldots{}''--P. vii.",
  subject =      "JavaServer pages; Servlets; Computer programs; Web
                 site design; Web site development; Apache Tomcat
                 (Computer file)",
}

@Article{Brosgol:2003:AJR,
  author =       "B. M. Brosgol",
  title =        "{Ada} and {Java}: Real-Time Advantages",
  journal =      j-EMBED-SYS-PROG,
  volume =       "16",
  number =       "12",
  pages =        "30",
  year =         "2003",
  CODEN =        "EYPRE4",
  ISSN =         "1040-3272",
  bibdate =      "Mon Dec 22 12:18:52 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Embedded Systems Programming",
}

@Article{Brosgol:2003:BCR,
  author =       "B. M. Brosgol",
  title =        "Beginner's Corner: Real-Time {Java}",
  journal =      j-EMBED-SYS-PROG,
  volume =       "16",
  number =       "5",
  pages =        "39--40",
  year =         "2003",
  CODEN =        "EYPRE4",
  ISSN =         "1040-3272",
  bibdate =      "Wed May 28 05:39:24 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Embedded Systems Programming",
}

@TechReport{Brosgol:2003:CATa,
  author =       "B. M. Brosgol and A. Wellings",
  title =        "A Comparison of the Asynchronous Transfer of Control
                 Features in {Ada} and the Real-Time Specification for
                 {Java}",
  type =         "{YCS} Report",
  number =       "350",
  institution =  "University of York Department of Computer Science",
  address =      "York, UK",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0963-620X",
  bibdate =      "Tue Apr 8 06:53:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Brosgol:2003:CATb,
  author =       "B. M. Brosgol and A. Wellings",
  title =        "A Comparison of the Asynchronous Transfer of Control
                 Features in {Ada} and the Real-Time Specification for
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2655",
  pages =        "113--128",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Brown:2003:SFE,
  author =       "Rhodes Brown and Karel Driesen and David Eng and
                 Laurie Hendren and John Jorgensen and Clark Verbrugge
                 and Qin Wang",
  title =        "{STEP}: a framework for the efficient encoding of
                 general trace data",
  journal =      j-SIGSOFT,
  volume =       "28",
  number =       "1",
  pages =        "27--34",
  month =        jan,
  year =         "2003",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/634636.586103",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:25 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "Traditional tracing systems are often limited to
                 recording a fixed set of basic program events. This
                 limitation can frustrate an application or compiler
                 developer who is trying to understand and characterize
                 the complex behavior of software systems such as a Java
                 program running on a Java Virtual Machine. In the past,
                 many developers have resorted to specialized tracing
                 systems that target a particular type of program event.
                 This approach often results in an obscure and poorly
                 documented encoding format which can limit the reuse
                 and sharing of potentially valuable information. To
                 address this problem, we present STEP, a system
                 designed to provide profiler developers with a standard
                 method for encoding general program trace data in a
                 flexible and compact format. The system consists of a
                 trace data definition language along with a compiler
                 and an architecture that simplifies the client
                 interface by encapsulating the details of encoding and
                 interpretation.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Bruhn:2003:ATJ,
  author =       "R. E. Bruhn and P. J. Burton",
  title =        "An Approach to Teaching {Java} Using Computers",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "4",
  pages =        "94--99",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Jan 27 06:08:07 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Brunner:2003:JPG,
  author =       "Robert Brunner",
  title =        "{JSP}: Practical Guide for {Java} Programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xiii + 179",
  year =         "2003",
  ISBN =         "1-55860-836-2",
  ISBN-13 =      "978-1-55860-836-8",
  LCCN =         "QA76.73.J38 B79 2003",
  bibdate =      "Sat Aug 02 08:46:58 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$19.95",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/description/els041/2003066501.html;
                 http://www.loc.gov/catdir/toc/els041/2003066501.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Bubak:2003:AMS,
  author =       "M. Bubak and W. Funika and M. Smetek and Z. Kilianski
                 and R. Wismuller",
  title =        "Architecture of Monitoring System for Distributed
                 {Java} Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2840",
  pages =        "447--454",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Oct 29 06:24:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bubak:2003:MDJ,
  author =       "Marian Bubak and W{\l}odzimierz Funika and Roland
                 Wism{\"u}ller and Piotr M{\k{e}}tel and Rafa{\l}
                 Or{\l}owski",
  title =        "Monitoring of distributed {Java} applications",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "19",
  number =       "5",
  pages =        "651--663",
  month =        jul,
  year =         "2003",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Tue Jun 3 08:07:59 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
  remark =       "Tools for Program Development and Analysis. Best
                 papers from two Technical Sessions, at ICCS2001, San
                 Francisco, CA, USA, and ICCS2002, Amsterdam, The
                 Netherlands.",
}

@Article{Budi:2003:JJT,
  author =       "E. M. Budi and G. Roy and G. Cole",
  title =        "{Jawa}: a {Java} Tool-Kit for Mobile Objects
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "39--48",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bull:2003:BJA,
  author =       "J. M. Bull and L. A. Smith and C. Ball and L. Pottage
                 and R. Freeman",
  title =        "Benchmarking {Java} against {C} and {Fortran} for
                 scientific applications",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "417--430",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.658",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Burdy:2003:DFV,
  author =       "L. Burdy and L. Casset and A. Requet",
  title =        "{D}{\'e}veloppement formel d'un verifieur embarqu{\'e}
                 de byte-code {Java}. ({French}) [{Formal} development
                 of a {Java}-based byte-code verifier]",
  journal =      j-TECHNIQUE-SCI-INFORMATIQUES,
  volume =       "22",
  number =       "1",
  pages =        "33--60",
  year =         "2003",
  CODEN =        "TTSIDJ",
  ISSN =         "0752-4072, 0264-7419",
  ISSN-L =       "0752-4072",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Technique et science informatiques : TSI",
  language =     "French",
}

@Article{Burdy:2003:JAC,
  author =       "L. Burdy and A. Requet and J. L. Lanet",
  title =        "{Java} Applet Correctness: a Developer-Oriented
                 Approach",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2805",
  pages =        "422--439",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 7 05:32:12 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Burger:2003:TTD,
  author =       "K. R. Burger",
  title =        "Teaching Two-Dimensional Array Concepts in {Java} With
                 Image Processing Examples",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "205--209",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Burke:2003:JEP,
  author =       "Eric M. Burke and Brian M. Coyner",
  title =        "{Java} extreme programming cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xii + 275",
  year =         "2003",
  ISBN =         "0-596-00387-0",
  ISBN-13 =      "978-0-596-00387-6",
  LCCN =         "QA76.73.J38 B873 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  annote =       "Extreme programming in the real world",
  keywords =     "extreme programming; Java (computer program language);
                 open source software",
}

@Article{Burns:2003:PGP,
  author =       "A. Burns and A. J. Wellings",
  title =        "Processing Group Parameters in the Real-Time
                 Specification for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "360--370",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{BuSung:2003:DIJ,
  author =       "L. BuSung and Y. C. Kiat and S. I. Yann and L. K. Kee
                 and S. Wei",
  title =        "Design and Implementation of a {Java}-based Meeting
                 Space over {Internet}",
  journal =      j-MULTIMEDIA-TOOLS-APPLIC,
  volume =       "20",
  number =       "2",
  pages =        "179--195",
  year =         "2003",
  CODEN =        "MTAPFB",
  ISSN =         "1380-7501",
  ISSN-L =       "1380-7501",
  bibdate =      "Wed May 28 05:39:24 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Multimedia Tools and Applications",
}

@Book{Cadenhead:2003:STY,
  author =       "Rogers Cadenhead and Laura Lemay",
  title =        "{Sams} teach yourself {Java 2} in 21 days",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  edition =      "Third",
  pages =        "xviii + 712",
  year =         "2003",
  ISBN =         "0-672-32370-2",
  ISBN-13 =      "978-0-672-32370-6",
  LCCN =         "QA76.73.J3 L44 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sams teach yourself in 21 days",
  URL =          "http://www.java21days.com",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); online resources",
}

@Article{Cai:2003:THI,
  author =       "H. Cai and A. J. Wellings",
  title =        "Towards a High Integrity Real-Time {Java} Virtual
                 Machine",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "319--334",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Calvert:2003:TIS,
  author =       "Kenneth Calvert",
  title =        "{TCP\slash IP} Sockets in {Java}: Practical Guide for
                 Programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xii + 116",
  year =         "2003",
  ISBN =         "1-55860-685-8",
  ISBN-13 =      "978-1-55860-685-2",
  LCCN =         "QA76.625 .C35 2002",
  bibdate =      "Wed Oct 29 07:11:25 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$15.95",
  acknowledgement = ack-nhfb,
}

@Article{Can:2003:FFP,
  author =       "T. Can and Y. Wang and Y. F. Wang and J. Su",
  title =        "{FPV}: fast protein visualization using {Java $3$D}",
  journal =      j-BIOINFORMATICS,
  volume =       "19",
  number =       "8",
  pages =        "913--922",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{Carey:2003:NIF,
  author =       "Robert W. Carey and Paul J. {Van Arsdall} and John P.
                 Woodruff",
  title =        "The {National Ignition Facility}: early operational
                 experience with a large {Ada} control system",
  journal =      j-SIGADA-LETTERS,
  volume =       "23",
  number =       "1",
  pages =        "11--11",
  month =        mar,
  year =         "2003",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1066404.589454",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 11:55:50 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The National Ignition Facility (NIF) currently under
                 construction at the University of California Lawrence
                 Livermore National Laboratory (LLNL) is a 192-beam,
                 1.8-Megajoule, 500-Terawatt laser being built by the
                 Department of Energy and the National Nuclear Security
                 Agency (NNSA) for inertial confinement fusion and
                 high-energy-density experimental studies. The
                 stadium-sized facility is currently activating systems
                 for first light and will be completed in 2008.The
                 facility is controlled by the Integrated Computer
                 Control System (ICCS), a layered architecture of 300
                 front-end processors (FEP) coordinated by supervisor
                 subsystems. The FEP's are distributed computers that
                 interface to physical devices through VME-bus and
                 PCI-bus crates. The functional subsystems - beam
                 control including automatic beam alignment and
                 wavefront correction, laser pulse generation and
                 pre-amplification, diagnostics, pulse power, and shot
                 timing - implement the actions of operators at eight
                 graphic consoles, coordinate control, and display and
                 archive data in a database. The software architecture
                 mimics the hardware design levels: software devices in
                 FEP's model hardware control points and supervisory
                 objects model the line replaceable units that
                 modularize the laser system. Graphic user interfaces
                 are provided to make status and control of each level
                 accessible to operators. The ICCS software is based on
                 an object-oriented framework that incorporates services
                 for archiving, machine configuration, graphical user
                 interface, status monitoring, event logging, scripting,
                 alert management, and access control. Software code
                 development uses a mixed language environment of Ada
                 (for functional controls) and Java (for user interface
                 and database backend). CORBA is used to communicate
                 between languages and processors. Substantial benefits
                 credited to using Ada include the formality of
                 controlled interfaces that rely on Ada's type model,
                 easy-to-construct exception processing and the
                 robustness of Ada's tasks. A strategy of incremental
                 cycles of construction and formal test has been used
                 since project inception. The project has completed more
                 than 30 planned cycles of deployment into testbeds and
                 is now integrating with the first 4 operational
                 beamlines in the facility. Fifty of the planned 300
                 FEP's have been installed and tested with facility
                 equipment. These implement nearly 200 classes that
                 model physical control hardware - some 2500 software
                 objects. Nearly all of the top-level functional
                 subsystems, embodying some 110 application classes,
                 have been commissioned in the facility. The integrated
                 control system has successfully executed shots into
                 test diagnostics in support of laser integration. The
                 first coordinated facility shots to the 10-m diameter
                 target chamber are expected in early 2003.Issues of
                 robustness and scaling arise as the system integrates
                 larger ensembles of control points and serves an
                 increasing number of operators. The system comprises
                 some 60 intercommunicating processes, and since none of
                 these are known to be defect free, techniques for
                 replacement and restart of individual processes are
                 required. The most common communication pattern -
                 publish and subscribe - is supported by a connection
                 management framework that adds exception handlers to
                 the ORB in order to restore broken connections and
                 restart failed processes without explicit action by
                 application client codes. This work was performed under
                 the auspices of the U.S. Department of Energy by the
                 University of California, Lawrence Livermore National
                 Laboratory under Contract No. W-7405-Eng-48.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Caromel:2003:SFR,
  author =       "Denis Caromel and Julien Vayssi{\`e}re",
  title =        "A security framework for reflective {Java}
                 applications",
  journal =      j-SPE,
  volume =       "33",
  number =       "9",
  pages =        "821--846",
  day =          "25",
  month =        jul,
  year =         "2003",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.528",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Nov 29 17:39:47 MST 2003",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "15 May 2003",
}

@Article{Carpenter:2003:AHJ,
  author =       "B. Carpenter and G. Fox and H. K. Lee and S. B. Lim",
  title =        "Applications of {HP Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2958",
  pages =        "147--161",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Carpenter:2003:HDP,
  author =       "Bryan Carpenter and Geoffrey Fox",
  title =        "{HPJava}: a Data Parallel Programming Alternative",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "5",
  number =       "3",
  pages =        "60--64",
  month =        may # "\slash " # jun,
  year =         "2003",
  CODEN =        "CSENFA",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Sat Jan 3 18:25:06 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/cs/2003/03/c3060abs.htm;
                 http://csdl.computer.org/dl/mags/cs/2003/03/c3060.htm;
                 http://csdl.computer.org/dl/mags/cs/2003/03/c3060.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Article{Carpenter:2003:TSH,
  author =       "B. Carpenter and G. Fox and H. K. Lee and S. B. Lim",
  title =        "Translation Schemes for the {HP Java} Parallel
                 Programming Language",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2624",
  pages =        "18--32",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Casey:2003:TSJ,
  author =       "K. Casey and D. Gregg and M. A. Ertl and A. Nisbet",
  title =        "Towards Superinstructions for {Java} Interpreters",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2826",
  pages =        "329--343",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Cavaness:2003:JSP,
  author =       "Chuck Cavaness and Brian Keeton",
  title =        "{Jakarta Struts} pocket reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "viii + 134",
  year =         "2003",
  ISBN =         "0-596-00519-9",
  ISBN-13 =      "978-0-596-00519-1",
  LCCN =         "QA76.76.A65 C385 2003",
  bibdate =      "Mon Apr 18 15:07:26 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596005191",
  acknowledgement = ack-nhfb,
  remark =       "``Building web applications with servlets and JSPs''
                 --- cover. ``An essential companion to O'Reilly's
                 Programming Jakarta Struts''--P. [4] of cover.",
  subject =      "Application software; Java (Computer program
                 language); Apache (Computer file : Apache Group);
                 JavaServer pages; Internet programming; Web site
                 development; Struts framework",
}

@InProceedings{Chakravarti:2003:ISM,
  author =       "A. Chakravarti and X. Wang and J. Hallstrom and G.
                 Baumgartner",
  booktitle =    "Proceedings of the International Conference on
                 Parallel Processing",
  title =        "Implementation of Strong Mobility for Multi-threaded
                 Agents in {Java}",
  publisher =    "????",
  address =      "????",
  pages =        "321--332",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0190-3918",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chavez:2003:BRH,
  author =       "Hector Zenil Chavez",
  title =        "Book Review: How to Develop Enterprise-Secure {Java}
                 Applications Learning Risks {A} review of {{\em Hacking
                 Exposed J2EE and Java, Developing Secure Applications
                 with Java Technology\/}} by {Art Taylor}, {Brian
                 Buege}, and {Randy Layman}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "4",
  number =       "5",
  year =         "2003",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Sat Jan 03 14:59:06 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0305/d/bks_c.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Chen:2003:DGV,
  author =       "B. Y. Chen and T. Nishita",
  title =        "Development of {$3$D} Graphics and {VRML} Libraries
                 for {Web3D} Platform by Using {Java}",
  journal =      j-SYS-COMP-JAPAN,
  volume =       "34",
  number =       "10",
  pages =        "47--55",
  year =         "2003",
  CODEN =        "SCJAEP",
  ISSN =         "0882-1666 (print), 1520-684X (electronic)",
  ISSN-L =       "0882-1666",
  bibdate =      "Wed Aug 27 05:49:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Systems and computers in Japan",
}

@Article{Chen:2003:EJV,
  author =       "D. Chen and V. Talwar",
  title =        "Extending {Java Virtual Machines} for networked
                 embedded devices",
  journal =      "Research Disclosure",
  volume =       "475",
  publisher =    "Kenneth Mason Publications",
  pages =        "475/076",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0374-4353",
  bibdate =      "Mon Dec 8 15:22:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:FMJ,
  author =       "Jessica Chen",
  title =        "Formal Modelling of {Java} {GUI} Event Handling",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2495",
  pages =        "359--??",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Nov 30 20:57:09 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2495.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.de/link/service/series/0558/bibs/2495/24950359.htm;
                 http://link.springer.de/link/service/series/0558/papers/2495/24950359.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Chen:2003:GMD,
  author =       "L. Chen and C. LiWang and F. C. M. Lau",
  title =        "A {Grid} Middleware for Distributed {Java} Computing
                 with {MPI} Binding and Process Migration Supports",
  journal =      j-J-COMP-SCI-TECH,
  volume =       "18",
  number =       "4",
  pages =        "505--514",
  year =         "2003",
  CODEN =        "JCTEEM",
  ISSN =         "1000-9000",
  ISSN-L =       "1000-9000",
  bibdate =      "Wed Aug 27 05:49:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of computer science and technology",
}

@Article{Chen:2003:HCM,
  author =       "G. Chen and M. Kandemir and N. Vijaykrishnan and M. J.
                 Irwin and B. Mathiske and M. Wolczko",
  title =        "Heap compression for memory-constrained {Java}
                 environments",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "282--301",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Chen:2003:JMA,
  author =       "R. Y. Chen and B. Yeager",
  title =        "{Java} Mobile Agents on Project {JXTA} Peer-to-Peer
                 Platform ({STPTP01})",
  journal =      "Proceedings of the Annual Hawaii International
                 Conference on System Sciences",
  volume =       "CONF36",
  pages =        "282",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1060-3425",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:JSDa,
  author =       "Michael K. Chen and Kunle Olukotun",
  title =        "The {Jrpm} system for dynamically parallelizing {Java}
                 programs",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "31",
  number =       "2",
  pages =        "434--446",
  month =        may,
  year =         "2003",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:40:51 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Chen:2003:JSDb,
  author =       "Michael K. Chen and Kunle Olukotun",
  title =        "The {Jrpm} System for Dynamically Parallelizing
                 Sequential {Java} Programs",
  journal =      j-IEEE-MICRO,
  volume =       "23",
  number =       "6",
  pages =        "26--35",
  month =        nov # "\slash " # dec,
  year =         "2003",
  CODEN =        "IEMIDZ",
  DOI =          "https://doi.org/10.1109/MM.2003.1261384",
  ISSN =         "0272-1732 (print), 1937-4143 (electronic)",
  ISSN-L =       "0272-1732",
  bibdate =      "Sat Jan 31 07:23:55 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/mi/2003/06/m6026abs.htm;
                 http://csdl.computer.org/dl/mags/mi/2003/06/m6026.htm;
                 http://csdl.computer.org/dl/mags/mi/2003/06/m6026.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Micro",
  journal-URL =  "http://www.computer.org/csdl/mags/mi/index.html",
}

@Article{Chen:2003:RAS,
  author =       "X. Chen",
  title =        "Realization and application of shared memory in
                 {Java}",
  journal =      "Journal --- Anhui University of Technology",
  volume =       "20",
  number =       "3",
  pages =        "224--226",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Tue Sep 2 06:25:03 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:RFJ,
  author =       "G. Chen",
  title =        "Research on Framework for {Java} Based {$3$D}
                 Collaborative Virtual Environment",
  journal =      "Computer Integrated Manufacturing Systems",
  volume =       "9",
  number =       "SUPP",
  pages =        "6--9",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1006-5911",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:RPJ,
  author =       "Q. Chen and P. Y. Woo",
  title =        "Research on and pure {Java} realization of a
                 {Web}-based mobile robot system",
  journal =      j-PROC-AM-CONTROL-CONF,
  volume =       "1",
  number =       "??",
  pages =        "615--620",
  year =         "2003",
  CODEN =        "PRACEO",
  ISSN =         "0743-1619",
  bibdate =      "Tue Nov 4 05:29:15 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the American Control Conference",
}

@Article{Chetty:2003:IJB,
  author =       "M. Chetty and S. Hu and J. Bennett",
  title =        "An interactive {Java}-based educational module in
                 electromagnetics",
  journal =      "International Journal of Electrical Engineering
                 Education",
  volume =       "40",
  number =       "1",
  publisher =    "Manchester University Press",
  pages =        "79--90",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0020-7209",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chevalley:2003:MAT,
  author =       "P. Chevalley and P. Th{\'e}venod-Fosse",
  title =        "A mutation analysis tool for {Java} programs",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "5",
  number =       "1",
  pages =        "90--103",
  month =        nov,
  year =         "2003",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10009-002-0099-9",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Tue Nov 23 15:01:41 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
}

@Article{Chiba:2003:EUT,
  author =       "S. Chiba and M. Nishizawa",
  title =        "An Easy-to-Use Toolkit for Efficient {Java} Bytecode
                 Translators",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2830",
  pages =        "364--376",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Choi:2003:SAS,
  author =       "Jong-Deok Choi and Manish Gupta and Mauricio J.
                 Serrano and Vugranam C. Sreedhar and Samuel P.
                 Midkiff",
  title =        "Stack allocation and synchronization optimizations for
                 {Java} using escape analysis",
  journal =      j-TOPLAS,
  volume =       "25",
  number =       "6",
  pages =        "876--910",
  month =        nov,
  year =         "2003",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Oct 28 11:56:31 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Chow:2003:EJP,
  author =       "Kingsum Chow and Ricardo Morin and Kumar Shiv",
  title =        "{Enterprise Java} Performance: Best Practices",
  journal =      j-INTEL-TECH-J,
  volume =       "7",
  number =       "1",
  pages =        "32--46",
  month =        feb,
  year =         "2003",
  ISSN =         "1535-766X",
  bibdate =      "Wed Dec 10 15:50:48 2003",
  bibsource =    "http://developer.intel.com/technology/itj/2003/volume07issue01/index.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://developer.intel.com/technology/itj/2003/volume07issue01/art03_java/p01_abstract.htm",
  acknowledgement = ack-nhfb,
  keywords =     "Application Servers; Enterprise Applications; J2EE;
                 Java 2 Enterprise Edition; Java Performance",
}

@Article{Christensen:2003:EJH,
  author =       "Aske Simon Christensen and Anders M{\o}ller and
                 Michael I. Schwartzbach",
  title =        "Extending {Java} for high-level {Web} service
                 construction",
  journal =      j-TOPLAS,
  volume =       "25",
  number =       "6",
  pages =        "814--875",
  month =        nov,
  year =         "2003",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Oct 28 11:56:31 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Chung:2003:JBD,
  author =       "M. J. Chung and S. Kim and H. Kim and H. S. Ham",
  title =        "A {Java}-Based, Distributed Process Management System
                 for Collaborative Design and Manufacturing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "61--72",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Chung:2003:MWA,
  author =       "S. Chung and Y. S. Lee",
  title =        "Modeling {Web} Applications Using {Java} and {XML}
                 Related Technologies ({STDOC09})",
  journal =      "Proceedings of the Annual Hawaii International
                 Conference on System Sciences",
  volume =       "CONF36",
  pages =        "322--322",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1060-3425",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Cierniak:2003:ORP,
  author =       "Michal Cierniak and Marsha Eng and Neal Glew and Brian
                 Lewis and James Stichnoth",
  title =        "The {Open Runtime Platform}: a Flexible
                 High-Performance Managed Runtime Environment",
  journal =      j-INTEL-TECH-J,
  volume =       "7",
  number =       "1",
  pages =        "5--18",
  month =        feb,
  year =         "2003",
  ISSN =         "1535-766X",
  bibdate =      "Wed Dec 10 15:50:48 2003",
  bibsource =    "http://developer.intel.com/technology/itj/2003/volume07issue01/index.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://developer.intel.com/technology/itj/2003/volume07issue01/art01_orp/p01_abstract.htm",
  acknowledgement = ack-nhfb,
  keywords =     "CLI; interface design; Java; MRTE; virtual machine",
}

@Article{Coglio:2003:IOS,
  author =       "Alessandro Coglio",
  title =        "Improving the official specification of {Java}
                 bytecode verification",
  journal =      j-CCPE,
  volume =       "15",
  number =       "2",
  pages =        "155--179",
  month =        feb,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.714",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:06 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "6 Jan 2003",
}

@Article{Collins:2003:RFL,
  author =       "William Collins and Josh Tenenberg and Raymond Lister
                 and Suzanne Westbrook",
  title =        "The role for framework libraries in {CS2}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "403--404",
  month =        jan,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/792548.611894",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:59 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The recent emergence of object-oriented framework
                 libraries of classic data structures and algorithms
                 such as the Standard Template Library and Java's
                 Collection classes provides a set of general and
                 efficient data structure components for use by
                 practicing software developers. A number of textbook
                 writers are beginning to incorporate the use of these
                 frameworks into ``CS2'', the traditional first course
                 in data structures at the university level. There has
                 scarcely been a discussion of how these frameworks
                 should best be incorporated into CS2, if they should be
                 used at all. The proposed panel will examine the role
                 of standardized framework libraries in the first data
                 structures course at the university level. Panelists
                 will focus on the following questions. What are the
                 fundamental objectives of CS2, and what role might
                 frameworks have in meeting these objectives? How does
                 an instructor balance student needs for additional
                 instruction in programming basics (e.g., arrays and
                 pointers) versus practice in larger scale design and
                 code reuse? What would be given up to incorporate
                 frameworks into CS2? And to what extent is it important
                 for students to construct elementary data structures
                 from first principles? What assumptions about student
                 cognition and learning does a pro- or con-frameworks
                 approach imply. By trying to articulate answers to some
                 of the above questions, we hope to raise the level of
                 discussion concerning the evolution of the introductory
                 computer science curriculum. This panel will thus try
                 to make explicit, and hence available for critical
                 examination, some of the arguments and assumptions that
                 inform this debate.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Comp:2003:RAW,
  author =       "Lynn Comp and Tim Dobbing",
  title =        "Runtime Abstractions in the Wireless and Handheld
                 Space",
  journal =      j-INTEL-TECH-J,
  volume =       "7",
  number =       "1",
  pages =        "68--76",
  month =        feb,
  year =         "2003",
  ISSN =         "1535-766X",
  bibdate =      "Wed Dec 10 15:50:48 2003",
  bibsource =    "http://developer.intel.com/technology/itj/2003/volume07issue01/index.htm;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://developer.intel.com/technology/itj/2003/volume07issue01/art07_mobile/p01_abstract.htm",
  acknowledgement = ack-nhfb,
  keywords =     ".NET; J2ME; Java; Managed Runtime Environments; Mobile
                 Information Devices; Wireless Handheld Devices",
}

@Article{Corsaro:2003:DPR,
  author =       "Angelo Corsaro and Douglas C. Schmidt",
  title =        "The Design and Performance of Real-Time {Java}
                 Middleware",
  journal =      j-IEEE-TRANS-PAR-DIST-SYS,
  volume =       "14",
  number =       "11",
  pages =        "1155--1167",
  month =        nov,
  year =         "2003",
  CODEN =        "ITDSEO",
  DOI =          "https://doi.org/10.1109/TPDS.2003.1247675",
  ISSN =         "1045-9219 (print), 1558-2183 (electronic)",
  ISSN-L =       "1045-9219",
  bibdate =      "Wed Dec 24 10:02:10 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/trans/td/2003/11/l1155abs.htm;
                 http://csdl.computer.org/dl/trans/td/2003/11/l1155.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Parallel and Distributed
                 Systems",
  journal-URL =  "http://www.computer.org/tpds/archives.htm",
}

@Article{Corsaro:2003:EMR,
  author =       "Angelo Corsaro and Ron K. Cytron",
  title =        "Efficient Memory-Reference Checks for Real-time
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "51--58",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Corwin:2003:MRM,
  author =       "John Corwin and David F. Bacon and David Grove and
                 Chet Murthy",
  title =        "{MJ}: a rational module system for {Java} and its
                 applications",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "241--254",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Crawford:2003:JDP,
  author =       "William Crawford and Jonathan Kaplan",
  title =        "{J2EE} design patterns",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 350",
  year =         "2003",
  ISBN =         "0-596-00427-3",
  ISBN-13 =      "978-0-596-00427-9",
  LCCN =         "QA76.73.J38 C74 2003",
  bibdate =      "Mon Apr 18 15:06:19 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596004279",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Computer software;
                 Development; Software patterns",
}

@Book{Dahlen:2003:AJP,
  author =       "Torbj{\"o}rn Dahl{\'e}n and Thorbi{\"o}rn Fritzon",
  title =        "Advanced {J2EE} Platform Development: Applying
                 Integration Tier Patterns",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xv + 195",
  year =         "2003",
  ISBN =         "0-13-044912-1",
  ISBN-13 =      "978-0-13-044912-2",
  LCCN =         "QA76.76.J38 D34 2004",
  bibdate =      "Tue Nov 04 18:19:09 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.99",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Application
                 software; Development",
}

@Book{Darwin:2003:JCS,
  author =       "Ian F. Darwin",
  title =        "{Java} Cookbook: Solutions and Examples for {Java}
                 Developers",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxiv + 829",
  year =         "2003",
  ISBN =         "0-596-00701-9",
  ISBN-13 =      "978-0-596-00701-0",
  LCCN =         "QA76.73.J38 D348 2004",
  bibdate =      "Sat Jul 17 07:15:30 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/",
  price =        "US\$49.95, CAN\$72.95, UK\pounds 35.50",
  URL =          "http://examples.oreilly.com/javacook2/;
                 http://www.oreilly.com/catalog/0596007019/",
  acknowledgement = ack-nhfb,
}

@Article{Debbabi:2003:MCA,
  author =       "M. Debbabi and M. Erhioui and L. Ketari and N. Tawbi
                 and H. Yahyaoui and S. Zhioua",
  title =        "Method Call Acceleration in Embedded {Java} Virtual
                 Machines",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2659",
  pages =        "750--759",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Debbabi:2003:SSC,
  author =       "M. Debbabi and J. Desharnais and M. Fourati and E.
                 Menif and F. Painchaud and N. Tawbi",
  title =        "Secure Self-certified Code for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2629",
  pages =        "133--151",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Jan 21 08:32:17 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Deitel:2003:JHP,
  author =       "Harvey M. Deitel and Paul J. Deitel",
  title =        "{Java}: how to program",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Fifth",
  pages =        "li + 1447",
  year =         "2003",
  ISBN =         "0-13-101621-0, 0-13-101623-7 (CD-ROM), 0-13-120236-7",
  ISBN-13 =      "978-0-13-101621-7, 978-0-13-101623-1 (CD-ROM),
                 978-0-13-120236-8",
  LCCN =         "QA76.73.J38 D45 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/unicode.bib",
  series =       "How to program series",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
  tableofcontents = "Introduction to computers, the internet and the Web
                 \\
                 Introduction to Java applications \\
                 Introduction to Java applets \\
                 Control Statements \\
                 Methods \\
                 Arrays \\
                 Object-based programming \\
                 Object-oriented programming: inheritance \\
                 Object-oriented programming: polymorphism \\
                 Strings and characters \\
                 Graphics and Java2D \\
                 Graphical User Interface components \\
                 Exception handling \\
                 Multithreading \\
                 Files and streams \\
                 Networking \\
                 Multimedia: images, animation and audio \\
                 Data structures \\
                 Java utilities package and bit manipulation \\
                 Collections \\
                 Java database connectivity with JDBC \\
                 Servlets \\
                 Javaserver pages (JSP) \\
                 Operator precedence chart \\
                 ASCII character set \\
                 Number systems \\
                 Elevator events and listener interfaces \\
                 Elevator model \\
                 Elevator view (on CD) \\
                 Unicode",
}

@Article{Deng:2003:RCJ,
  author =       "G. Deng and W. Li and Z. Li",
  title =        "Research on {CORBA\slash Java}-based {Web} database
                 application model",
  journal =      "Journal --- Dalian University of Technology",
  volume =       "43",
  number =       "1",
  pages =        "124--128",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1000-8608",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{deOliveira:2003:JMT,
  author =       "Jauvane C. de Oliveira and Mojtaba Hosseini and
                 Shervin Shirmohammadi and Fran{\c{c}}ois Malric and
                 Saeid Nourian and Abdulmotaleb El Saddik and Nicolas D.
                 Georganas",
  title =        "{Java} Multimedia Telecollaboration",
  journal =      j-IEEE-MULTIMEDIA,
  volume =       "10",
  number =       "3",
  pages =        "18--29",
  month =        jul # "--" # sep,
  year =         "2003",
  CODEN =        "IEMUE4",
  DOI =          "https://doi.org/10.1109/MMUL.2003.1218253",
  ISSN =         "1070-986X (print), 1941-0166 (electronic)",
  ISSN-L =       "1070-986X",
  bibdate =      "Sat Jan 3 12:43:03 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/mu/2003/03/u3018abs.htm;
                 http://csdl.computer.org/dl/mags/mu/2003/03/u3018.htm;
                 http://csdl.computer.org/dl/mags/mu/2003/03/u3018.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE MultiMedia",
}

@Article{DePasquale:2003:UJU,
  author =       "C. J. DePasquale",
  title =        "Using the {JVMPI} to Understand the Behavior of {Java}
                 Classes During the Development Process",
  journal =      "Cmg",
  volume =       "2",
  number =       "??",
  publisher =    "Computer Measurement Group",
  pages =        "821--832",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Depradine:2003:ESE,
  author =       "C. Depradine",
  title =        "Expert system for extracting syntactic information
                 from {Java} code",
  journal =      j-EXPERT-SYST-APPL,
  volume =       "25",
  number =       "2",
  pages =        "187--198",
  year =         "2003",
  CODEN =        "ESAPEH",
  ISSN =         "0957-4174",
  ISSN-L =       "0957-4174",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Expert Systems with Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/09574174",
}

@Article{Depradine:2003:PCD,
  author =       "C. Depradine and P. Chaudhuri",
  title =        "{P3}: a code and design conventions preprocessor for
                 {Java}",
  journal =      j-SPE,
  volume =       "33",
  number =       "1",
  pages =        "61--76",
  year =         "2003",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Mon Jan 27 06:53:51 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{DeSouza:2003:JPM,
  author =       "J. DeSouza and L. V. Kale",
  title =        "{Jade}: a Parallel Message-Driven {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2659",
  pages =        "760--772",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Deters:2003:ADS,
  author =       "Morgan Deters and Ron K. Cytron",
  title =        "Automated Discovery of Scoped Memory Regions for
                 Real-Time {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "132--142",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Ding:2003:LJB,
  author =       "K. Ding and K. Zhou and F. He and Y. Shen",
  title =        "{LDA} --- {A} {Java}-based linkage disequilibrium
                 analyzer",
  journal =      j-BIOINFORMATICS,
  volume =       "19",
  number =       "16",
  pages =        "2147--2148",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{DiStefano:2003:CRE,
  author =       "A. DiStefano and M. Fargetta and E. Tramontana",
  title =        "Computational Reflection for Embedded {Java} Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "437--450",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Domani:2003:TLH,
  author =       "Tamar Domani and Gal Goldshtein and Elliot K. Kolodner
                 and Ethan Lewis and Erez Petrank and Dafna Sheinwald",
  title =        "Thread-Local Heaps for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "183--194",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Drejhammar:2003:FJD,
  author =       "F. Drejhammar and C. Schulte and P. Brand and S.
                 Haridi",
  title =        "{Flow Java}: Declarative Concurrency for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2916",
  pages =        "346--360",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Dec 31 11:17:32 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Drysdale:2003:JMJ,
  author =       "S. Drysdale and J. Hromcik and M. A. Weiss and R.
                 Hahne",
  title =        "{Java} in the Morning\ldots{} {Java} in the
                 Evening\ldots{} {Java} in 2004",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "271--272",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@InProceedings{Du:2003:CSE,
  author =       "Wei Du and Renato Ferreira and Gagan Agrawal",
  title =        "Compiler Support for Exploiting Coarse-Grained
                 Pipelined Parallelism",
  crossref =     "ACM:2003:SII",
  pages =        "??--??",
  year =         "2003",
  bibdate =      "Wed Nov 26 07:34:20 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc-conference.org/sc2003/inter_cal/inter_cal_detail.php?eventid=10692#2;
                 http://www.sc-conference.org/sc2003/paperpdfs/pap133.pdf",
  abstract =     "The emergence of grid and a new class of data-driven
                 applications is making a new form of parallelism
                 desirable, which we refer to as coarse-grained
                 pipelined parallelism. This paper reports on a
                 compilation system developed to exploit this form of
                 parallelism. We use a dialect of Java that exposes both
                 pipelined and data parallelism to the compiler. Our
                 compiler is responsible for selecting a set of
                 candidate filter boundaries, determining the volume of
                 communication required if a particular boundary is
                 chosen, performing the decomposition, and generating
                 code. We have developed a one-pass algorithm for
                 determining the required communication between
                 consecutive filters. We have developed a cost model for
                 estimating the execution time for a given
                 decomposition, and a dynamic programming algorithm for
                 performing the decomposition. Detailed evaluation of
                 our current compiler using four data-driven
                 applications demonstrate the feasibility of our
                 approach.",
  acknowledgement = ack-nhfb,
}

@Article{Dufour:2003:DMJ,
  author =       "Bruno Dufour and Karel Driesen and Laurie Hendren and
                 Clark Verbrugge",
  title =        "Dynamic metrics for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "149--168",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Earls:2003:JSM,
  author =       "A. R. Earls",
  title =        "With {Java} skills, market a complex picture",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "12",
  pages =        "28--28",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Wed Dec 31 11:17:32 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Edelstein:2003:FTM,
  author =       "Orit Edelstein and Eitan Farchi and Evgeny Goldin and
                 Yarden Nir and Gil Ratsaby and Shmuel Ur",
  title =        "Framework for testing multi-threaded {Java} programs",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "485--499",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.654",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Eeckhout:2003:HJP,
  author =       "Lieven Eeckhout and Andy Georges and Koen {De
                 Bosschere}",
  title =        "How {Java} programs interact with virtual machines at
                 the microarchitectural level",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "169--186",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Engelbrecht:2003:TSB,
  author =       "R. L. Engelbrecht and D. G. Kourie",
  title =        "Translating {Smalltalk} blocks to {Java}",
  journal =      "IEE Proceedings Software",
  volume =       "150",
  number =       "3",
  publisher =    "IEE",
  pages =        "203--211",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1462-5970",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Everitt:2003:JBI,
  author =       "R. A. J. Everitt and P. W. McOwan",
  title =        "{Java}-Based {Internet} Biometric Authentication
                 System",
  journal =      "IEEE Transactions on Pattern Analysis and Machine
                 Intelligence",
  volume =       "25",
  number =       "9",
  pages =        "1166--1171",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0162-8828",
  bibdate =      "Tue Sep 30 06:17:55 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Fang:2003:DGO,
  author =       "Weijian Fang and Cho-Li Wang and Francis C. M. Lau",
  title =        "On the design of global object space for efficient
                 multi-threading {Java} computing on clusters",
  journal =      j-PARALLEL-COMPUTING,
  volume =       "29",
  number =       "11--12",
  pages =        "1563--1587",
  month =        nov # "\slash " # dec,
  year =         "2003",
  CODEN =        "PACOEJ",
  ISSN =         "0167-8191 (print), 1872-7336 (electronic)",
  ISSN-L =       "0167-8191",
  bibdate =      "Wed Nov 26 06:39:28 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Parallel Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01678191",
}

@Article{Feizabadi:2003:UAS,
  author =       "S. Feizabadi and W. Beebee and B. Ravindran and P. Li
                 and M. Rinard",
  title =        "Utility Accrual Scheduling with Real-Time {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "550--563",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Felber:2003:SAP,
  author =       "P. A. Felber",
  title =        "Semi-automatic Parallelization of {Java}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2888",
  pages =        "1369--1383",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Felea:2003:CDO,
  author =       "V. Felea and B. Toursel and N. Devesa",
  title =        "Les collections distribu{\'e}es: un outil pour la
                 conception d'applications {Java} parall{\`e}les.
                 ({French}) [{Distributed} collections: a tool for
                 creation of paralel {Java} applications]",
  journal =      j-TECHNIQUE-SCI-INFORMATIQUES,
  volume =       "22",
  number =       "3",
  pages =        "289--314",
  year =         "2003",
  CODEN =        "TTSIDJ",
  ISSN =         "0752-4072, 0264-7419",
  ISSN-L =       "0752-4072",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Technique et science informatiques : TSI",
  language =     "French",
}

@Article{Ferrero:2003:RJB,
  author =       "A. Ferrero and S. Salicone and C. Bonora and M.
                 Parmigiani",
  title =        "{ReMLab}: a {Java}-Based Remote, Didactic Measurement
                 Laboratory",
  journal =      j-IEEE-TRANS-INSTRUM-MEAS,
  volume =       "52",
  number =       "3",
  pages =        "710--715",
  year =         "2003",
  CODEN =        "IEIMAO",
  ISSN =         "0018-9456 (print), 1557-9662 (electronic)",
  ISSN-L =       "0018-9456",
  bibdate =      "Tue Aug 19 10:20:00 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Instrumentation and Measurement",
}

@Book{Flenner:2003:JPU,
  author =       "Robert Flenner",
  title =        "{Java P2P} unleashed",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xv + 732",
  year =         "2003",
  ISBN =         "0-672-32399-0 (paperback)",
  ISBN-13 =      "978-0-672-32399-7 (paperback)",
  LCCN =         "QA76.73.J38 J3788 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); peer-to-peer
                 architecture (computer networks)",
}

@Article{Foster:2003:MM,
  author =       "K. R. Foster",
  title =        "Mightier math",
  journal =      j-IEEE-SPECTRUM,
  volume =       "40",
  number =       "2",
  pages =        "58--59",
  month =        feb,
  year =         "2003",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2003.1176518",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "Computer languages; Displays; Graphics; Java;
                 Packaging; Programming profession; Publishing; Software
                 packages; Switches; XML",
}

@Article{Foster:2003:UNP,
  author =       "W. Foster and S. Simpson",
  title =        "Using native plug-ins with {Java}",
  journal =      "Research Disclosure",
  volume =       "467",
  publisher =    "Kenneth Mason Publications",
  pages =        "453",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0374-4353",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Fox:2003:CSE,
  author =       "Geoffrey Fox",
  title =        "Computing in Science {\&} Engineering: {Web}
                 Computing: {Java} and {Grande} Applications",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "4",
  number =       "4",
  year =         "2003",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Sat Jan 03 14:59:06 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0304/d/web_print.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Fox:2003:JGA,
  author =       "Geoffrey Fox",
  title =        "{Java} and {Grande} Applications",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "5",
  number =       "1",
  pages =        "60--62",
  month =        jan # "\slash " # feb,
  year =         "2003",
  CODEN =        "CSENFA",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Sat Jan 3 18:25:04 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://csdl.computer.org/dl/mags/cs/2003/01/c1060.htm;
                 http://csdl.computer.org/dl/mags/cs/2003/01/c1060.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Article{Freund:2003:TSJ,
  author =       "Stephen N. Freund and John C. Mitchell",
  title =        "A Type System for the {Java} Bytecode Language and
                 Verifier",
  journal =      j-J-AUTOM-REASON,
  volume =       "30",
  number =       "3--4",
  pages =        "271--321",
  month =        may,
  year =         "2003",
  CODEN =        "JAREEW",
  DOI =          "https://doi.org/10.1023/A:1025011624925",
  ISSN =         "0168-7433 (print), 1573-0670 (electronic)",
  ISSN-L =       "0168-7433",
  bibdate =      "Sat Apr 2 10:50:21 MDT 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jautomreason.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1023/A%3A1025011624925",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Autom. Reason.",
  fjournal =     "Journal of Automated Reasoning",
  journal-URL =  "http://link.springer.com/journal/10817",
}

@Article{Friedman:2003:TFT,
  author =       "R. Friedman and A. Kama",
  title =        "Transparent Fault-Tolerant {Java Virtual Machine}",
  journal =      "Proceedings of the Symposium on Reliable Distributed
                 Systems",
  volume =       "EDIT22",
  pages =        "319--328",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1060-9857",
  bibdate =      "Mon Dec 8 15:22:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Frye:2003:SGJ,
  author =       "C. Frye",
  title =        "In search of a gentler {Java J2EE}",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "12",
  pages =        "24--29",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Wed Dec 31 11:17:32 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  abstract =     "Complexity stemmed the growth of early {Java} tools.
                 Now, an emerging breed of simpler offerings aims to
                 give Visual {Studio.NET} a run for its money just as
                 the next-generation Microsoft offerings increase
                 complexity",
  acknowledgement = ack-nhfb,
}

@Article{Fuhrer:2003:MDV,
  author =       "P. Fuhrer and J. PasquierRocha",
  title =        "Massively Distributed Virtual Worlds: a Framework
                 Approach ({MaDViWorld}: a {Java} Software Framework for
                 Massively Distributed Virtual Worlds)",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "111--121",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Fukushima:2003:SFS,
  author =       "K. Fukushima and K. Sakurai",
  title =        "A Software Fingerprinting Scheme for {Java} Using
                 Classfiles Obfuscation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2908",
  pages =        "303--316",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Feb 23 16:27:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Fuzitaki:2003:MNL,
  author =       "C. N. Fuzitaki and P. B. Menezes and J. P. Machado and
                 S. A. daCosta",
  title =        "Mapping {Nautilus} Language into {Java}: Towards a
                 Specification and Programming Environment for
                 Distributed Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2809",
  pages =        "243--252",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 18 10:35:04 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gadde:2003:JCA,
  author =       "S. Gadde",
  title =        "{Java} class aliasing during run time",
  journal =      "Research Disclosure",
  volume =       "470",
  publisher =    "Kenneth Mason Publications",
  pages =        "764",
  year =         "2003",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Gagnon:2003:EIT,
  author =       "E. Gagnon and L. Hendren",
  title =        "Effective Inline-Threaded Interpretation of {Java}
                 Bytecode Using Preparation Sequences",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2622",
  pages =        "170--184",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Galant:2003:HTN,
  author =       "A. Galant and R. Kutner and A. Majerowski",
  title =        "Heat Transfer, {Newton}'s Law of Cooling and the Law
                 of Entropy Increase Simulated by the Real-Time Computer
                 Experiment in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2657",
  pages =        "45--53",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gamess:2003:ESP,
  author =       "E. Gamess",
  title =        "Execution of Sequential and Parallel {Java} Bytecode
                 in a Metacomputing System",
  journal =      j-PARALLEL-PROCESS-LETT,
  volume =       "13",
  number =       "1",
  pages =        "53--64",
  year =         "2003",
  CODEN =        "PPLTEE",
  ISSN =         "0129-6264 (print), 1793-642X (electronic)",
  bibdate =      "Thu May 8 07:01:22 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Parallel Processing Letters",
  journal-URL =  "http://www.worldscientific.com/loi/ppl",
}

@Article{Gates:2003:DTT,
  author =       "L. Gates",
  title =        "Development Tools and Technologies: {Java IDEs}
                 further coverage of life cycle",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "7",
  publisher =    "Microsoft Corporation",
  pages =        "39--42",
  year =         "2003",
  CODEN =        "ADTRF4",
  ISSN =         "1073-9564",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Gegg-Harrison:2003:SPCa,
  author =       "Timothy S. Gegg-Harrison and Gary R. Bunce and Rebecca
                 D. Ganetzky and Christina M. Olson and Joshua D.
                 Wilson",
  title =        "Studying program correctness by constructing
                 contracts",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "129--133",
  month =        sep,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/961290.961548",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Because the concept of program correctness is
                 generally taught as an activity independent of the
                 programming process, most introductory computer science
                 (CS) students perceive it as unnecessary and even
                 irrelevant. The concept of contracts, on the other
                 hand, is generally taught as an integral part of the
                 programming process. As such, most introductory CS
                 students have little difficulty understanding the need
                 to establish contracts via preconditions and
                 postconditions. In order to improve teaching program
                 correctness concepts, we implemented ProVIDE, an
                 enhanced integrated development environment (IDE) for
                 Java [7]. Pro VIDE supports a modified version of the
                 ``design by contract'' methodology [13] that assists
                 its student programmers in contract construction.
                 Rather than asking for both a precondition and
                 postcondition for each of his/her methods, ProVIDE asks
                 the student to simply supply a postcondition. ProVIDE
                 then helps the student construct the appropriate
                 precondition by leading him/her through an axiomatic
                 proof of the correctness of the method. Thus, the proof
                 of correctness of the method is a side-effect of the
                 student's need to construct an appropriate
                 precondition.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gegg-Harrison:2003:SPCb,
  author =       "Timothy S. Gegg-Harrison and Gary R. Bunce and Rebecca
                 D. Ganetzky and Christina M. Olson and Joshua D.
                 Wilson",
  title =        "Studying program correctness in {ProVIDE}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "262--262",
  month =        sep,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/961290.961624",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In an attempt to better integrate discrete mathematics
                 into the introductory CS curriculum, we implemented
                 ProVIDE, an enhanced integrated development environment
                 (IDE) for Java that enables students to analyze their
                 computer programs (in terms of their correctness) while
                 they are creating them [1]. The primary goal of the
                 construction of ProVIDE is the seamless integration of
                 analysis with the creation of computer programs.
                 Because the concept of program correctness is generally
                 taught as an activity independent of the programming
                 process, most introductory CS students perceive it is
                 unnecessary and even irrelevant. The concept of
                 contracts, on the other hand, is generally taught as an
                 integral part of the programming process. As such, most
                 introductory CS students have little difficulty
                 understanding the need to establish contracts via
                 preconditions and postconditions. The approach we have
                 taken with ProVIDE is a modified version of the
                 ``design by contract'' methodology. Rather than asking
                 the student programmer for both a precondition and
                 postcondition for each of his/her methods, ProVIDE asks
                 the student to simply supply a postcondition. ProVIDE
                 then helps the student construct the appropriate
                 precondition by leading him/her through an axiomatic
                 proof of the correctness of the method. Thus, the proof
                 of correctness of the method is a side-effect of the
                 student's need to construct an appropriate
                 precondition. In this demonstration, we will show some
                 examples of method precondition construction (including
                 loop invariant construction) within ProVIDE, including
                 the following squaring algorithms that uses only
                 additions (which highlights the construction of a loop
                 invariant for a single loop) and only increments and
                 decrements (which highlights the construction of loop
                 invariants for both sequential and nested loops),
                 respectively.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gerlach:2003:GPS,
  author =       "J. Gerlach and J. Kneis",
  title =        "Generic Programming for Scientific Computing in {C++},
                 {Java}, and {C\#}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2834",
  pages =        "301--310",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Oct 15 08:31:41 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ghahramani:2003:ISP,
  author =       "Bahador Ghahramani and Mark A. Pauley",
  title =        "{IT} Systems Perspective: {Java} in High-Performance
                 Environments",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "9",
  pages =        "109--111",
  month =        sep,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/09/r9109.htm;
                 http://csdl.computer.org/dl/mags/co/2003/09/r9109.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Ghosale:2003:IHP,
  author =       "N. Ghosale and J. A. Green and J. HernandezHerrero and
                 G. G. Huang and P. S. Parikh",
  title =        "On Implementing a High-Performance Open {API} with
                 {Java}",
  journal =      j-BELL-LABS-TECH-J,
  volume =       "7",
  number =       "4",
  pages =        "123--138",
  year =         "2003",
  CODEN =        "BLTJFD",
  ISSN =         "1089-7089",
  ISSN-L =       "1089-7089",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bell Labs Technical Journal",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1538-7305/issues/",
}

@Article{GomezMartin:2003:JVE,
  author =       "P. P. GomezMartin and M. A. GomezMartin and P. A.
                 GonzalezCalero",
  title =        "{Javy}: Virtual Environment for Case-Based Teaching of
                 {Java Virtual Machine}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2773",
  pages =        "906--913",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gontmakher:2003:CVJ,
  author =       "A. Gontmakher and S. Polyakov and A. Schuster",
  title =        "Complexity of Verifying {Java} Shared Memory
                 Execution",
  journal =      j-PARALLEL-PROCESS-LETT,
  volume =       "13",
  number =       "4",
  pages =        "721--734",
  year =         "2003",
  CODEN =        "PPLTEE",
  ISSN =         "0129-6264 (print), 1793-642X (electronic)",
  bibdate =      "Mon Feb 23 16:27:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Parallel Processing Letters",
  journal-URL =  "http://www.worldscientific.com/loi/ppl",
}

@Book{Goodman:2003:JDC,
  author =       "Danny Goodman",
  title =        "{JavaScript} and {DHTML} cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvii + 520",
  year =         "2003",
  ISBN =         "0-596-00467-2",
  ISBN-13 =      "978-0-596-00467-5",
  LCCN =         "QA76.73.J39 G63 2003",
  bibdate =      "Mon Apr 18 15:06:50 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596004675",
  acknowledgement = ack-nhfb,
  keywords =     "cookbook; Dynamic HyperText Markup Language;
                 JavaScript",
  remark =       "``Solutions and examples for web programmers'' ---
                 cover.",
  subject =      "JavaScript (Computer program language); DHTML
                 (Document markup language); Internet programming",
}

@Book{Goody:2003:IVJ,
  author =       "Roy W. Goody",
  title =        "Introduction to {Visual J++} (Version 6.0):
                 applications and applets: {Java 2} compliant",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xx + 580",
  year =         "2003",
  ISBN =         "0-13-048260-9",
  ISBN-13 =      "978-0-13-048260-0",
  LCCN =         "QA76.73.J38 G662 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  annote =       "Second edition of Introduction to J++ (Version 6.0)",
  keywords =     "Java (computer program language); Microsoft Visual
                 J++",
}

@Article{Goschl:2003:JXB,
  author =       "Siegfried G{\"o}schl",
  title =        "{Jelly}: An {XML}-Based Scripting Language",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "66--67",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/jelly.zip",
  abstract =     "Jelly, which lets you turn XML into executable code,
                 is a Java-based scripting language that can be used as
                 an embedded or standalone tool. Additional resources
                 include jelly.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Gregg:2003:PID,
  author =       "David Gregg and James Power and John Waldron",
  title =        "Platform independent dynamic {Java} virtual machine
                 analysis: the {Java Grande Forum} benchmark suite",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "459--484",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.666",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Grinder:2003:PEE,
  author =       "Michael T. Grinder",
  title =        "A preliminary empirical evaluation of the
                 effectiveness of a finite state automaton animator",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "157--161",
  month =        jan,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/792548.611958",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:59 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The FSA Simulator is a Java program created to allow
                 computer science students to work and experiment with
                 finite state automata (FSAs). One of its unique
                 features is the ability to compare the languages of two
                 FSAs. This FSA comparison feature lets the software
                 give students feedback about the accuracy of their work
                 as they do exercises, guiding them toward a correct
                 solution. This paper discusses some preliminary
                 experiments performed to determine the effect of this
                 feedback mechanism on students' learning. Two
                 experimental labs were conducted, the results of which
                 suggest that this feature improved students' success
                 rate when doing exercises, but did not appear to
                 significantly improve the students' performance when
                 the comparison feature was not available.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gruntz:2003:JST,
  author =       "D. Gruntz and R. Muller",
  title =        "{Java} Smart Ticket Demo Application Scrutinized",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2591",
  pages =        "121--134",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Hakala:2003:GPB,
  author =       "M. Hakala and J. Hautamaki and K. Koskimies and P.
                 Savolainen",
  title =        "Generating Pattern-Based {Web} Tutorials for {Java}
                 Frameworks",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "99--110",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Harold:2003:PXJ,
  author =       "Elliotte Rusty Harold",
  title =        "Processing {XML} with {Java}: a guide to {SAX}, {DOM},
                 {JDOM}, {JAXP}, and {TrAX}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxxvii + 1071",
  year =         "2003",
  ISBN =         "0-201-77186-1",
  ISBN-13 =      "978-0-201-77186-2",
  LCCN =         "QA76.76.H94 H337 2003 Bar",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); XML (document markup
                 language)",
}

@Article{Harrison:2003:NBP,
  author =       "P. G. Harrison and C. M. Llado",
  title =        "A new blocking problem from {Java}-based schedulers",
  journal =      j-PERF-EVAL,
  volume =       "51",
  number =       "2--4",
  pages =        "229--246",
  year =         "2003",
  CODEN =        "PEEVD9",
  ISSN =         "0166-5316 (print), 1872-745X (electronic)",
  ISSN-L =       "0166-5316",
  bibdate =      "Tue Feb 4 05:46:37 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Performance evaluation",
}

@Article{Hau:2003:SJA,
  author =       "Gary K. W. Hau and Anthony Fong and Mok Pak Lun",
  title =        "Support of {Java API} for the {jHISC} System",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "31",
  number =       "4",
  pages =        "12--17",
  month =        sep,
  year =         "2003",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:41:15 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Heines:2003:EXS,
  author =       "J. M. Heines",
  title =        "Enabling {XML} Storage from {Java} Applets in a {GUI}
                 Programming Course",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "2",
  pages =        "88--93",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Heinlein:2003:ATS,
  author =       "C. Heinlein",
  title =        "Advanced Thread Synchronization in {Java} Using
                 Interaction Expressions",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2591",
  pages =        "345--365",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Henkel:2003:DAS,
  author =       "J. Henkel and A. Diwan",
  title =        "Discovering Algebraic Specifications from {Java}
                 Classes",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2743",
  pages =        "431--456",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Aug 5 06:56:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Hericko:2003:OSA,
  author =       "Marjan Hericko and Matjaz B. Juric and Ivan Rozman and
                 Simon Beloglavec and Ales Zivkovic",
  title =        "Object Serialization Analysis and Comparison in {Java}
                 and {.NET}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "44--54",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 4 05:29:15 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Herrmann:2003:BJP,
  author =       "A. D. Herrmann and M. E. Patzkowsky and S. M.
                 Holland",
  title =        "{BIOMODULE}: a {Java} program to help model and
                 interpret the stratigraphic record",
  journal =      j-COMP-GEOSCI,
  volume =       "29",
  number =       "1",
  pages =        "99--105",
  year =         "2003",
  CODEN =        "CGEODT, CGOSDN",
  ISSN =         "0098-3004 (print), 1873-7803 (electronic)",
  ISSN-L =       "0098-3004",
  bibdate =      "Thu Jan 9 07:47:31 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Geosciences",
}

@Book{Hightower:2003:PPJ,
  author =       "Richard Hightower",
  title =        "{Python} programming with the {Java} class libraries:
                 a tutorial for building {Web} and Enterprise
                 applications with {Jython}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xii + 620",
  year =         "2003",
  ISBN =         "0-201-61616-5",
  ISBN-13 =      "978-0-201-61616-3",
  LCCN =         "QA76.73.P98 H54 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application software -- development; Java (computer
                 program language); Python (computer program language)",
}

@Article{Higuchi:2003:STS,
  author =       "Tomoyuki Higuchi and Atsushi Ohori",
  title =        "A static type system for {JVM} access control",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "227--237",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Hirayama:2003:FBE,
  author =       "K. Hirayama and N. Kunieda and Y. Hayashi and M.
                 Koshiba",
  title =        "{FEM-Based} Electromagnetic Wave Simulator Running on
                 Some Platforms by Use of {Java} and a Commercial Tool",
  journal =      "IEICE Transactions on Electronics E Series C",
  volume =       "86",
  number =       "11",
  pages =        "2191--2198",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0916-8524",
  bibdate =      "Mon Dec 8 15:22:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hitzer:2003:KIS,
  author =       "E. M. S. Hitzer",
  title =        "{Kamiwaai}: Interactive {$3$D} Sketching with {Java}
                 Based on $ \mbox {Cl}(4, 1) $, Conformal Model of
                 {Euclidean} Space",
  journal =      "Advances in Applied Clifford Algebras",
  volume =       "13",
  number =       "1",
  pages =        "11--46",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0188-7009",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hnetynka:2003:FCN,
  author =       "P. Hnetynka and P. Tuma",
  title =        "Fighting Class Name Clashes in {Java} Component
                 Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2789",
  pages =        "106--109",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 16 06:05:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Hoepner:2003:JBO,
  author =       "P. Hoepner and K. P. Eckert",
  title =        "{Java}-based Open Platform for Distributed Health
                 Telematics Applications",
  journal =      "Studies in Health Technology and Informatics",
  volume =       "96",
  pages =        "73--79",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0926-9630",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hohpe:2003:AWO,
  author =       "G. Hohpe",
  title =        "An Asynchronous World: Online, you can get all the
                 documentation you want on the {Java Messaging Service
                 API}",
  journal =      "Software Development",
  volume =       "11",
  number =       "7",
  pages =        "32--37",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hokao:2003:TDM,
  author =       "S. Hokao and H. Tanaka and M. Yoshihama and T.
                 Furukawa and M. Ohchi",
  title =        "{TAI-18-5} Development of Management System for
                 Student Course Records Using {Java} and {PostgreSQL}",
  journal =      "Sice",
  volume =       "2",
  number =       "",
  pages =        "1693--1698",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Mon Dec 6 06:44:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hong:2003:RDW,
  author =       "Z. Y. Hong and A. Dong",
  title =        "Research and Development of {WebGIS} Based on
                 {MapXtreme\slash Java}",
  journal =      "Journal --- Shenyang Institute of Technology",
  volume =       "22",
  number =       "3",
  pages =        "45--48",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1003-1251",
  bibdate =      "Wed Jan 21 08:03:13 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Horstmann:2003:CCJ,
  author =       "Cay S. Horstmann",
  title =        "Computing concepts with {Java} essentials",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "3rd ed",
  pages =        "xv + 846",
  year =         "2003",
  ISBN =         "0-471-24371-X (paperback)",
  ISBN-13 =      "978-0-471-24371-7 (paperback)",
  LCCN =         "QA76 .H665 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing; Java (computer program
                 language)",
}

@Book{Horstmann:2003:CJV,
  author =       "Cay S. Horstmann and Gary Cornell",
  title =        "Core {Java 2}: Volume 1: Fundamentals",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  edition =      "Sixth",
  pages =        "751 (est.)",
  year =         "2003",
  ISBN =         "0-13-047177-1",
  ISBN-13 =      "978-0-13-047177-2",
  LCCN =         "QA76.73.J38 H67 2003",
  bibdate =      "Fri Apr 11 15:35:30 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Sun BluePrints Program",
  acknowledgement = ack-nhfb,
}

@Article{Hristova:2003:ICJ,
  author =       "M. Hristova and A. Misra and M. Rutter and R.
                 Mercuri",
  title =        "Identifying and Correcting {Java} Programming Errors
                 for Introductory Computer Science Students",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "153--156",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hu:2003:DJV,
  author =       "E. Y. S. Hu and A. J. Wellings and G. Bernat",
  title =        "Deriving {Java Virtual Machine} Timing Models for
                 Portable Worst-Case Execution Time Analysis",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "411--424",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Hu:2003:FAA,
  author =       "Chenglie Hu",
  title =        "A framework for applet animations with controls",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "4",
  pages =        "90--93",
  month =        dec,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/960492.960536",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:05 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse35.html#Hu03;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2003.bib",
  abstract =     "A generic JavaTM applet animation with controls is
                 presented in this paper. This framework implementation
                 promotes software reusability in terms of applying
                 modularity and factorization using inheritance,
                 delegation, and template classes with cohesive methods.
                 It can be used either as an example or a project in a
                 typical object-oriented design and analysis class.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Huang:2003:JBD,
  author =       "H. P. Huang and C. H. Lu",
  title =        "{Java}-Based Distance Learning Environment for
                 Electronic Instruments",
  journal =      j-IEEE-TRANS-EDUC,
  volume =       "46",
  number =       "1",
  pages =        "88--94",
  year =         "2003",
  CODEN =        "IEEDAB",
  ISSN =         "0018-9359",
  ISSN-L =       "0018-9359",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Education",
}

@Article{Huang:2003:JGJ,
  author =       "Y. Huang and T. Ni and L. Zhou and S. Su",
  title =        "{JXP4BIGI}: a generalized, {Java} {XML}-based approach
                 for biological information gathering and integration",
  journal =      j-BIOINFORMATICS,
  volume =       "19",
  number =       "18",
  pages =        "2351--2358",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Wed Jan 21 08:03:13 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{Huang:2003:JJB,
  author =       "Y. Huang",
  title =        "{JISGA}: a {Jini}-Based Service-Oriented {Grid}
                 Architecture",
  journal =      "International Journal of High Performance Computing
                 Applications",
  volume =       "17",
  number =       "3",
  pages =        "317--327",
  month =        aug,
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1094-3420 (print), 1741-2846 (electronic)",
  ISSN-L =       "1094-3420",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "11",
}

@Book{Hunt:2003:GJE,
  author =       "John Hunt and Chris Loftus",
  title =        "Guide to {J2EE}: {Enterprise Java}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xxv + 672",
  year =         "2003",
  ISBN =         "1-85233-704-4",
  ISBN-13 =      "978-1-85233-704-9",
  LCCN =         "QA76.73.J38 H855 2003",
  bibdate =      "Sat Aug 02 09:15:18 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$69.95",
  series =       "Springer professional computing",
  acknowledgement = ack-nhfb,
  subject =      "Java (computer program language); business; data
                 processing",
}

@Article{Hunt:2003:LSM,
  author =       "J. Hunt",
  title =        "Look sharp! {Microsoft}'s {C\#} column has often been
                 described as a {Java} killer, and the languages have a
                 lot in common",
  journal =      "Application Development Advisor",
  volume =       "7",
  number =       "2",
  publisher =    "SIGS",
  pages =        "32--35",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1369-4200",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hunt:2003:UIP,
  author =       "Kenny Hunt",
  title =        "Using image processing to teach {CS1} and {CS2}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "4",
  pages =        "86--89",
  month =        dec,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/960492.960535",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:05 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse35.html#Hunt03;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2003.bib",
  abstract =     "The use of digital image processing techniques in
                 undergraduate computer science curriculum has
                 advantages in terms of motivating student interest and
                 immediate, visual feedback of executed code. Although
                 the standard Java distribution includes support for
                 basic image processing operations, including the
                 display of images, the complexity of the package
                 renders it unsuitable for inexperienced programmers.
                 This paper presents an extension to the built-in image
                 processing package that is suitable for use in CS1 and
                 CS2 courses and suggests ways that the package can be
                 used to teach topics in these courses.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Husted:2003:SAB,
  author =       "Ted Husted and Cedric Dumoulin",
  title =        "{Struts} in action: {Building} {Web} applications with
                 the leading {Java} framework",
  publisher =    "Manning",
  address =      "Greenwich, CT, USA",
  pages =        "xxxiv + 630",
  year =         "2003",
  ISBN =         "1-930110-50-2",
  ISBN-13 =      "978-1-930110-50-2",
  LCCN =         "TK5105.8885.S76 H87 2003",
  bibdate =      "Mon Mar 27 09:10:19 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/bios/ipg051/2003275314.html;
                 http://www.loc.gov/catdir/description/ipg051/2003275314.html",
  acknowledgement = ack-nhfb,
  subject =      "Struts framework; Web site development",
}

@Article{Icking:2003:JAD,
  author =       "C. Icking and R. Klein and P. Kollner and L. Ma",
  title =        "{Java} Applets for the Dynamic Visualization of
                 {Voronoi} Diagrams",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2598",
  pages =        "191--205",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Inagaki:2003:IPS,
  author =       "Tatsushi Inagaki and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Integrated prepass scheduling for a {Java}
                 {Just-In-Time} compiler on the {IA-64} architecture",
  crossref =     "IEEE:2003:PCI",
  pages =        "159--168",
  year =         "2003",
  DOI =          "https://doi.org/10.1109/CGO.2003.1191542",
  bibdate =      "Thu Jun 09 18:42:46 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present a new integrated prepass scheduling (IPS)
                 algorithm for a Java Just-In-Time (JIT) compiler, which
                 integrates register minimization into list scheduling.
                 We use backtracking in the list scheduling when we have
                 used up all the available registers. To reduce the
                 overhead of backtracking, we incrementally maintain a
                 set of candidate instructions for undoing scheduling.
                 To maximize the ILP after undoing scheduling. To
                 maximize the ILP after undoing scheduling, we select an
                 instruction chain with the smallest increase in the
                 total execution time. We implemented our new algorithm
                 in a production-level Java JIT compiler for the Intel
                 Itanium processor. The experiment showed that, compared
                 to the best known algorithm by Govindarajan et al., our
                 IPS algorithm improved the performance by up to +1.8\%
                 while it reduced the compilation time for IPS by 58\%
                 on average.",
  acknowledgement = ack-nhfb,
}

@Article{Iosif:2003:TLP,
  author =       "R. Iosif and R. Sisto",
  title =        "Temporal logic properties of {Java} objects",
  journal =      j-J-SYST-SOFTW,
  volume =       "68",
  number =       "3",
  pages =        "243--251",
  year =         "2003",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Ishizaki:2003:ECP,
  author =       "Kazuaki Ishizaki and Mikio Takeuchi and Kiyokuni
                 Kawachiya and Toshio Suganuma and Osamu Gohda and
                 Tatsushi Inagaki and Akira Koseki and Kazunori Ogata
                 and Motohiro Kawahito and Toshiaki Yasue and Takeshi
                 Ogasawara and Tamiya Onodera and Hideaki Komatsu and
                 Toshio Nakatani",
  title =        "Effectiveness of cross-platform optimizations for a
                 {Java} just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "187--204",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Itzstein:2003:IHL,
  author =       "G. S. Itzstein and M. Jasiunas",
  title =        "On Implementing High Level Concurrency in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2823",
  pages =        "151--165",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@PhdThesis{Ive:2003:TER,
  author =       "Anders Ive",
  title =        "Towards an embedded real-time {Java Virtual Machine}",
  volume =       "20",
  type =         "Thesis (fil.dr.)",
  school =       "Lund University, Department of Computer Science",
  address =      "Lund, Sweden",
  pages =        "viii + 139",
  year =         "2003",
  LCCN =         "????",
  bibdate =      "Mon Apr 10 10:43:56 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Dissertation / Department of Computer Science, Lund
                 University",
  acknowledgement = ack-nhfb,
  subject =      "JVM; microsystems",
}

@Book{Iverson:2003:MXJ,
  author =       "Will Iverson",
  title =        "{Mac OS X} for {Java} Geeks",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xii + 282",
  year =         "2003",
  ISBN =         "0-596-00400-1",
  ISBN-13 =      "978-0-596-00400-2",
  LCCN =         "QA76.76.O63 I936 2003",
  bibdate =      "Thu May 08 13:55:11 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95 US, CAN\$61.95, UK\pounds 28.50",
  URL =          "http://www.oreilly.com/catalog/macxjvgks/",
  acknowledgement = ack-nhfb,
  subject =      "Mac OS; Operating systems (Computers); Macintosh
                 (Computer); Programming; Java (Computer program
                 language)",
}

@Article{Jacobs:2003:CMS,
  author =       "B. Jacobs and E. Poll",
  title =        "Coalgebras and monads in the semantics of {Java}",
  journal =      j-THEOR-COMP-SCI,
  volume =       "291",
  number =       "3",
  pages =        "329--349",
  year =         "2003",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Thu Jan 9 07:47:31 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Article{Jacobs:2003:JIT,
  author =       "B. Jacobs",
  title =        "{Java}'s Integral Types in {PVS}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2884",
  pages =        "1--15",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 15 12:30:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jacobs:2003:JPV,
  author =       "B. Jacobs and J. Kiniry and M. Warnier",
  title =        "{Java} Program Verification Challenges",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2852",
  pages =        "202--219",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 11 05:21:36 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jank:2003:OOI,
  author =       "K. Jank and R. Oberhauser",
  title =        "An Object-Oriented Invocation Layer for the {Java
                 Message Service}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "57--69",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jha:2003:JIP,
  author =       "S. Jha and M. Hassan",
  title =        "{Java} implementation of policy-based bandwith
                 management",
  journal =      "International Journal of Network Management",
  volume =       "13",
  number =       "4",
  pages =        "249--258",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1055-7148",
  bibdate =      "Tue Sep 2 06:25:03 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Jiang:2003:AJM,
  author =       "Y. Jiang and Z. Wang and T. Chen",
  title =        "Application of {Java} in Multimedia {Netware}
                 Courseware",
  journal =      "Journal --- {Jiangsu Polytechnic University}",
  volume =       "15",
  number =       "1",
  pages =        "61--64",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Jipping:2003:UJT,
  author =       "M. J. Jipping and A. Bugaj and L. Mihalkova and D. E.
                 Porter",
  title =        "Using {Java} to Teach Networking Concepts With a
                 Programmable Network Sniffer",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "120--124",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Johnson:2003:SJA,
  author =       "P. Johnson",
  title =        "Scaling Up {Java} Applications on {Windows} Servers",
  journal =      "Cmg",
  volume =       "1",
  number =       "??",
  publisher =    "Computer Measurement Group",
  pages =        "103--112",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Jordan:2003:JDO,
  author =       "David Jordan and Craig Russell",
  title =        "{Java} Data Objects",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxi + 356",
  year =         "2003",
  ISBN =         "0-596-00276-9",
  ISBN-13 =      "978-0-596-00276-3",
  LCCN =         "QA76.73.J38 J66 2003",
  bibdate =      "Thu May 08 13:57:25 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95 US, CAN\$61.95, UK\pounds 28.50",
  URL =          "http://www.oreilly.com/catalog/jvadtaobj/",
  acknowledgement = ack-nhfb,
}

@Article{Joshi:2003:FOJ,
  author =       "Rushikesh K. Joshi and Maureen Mascarenhas and Yogesh
                 Murarka",
  title =        "Filter objects for {Java}",
  journal =      j-SPE,
  volume =       "33",
  number =       "6",
  pages =        "509--522",
  month =        may,
  year =         "2003",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.507",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Nov 29 17:39:45 MST 2003",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "5 Mar 2003",
}

@Article{Jun:2003:CDT,
  author =       "Q. Jun and L. Hongzhi and L. Shiqi and C. Lie",
  title =        "A collaborative design tool based on {Java $3$D} and
                 {CORBA}",
  journal =      "Journal - Huazhong University of Science and
                 Technology Nature Science Chinese Edition",
  volume =       "31",
  number =       "1",
  pages =        "25--27",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1671-4512",
  bibdate =      "Tue Mar 4 09:14:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kavadias:2003:ESS,
  author =       "C. Kavadias and B. Perrin and V. Kollias and M.
                 Loupis",
  title =        "Enhanced {SDL} Subset for the Design and
                 Implementation of {Java}-Enabled Embedded Signalling
                 Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2708",
  pages =        "137--149",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Aug 12 09:01:52 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Keane:2003:DJP,
  author =       "T. Keane and R. Allen and T. J. Naughton and J.
                 McInerney and J. Waldron",
  title =        "Distributed {Java} Platform with Programmable {MIMD}
                 Capabilities",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "122--131",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kiczales:2003:ATA,
  author =       "G. Kiczales",
  title =        "{AspectJ}(tm): Aspect-Oriented Programming in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2591",
  pages =        "1",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kilburn:2003:MUJ,
  author =       "W. Kilburn",
  title =        "{Microsoft} unveils {Java} converter kit",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "12",
  pages =        "27--27",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Wed Dec 31 11:17:32 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kilgore:2003:OOS,
  author =       "R. A. Kilgore",
  title =        "Object-Oriented Simulation with {SML} and {Silk} in
                 {.Net} and {Java}",
  journal =      "Winter Simulation Conference",
  volume =       "1",
  number =       "??",
  pages =        "218--224",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0743-1902 (print), 2160-9276 (electronic)",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kimura:2003:IJA,
  author =       "M. Kimura and M. H. Miki and T. Onoye and I.
                 Shirakawa",
  title =        "Implementation of {Java} Accelerator for
                 High-Performance Embedded Systems",
  journal =      "IEICE Transactions on Fundamentals of Electronics
                 Communications and Computer Sciences E Series A",
  volume =       "86",
  number =       "12",
  pages =        "3079--3088",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0916-8508 (print), 1745-1337 (electronic)",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@InProceedings{Kistijantoro:2003:CRD,
  author =       "A. Kistijantoro and G. Morgan and S. Shrivastava and
                 M. Little",
  title =        "Component Replication in Distributed Systems: a Case
                 Study Using Enterprise {Java Beans}",
  crossref =     "IEEE:2003:PSR",
  volume =       "EDIT22",
  pages =        "89--98",
  year =         "2003",
  bibdate =      "Mon Dec 8 15:22:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kleijnen:2003:OWS,
  author =       "Stans Kleijnen and Srikanth Raju",
  title =        "An Open {Web} Services Architecture",
  journal =      j-QUEUE,
  volume =       "1",
  number =       "1",
  pages =        "38--46",
  month =        mar,
  year =         "2003",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Sat Aug 23 11:00:11 2003",
  bibsource =    "http://www.acmqueue.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "With Java users are free to choose the products that
                 best suit their needs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Klein:2003:VBS,
  author =       "G. Klein and M. Wildmoser",
  title =        "Verified Bytecode Subroutines",
  journal =      j-J-AUTOM-REASON,
  volume =       "30",
  number =       "3--4",
  pages =        "363--398",
  month =        may,
  year =         "2003",
  CODEN =        "JAREEW",
  DOI =          "https://doi.org/10.1023/A:1025095122199",
  ISSN =         "0168-7433 (print), 1573-0670 (electronic)",
  ISSN-L =       "0168-7433",
  bibdate =      "Sat Apr 2 10:50:21 MDT 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jautomreason.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1023/A%3A1025095122199",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Autom. Reason.",
  fjournal =     "Journal of Automated Reasoning",
  journal-URL =  "http://link.springer.com/journal/10817",
}

@Article{Kloukinas:2003:MTS,
  author =       "C. Kloukinas and C. Nakhli and S. Yovine",
  title =        "A Methodology and Tool Support for Generating
                 Scheduled Native Code for Real-Time {Java}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2855",
  pages =        "274--289",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 11 05:21:36 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Koga:2003:MRT,
  author =       "M. Koga and S. Kawakami",
  title =        "{MAI-17-3} Real-Time Remote Control System in {Java}
                 and Its Application to Swing Up Control of Inverted
                 Pendulum",
  journal =      "Sice",
  volume =       "1",
  number =       "",
  pages =        "358--361",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Mon Dec 6 06:44:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Konsella:2003:ASJ,
  author =       "S. Konsella",
  title =        "Adapting standard {Java GUI APIs} for front panel user
                 interfaces on peripheral devices",
  journal =      "Research Disclosure",
  volume =       "466",
  publisher =    "Kenneth Mason Publications",
  pages =        "236",
  year =         "2003",
  CODEN =        "RSDSBB",
  ISSN =         "0374-4353",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Korochkin:2003:EPA,
  author =       "D. Korochkin and S. Korochkin",
  title =        "Experimental Performance Analysis of the {Ada95} and
                 {Java} Parallel Program on {SMP} Systems",
  journal =      j-SIGADA-LETTERS,
  volume =       "23",
  number =       "1",
  pages =        "53--56",
  year =         "2003",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Wed May 28 05:39:24 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Kou:2003:RST,
  author =       "Y. Kou and Z. Liao and Z. Li",
  title =        "Research on the Scalable Technologies of Network
                 Management Software based on {Java}",
  journal =      j-MINI-MICRO-SYSTEMS,
  volume =       "24",
  number =       "1",
  publisher =    "Gai-Kan Biajibu",
  pages =        "17--19",
  year =         "2003",
  CODEN =        "XWJXEH",
  ISSN =         "1000-1220",
  bibdate =      "Tue Mar 11 05:23:20 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Mini-Micro Systems",
}

@Article{Kouh:2003:ADJ,
  author =       "H. J. Kouh and W. H. Yoo",
  title =        "Automated Debugging in {Java} Programs Using {HDM}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2660",
  pages =        "849--858",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kouh:2003:EDS,
  author =       "H. J. Kouh and W. H. Yoo",
  title =        "The Efficient Debugging System for Locating Logical
                 Errors in {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2667",
  pages =        "684--693",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 17 06:26:38 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Krapf:2003:ESP,
  author =       "R. Krapf and L. Carro",
  title =        "Efficient Signal Processing in Embedded {Java}
                 Systems",
  journal =      "IEEE International Symposium on Circuits and Systems",
  volume =       "4",
  publisher =    "IEEE",
  pages =        "IV-61--IV-64",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0271-4310",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kreuzinger:2003:RTE,
  author =       "J. Kreuzinger and U. Brinkschulte and M. Pfeffer and
                 S. Uhrig and T. Ungerer",
  title =        "Real-time event-handling and scheduling on a
                 multithreaded {Java} microcontroller",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "27",
  number =       "1",
  pages =        "19--31",
  year =         "2003",
  CODEN =        "MIMID5",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Tue Feb 18 07:16:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
}

@Book{Kumar:2003:PBD,
  author =       "C. Bala Kumar and Paul J. Kline and Timothy J.
                 Thompson",
  title =        "{Bluetooth} application programming with the {Java}
                 {APIs}",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xxii + 498",
  year =         "2004",
  ISBN =         "1-55860-934-2",
  ISBN-13 =      "978-1-55860-934-1",
  LCCN =         "TK5103.3 .K86 2004",
  bibdate =      "Wed Oct 26 17:07:51 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$44.95",
  series =       "The Morgan Kaufmann series in networking",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/description/els051/2003107476.html;
                 http://www.loc.gov/catdir/toc/els051/2003107476.html",
  acknowledgement = ack-nhfb,
  remark =       "``Motorola Semiconductor Products Sector.''..
                 Introduction --- An overview of JABWT --- High-level
                 architecture --- RFCOMM --- OBEX --- Device discovery
                 --- Service discovery --- L2CAP --- Example
                 applications --- Implementing JABWT on a device ---
                 Closing remarks.",
  subject =      "Bluetooth technology; Java (Computer program
                 language); Application program interfaces (Computer
                 software); Wireless communication systems",
}

@Article{Kwon:2003:AJP,
  author =       "Jagun Kwon and Andy Wellings and Steve King",
  title =        "Assessment of the {Java} Programming Language for Use
                 in High Integrity Systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  publisher =    "ACM",
  pages =        "34--46",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Lagorio:2003:TSC,
  author =       "G. Lagorio",
  title =        "Towards a Smart Compilation Manager for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2841",
  pages =        "302--315",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 11 05:21:36 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Lai:2003:JPW,
  author =       "Ray Lai",
  title =        "{J2EE} Platform {Web} Services",
  publisher =    pub-SUN-MICROSYSTEMS-PRESS,
  address =      pub-SUN-MICROSYSTEMS-PRESS:adr,
  pages =        "592 (est.)",
  year =         "2003",
  ISBN =         "0-13-101402-1",
  ISBN-13 =      "978-0-13-101402-2",
  LCCN =         "TK5105.88813 .L35 2003",
  bibdate =      "Sat Jan 03 06:32:55 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sun.com/books/catalog/lai2.xml",
  price =        "US\$49.99",
  acknowledgement = ack-nhfb,
}

@Book{Lambert:2003:FJC,
  author =       "Kenneth Alfred Lambert and Martin Osborne",
  title =        "Fundamentals of {Java}: comprehensive course",
  publisher =    "Thomson/Course Technology",
  address =      "Boston, MA, USA",
  edition =      "Second",
  pages =        "various",
  year =         "2003",
  ISBN =         "0-619-05963-X",
  ISBN-13 =      "978-0-619-05963-7",
  LCCN =         "QA76.73.J38 L354 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Book{Lambert:2003:JB,
  author =       "Kenneth Alfred Lambert and Martin Osborne",
  title =        "{Java} basics",
  publisher =    "Thomson/Course Technology",
  address =      "Boston, MA, USA",
  pages =        "xv + 260",
  year =         "2003",
  ISBN =         "0-619-05967-2",
  ISBN-13 =      "978-0-619-05967-5",
  LCCN =         "QA76.73.J38 L354 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language)",
}

@Article{Lamm:2003:BAV,
  author =       "E. Lamm",
  title =        "{Booch}'s {Ada} vs. {Liskov}'s {Java}: Two Approaches
                 to Teaching Software Design",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2655",
  pages =        "102--112",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lau:2003:MMT,
  author =       "T. C. Lau and J. Lu and J. Mylopoulos and K.
                 Kontogiannis",
  title =        "The Migration of Multi-tier {E}-commerce Applications
                 to an Enterprise {Java} Environment",
  journal =      "Information Systems Frontiers",
  volume =       "5",
  number =       "2",
  pages =        "149--160",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1387-3326",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Lau:2003:TSS,
  author =       "F. C. M. Lau",
  title =        "Towards a Single System Image for High-Performance
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2745",
  pages =        "6--7",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Aug 12 09:01:52 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lawhead:2003:LJP,
  author =       "P. Lawhead and C. Bland and M. Duncan and M. Schep and
                 D. Barnes and M. Goldweber",
  title =        "{Legos}, {Java}, Programming Assignments and {CS1}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "47--48",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Lawhead:2003:RMT,
  author =       "Pamela B. Lawhead and Michaele E. Duncan and Constance
                 G. Bland and Michael Goldweber and Madeleine Schep and
                 David J. Barnes and Ralph G. Hollingsworth",
  title =        "A road map for teaching introductory programming using
                 {LEGO{\TM} Mindstorms} robots",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "2",
  pages =        "191--201",
  month =        jun,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/782941.783002",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:02 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse35.html#LawheadDBGSBH03;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2003.bib;
                 ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Techreports/UKent.bib;
                 http://www.cs.kent.ac.uk/pubs/2003/1666",
  abstract =     "In this paper, we describe a recent trend in the
                 introductory computer science curriculum which
                 advocates conceptualizing computation primarily as
                 coordinated concurrent activities [8], [9], [10].
                 Consistent with this philosophy is the focus on the
                 event-driven model of computation [7]. While one can
                 utilize these approaches with any thread and/or event
                 supporting object-oriented language (e.g., Java) in a
                 desktop programming environment, they become
                 particularly worthwhile when used in conjunction with
                 physical robots. This paper argues the case for the
                 benefits of this approach and provides sample exercises
                 that illustrate the use of this pedagogy using Lego
                 Mindstorms RCX bricks programmed in Java for use in
                 introductory programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
  keywords =     "robotics CS1 CS2 object-oriented Java 2nd tier
                 students computing and interaction computer controlled
                 models",
  submission-id = "26462_1059492011",
}

@Article{League:2003:PPT,
  author =       "C. League and Z. Shao and V. Trifonov",
  title =        "Precision in Practice: a Type-Preserving {Java}
                 Compiler",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2622",
  pages =        "106--120",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lee:2003:MWS,
  author =       "Arthur H. Lee",
  title =        "A manageable {Web} software architecture: searching
                 for simplicity",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "229--233",
  month =        jan,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/792548.611976",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:59 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Instruction on web programming at an advanced level in
                 computer science has been in high demand in recent
                 years. The topics and technologies in this area are so
                 vast and diverse that designing and teaching a course
                 requires vast knowledge and the ability to select
                 coherent topics and technologies that can be presented
                 in a semester. The students should learn enough of the
                 underlying fundamental concepts along with the selected
                 technologies so that they can practise in the real
                 world setting while being able to adapt and expand
                 beyond what was taught in class. Very few courses of
                 this kind if any have been taught. We describe such a
                 course, called Web Software Architecture, that we
                 created and have taught successfully last Spring. It is
                 a junior/senior level computer science elective course
                 that uses Java, Servlets, JavaServer Pages, HTML,
                 JavaScript, JDBC, and the Apache-Tomcat web server as
                 key technologies. Our experience supports the assertion
                 that such a web programming course has a legitimate
                 place in a computer science curriculum.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Lee:2003:RSC,
  author =       "J. S. Lee and P. L. Hsu",
  title =        "Remote Supervisory Control of the Human-in-the-Loop
                 System by Using {Petri} Nets and {Java}",
  journal =      j-IEEE-TRANS-IND-ELECTRON,
  volume =       "50",
  number =       "3",
  pages =        "431--439",
  year =         "2003",
  CODEN =        "ITIED6",
  ISSN =         "0278-0046 (print), 1557-9948 (electronic)",
  ISSN-L =       "0278-0046",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Industrial Electronics",
}

@Article{Lee:2003:TIW,
  author =       "S. M. Lee and O. S. Kwon and J. H. Lee and C. J. Oh
                 and S. H. Ko",
  title =        "{TY*SecureWS}: An Integrated {Web} Service Security
                 Solution Based on {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2738",
  pages =        "186--195",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Leroy:2003:JBV,
  author =       "Xavier Leroy",
  title =        "{Java} Bytecode Verification: Algorithms and
                 Formalizations",
  journal =      j-J-AUTOM-REASON,
  volume =       "30",
  number =       "3--4",
  pages =        "235--269",
  month =        may,
  year =         "2003",
  CODEN =        "JAREEW",
  DOI =          "https://doi.org/10.1023/A:1025055424017",
  ISSN =         "0168-7433 (print), 1573-0670 (electronic)",
  ISSN-L =       "0168-7433",
  bibdate =      "Sat Apr 2 10:50:21 MDT 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jautomreason.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1023/A%3A1025055424017",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Autom. Reason.",
  fjournal =     "Journal of Automated Reasoning",
  journal-URL =  "http://link.springer.com/journal/10817",
}

@Article{Leska:2003:LDG,
  author =       "C. Leska",
  title =        "Learning to Develop {GUIs} in {Java} Using Closed
                 Labs",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "228",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Lewis:2003:JSS,
  author =       "John Lewis and William Loftus",
  title =        "{Java} software solutions: foundations of program
                 design",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "xxix + 923",
  year =         "2003",
  ISBN =         "0-201-78129-8",
  ISBN-13 =      "978-0-201-78129-8",
  LCCN =         "QA76.73.J38 L49 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Lhotak:2003:SJP,
  author =       "O. Lhotak and L. Hendren",
  title =        "Scaling {Java} Points-to Analysis Using {SPARK}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2622",
  pages =        "153--169",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Li:2003:JBM,
  author =       "Sing Li",
  title =        "A {Java}-Based Music Player for {MP3}, {Ogg}, and
                 {WAV}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "38, 40, 42, 44--45",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302e/",
  abstract =     "Here's a digital music player built around the
                 JavaSound API that supports real-time decoding/playback
                 of music in MP3, WAV, and Ogg Vorbis formats.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Liang:2003:IJP,
  author =       "Y. Daniel Liang",
  title =        "Introduction to {Java} programming with {Sun One
                 Studio 4}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxxv + 962",
  year =         "2003",
  ISBN =         "0-13-009258-4",
  ISBN-13 =      "978-0-13-009258-8",
  LCCN =         "QA76.73.J38 L525 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "application program interfaces (computer software);
                 application software porting; computer science
                 textbooks; Java (computer program language);
                 object-oriented programming (computer science)",
}

@Article{Liao:2003:THM,
  author =       "L. Liao",
  title =        "Temperature and Humidity Monitor System Based on
                 $1$-Wire and {Java VM} Technologies",
  journal =      "Journal --- {Sichuan Normal University} Natural
                 Science Edition",
  volume =       "26",
  number =       "1",
  pages =        "93--96",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1001-8395",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Lim:2003:SOI,
  author =       "S. Lim and Y. Song",
  title =        "Secure {Online Internet Reservation of e-Government
                 Service} ({ORGS}) Using {Java Card Applications
                 Toolkit} ({J-CAT})",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2739",
  pages =        "272--277",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 16 06:05:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lin:2003:DEA,
  author =       "W. Lin",
  title =        "Development of Electronic Acquisition Model for
                 Project Scheduling ({e-AMPS}) Using {Java-XML}",
  journal =      "NIST Special Publication SP",
  volume =       "989",
  publisher =    "National Institute of Standards and Technology",
  pages =        "41--46",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1048-776X",
  bibdate =      "Tue Aug 5 06:56:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@InProceedings{Lin:2003:SRP,
  author =       "Jin Lin and Tong Chen and Wei-Chung Hsu and Pen-Chung
                 Yew",
  title =        "Speculative register promotion using Advanced Load
                 Address Table ({ALAT})",
  crossref =     "IEEE:2003:PCI",
  pages =        "125--134",
  year =         "2003",
  DOI =          "https://doi.org/10.1109/CGO.2003.1191539",
  bibdate =      "Thu Jun 09 18:39:29 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The pervasive use of pointers with complicated
                 patterns in C programs often constrains compiler alias
                 analysis to yield conservative register allocation and
                 promotion. Speculative register promotion with hardware
                 support has the potential to more aggressively promote
                 memory references into registers in the presence of
                 aliases. This paper studies the use of the Advanced
                 Load Address Table (ALAT), a data speculation feature
                 defined in the IA-64 architecture, for speculative
                 register promotion. An algorithm for speculative
                 register promotion based on partial redundancy
                 elimination is presented. The algorithm is implemented
                 in Intel's Open Research Compiler (ORC). Experiments on
                 SPEC CPU2000 benchmark programs are conducted to show
                 that speculative register promotion can improve
                 performance of some benchmarks by 1\% to 7\%.",
  acknowledgement = ack-nhfb,
  keywords =     "EPIC; Intel IA-64; Itanium",
}

@Book{Link:2003:UTJ,
  author =       "Johannes Link",
  title =        "Unit testing in {Java}: How Tests Drive the Code",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xvii + 376",
  year =         "2003",
  ISBN =         "1-55860-868-0",
  ISBN-13 =      "978-1-55860-868-9",
  LCCN =         "QA76.76.T48 L55 2003",
  bibdate =      "Tue Jul 27 05:26:54 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "With contributions by Peter Fr{\"o}hlich.",
  price =        "US\$39.95",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2003:IRL,
  author =       "Y. Liu and K. Yang",
  title =        "The implementation of remote loading classes on the
                 {Java} platform",
  journal =      "Journal --- Hebei Institute of Technology",
  volume =       "25",
  number =       "4",
  pages =        "100--105",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1007-2829",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2003:RDE,
  author =       "H. Liu and X. Zhou and B. Zhong",
  title =        "The Realization of Data Exchange between Different
                 System Platforms Using {Java} and {XML} under the
                 Environment of {Lotus Domino}",
  journal =      "Journal --- Sichuan Normal University Natural Science
                 Edition",
  volume =       "26",
  number =       "3",
  publisher =    "Sichuan Normal University",
  pages =        "327--330",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1001-8395",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2003:RII,
  author =       "F. Liu and H. Wang",
  title =        "Realization of an interactive and individual
                 long-distance teaching system based on {Java}
                 technology",
  journal =      "Journal --- {Beijing University of Chemical
                 Technology} Natural Science Edition",
  volume =       "30",
  number =       "2",
  pages =        "85--88",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2003:SIJ,
  author =       "C. Liu",
  title =        "Security Issues for {Java} --- Based Agents",
  journal =      "Journal --- Jishou University Natural Science",
  volume =       "24",
  number =       "1",
  pages =        "26--36",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1007-2985",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Locke:2003:JTC,
  author =       "C. D. Locke and P. C. Dibble",
  title =        "{Java} Technology Comes to Real-Time Applications
                 (Invited Paper)",
  journal =      j-PROC-IEEE,
  volume =       "91",
  number =       "7",
  pages =        "1105--1113",
  year =         "2003",
  CODEN =        "IEEPAD",
  ISSN =         "0018-9219 (print), 1558-2256 (electronic)",
  ISSN-L =       "0018-9219",
  bibdate =      "Tue Aug 19 10:20:00 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the IEEE",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5",
}

@Article{Long:2003:TST,
  author =       "B. Long and D. Hoffman and P. Strooper",
  title =        "Tool support for testing concurrent {Java}
                 components",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "29",
  number =       "6",
  pages =        "555--566",
  month =        jun,
  year =         "2003",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2003.1205182",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1205182",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Book{Loy:2003:JS,
  editor =       "Marc Loy and Robert Eckstein and David Wood and James
                 Elliott and Brian Cole",
  title =        "{Java} Swing",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxiv + 1252",
  year =         "2003",
  ISBN =         "0-596-00408-7",
  ISBN-13 =      "978-0-596-00408-8",
  LCCN =         "QA76.73.J38 J3855 2003",
  bibdate =      "Mon Apr 18 15:06:07 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$54.95",
  URL =          "http://www.oreilly.com/catalog/9780596004088;
                 http://www.oreilly.com/catalog/jswing2",
  acknowledgement = ack-nhfb,
  keywords =     "graphical user interfaces (computer systems); Java
                 (computer program language); Swing (computer file)",
  publishersummary = "This second edition of Java Swing thoroughly
                 covers all the features available in Java 2 SDK 1.3 and
                 1.4. More than simply a reference, this new edition
                 takes a practical approach. It is a book by developers
                 for developers, with hundreds of useful examples, from
                 beginning level to advanced, covering every component
                 available in Swing.\par

                 Whether you're a seasoned Java developer or just trying
                 to find out what Java can do, you'll find Java Swing,
                 2nd edition an indispensable guide.",
  remark =       "Rev. ed. of: Java Swing / Robert Eckstein, Marc Loy,
                 and Dave Wood. c1998.",
  subject =      "Java (Computer program language); Swing (Computer
                 file)",
}

@Article{Lu:2003:PVP,
  author =       "H. Lu and Y. Li and F. Kong",
  title =        "The principle of {VRML} parser in {Java} language",
  journal =      "Journal --- Zhejiang University of Technology",
  volume =       "31",
  number =       "2",
  pages =        "139--143",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1006-4303",
  bibdate =      "Tue Sep 2 06:25:03 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Lun:2003:OOP,
  author =       "Mok Pak Lun and Anthony Fong and Gary K. W. Hau",
  title =        "Object-Oriented Processor Requirements with
                 Instruction Analysis of {Java} Programs",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "31",
  number =       "5",
  pages =        "10--15",
  month =        dec,
  year =         "2003",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:41:23 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Lutz:2003:BBC,
  author =       "Michael J. Lutz",
  title =        "Bookshelf: Building {C\#} Programs with Patterns [{C\#
                 Design Patterns}]; Using {Star Schema} in {Oracle}
                 [{Oracle DBA Guide to Data Warehousing and Star
                 Schemas}]; Immersive {Java} Text [{Java Outside In}];
                 Applying {AI} to the {Web} [{Web Intelligence}];
                 Moronic Marketing [{In Search of Stupidity: Over 20
                 Years of High-Tech Marketing Disasters}]",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "9",
  pages =        "96--97",
  month =        sep,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/09/r9096.htm;
                 http://csdl.computer.org/dl/mags/co/2003/09/r9096.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Lutz:2003:BFE,
  author =       "Michael J. Lutz",
  title =        "Bookshelf: The Five Essential Metrics [{Five Core
                 Metrics: The Intelligence Behind Successful Software
                 Management}]; Hunting Bugs in Concurrent Systems [{The
                 SPIN Model Checker: Primer and Reference Model}];
                 Revised Digital Testing Tome [{Digital Logic Testing
                 and Simulation}]; {Java} for Science and Engineering
                 [{Technical Java: Developing Scientific and Engineering
                 Applications}]",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "11",
  pages =        "85--85",
  month =        nov,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:48 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/11/ry085.htm;
                 http://csdl.computer.org/dl/mags/co/2003/11/ry085.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Lutz:2003:BSW,
  author =       "Michael J. Lutz",
  title =        "Bookshelf: Surveying the {Web}'s Best and Brightest
                 [{Deep Sites: Intelligent Innovation in Contemporary
                 Web Design}]; Moving Voice Communications to the {Web}
                 [{Implementing Voice over IP}]; Developing Custom
                 {.NET} Management Tools [{.NET Systems Management
                 Services}]; Evolving {Java} [{Applied Evolutionary
                 Algorithms in Java}]",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "7",
  pages =        "86--86",
  month =        jul,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/07/r7086.htm;
                 http://csdl.computer.org/dl/mags/co/2003/07/r7086.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Mahovsky:2003:AJB,
  author =       "J. Mahovsky and L. Benedicenti",
  title =        "An Architecture for {Java}-Based Real-Time Distributed
                 Visualization",
  journal =      "IEEE Transactions on Visualization and Computer
                 Graphics",
  volume =       "9",
  number =       "4",
  pages =        "570--579",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1077-2626 (print), 1941-0506 (electronic), 2160-9306",
  ISSN-L =       "1077-2626",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Main:2003:DSO,
  author =       "M. (Michael) Main",
  title =        "Data structures and other objects using {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "808",
  year =         "2003",
  ISBN =         "0-201-74093-1",
  ISBN-13 =      "978-0-201-74093-6",
  LCCN =         "QA76.73.J38 M33 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "data structures (computer science); Java (computer
                 program language)",
}

@Book{Mak:2003:JNC,
  author =       "Ronald Mak",
  title =        "{Java} Number Cruncher: The {Java} Programmer's Guide
                 to Numerical Computing",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xi + 464",
  year =         "2003",
  ISBN =         "0-13-046041-9",
  ISBN-13 =      "978-0-13-046041-7",
  LCCN =         "QA76.73.J38 M335 2003",
  bibdate =      "Wed Oct 22 08:39:03 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  annote =       "See positive review at
                 http://crd.lbl.gov/~dhbailey/dhbpapers/dhb-java.pdf",
  keywords =     "Java (computer program language); numerical analysis
                 -- data processing",
}

@Book{Matthews:2003:MJD,
  author =       "Mark Matthews and Jim Cole and Joe Gradecki",
  title =        "{MySQL} and {Java} developer's guide",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxii + 410",
  year =         "2003",
  ISBN =         "0-471-26923-9",
  ISBN-13 =      "978-0-471-26923-6",
  LCCN =         "QA76.3.S67 M38 2003",
  bibdate =      "Wed Apr 27 05:41:25 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Java open source library",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/bios/wiley045/2002155887.html;
                 http://www.loc.gov/catdir/description/wiley038/2002155887.html;
                 http://www.loc.gov/catdir/toc/wiley031/2002155887.html",
  acknowledgement = ack-nhfb,
  subject =      "SQL (Computer program language); MySQL (Electronic
                 resource); Java (Computer program language)",
}

@Book{McGovern:2003:JWS,
  author =       "James McGovern and Sameer Tyagi and Michael Stevens
                 and Sunil Mathew",
  title =        "{Java} {Web} Services Architecture",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xii + 833",
  year =         "2003",
  ISBN =         "1-55860-900-8 (paperback)",
  ISBN-13 =      "978-1-55860-900-6 (paperback)",
  LCCN =         "TK5105.88813 J38 2003",
  bibdate =      "Mon Mar 10 06:03:21 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$59.95",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/description/els051/2002117799.html;
                 http://www.loc.gov/catdir/toc/els031/2002117799.html",
  acknowledgement = ack-nhfb,
  subject =      "Web services; Java (Computer program language);
                 Computer architecture",
}

@Article{McGowan:2003:JCA,
  author =       "D. McGowan",
  title =        "Has {Java} Changed Anything? The Sound and Fury of
                 Innovation Litigation",
  journal =      "Minnesota Law Review",
  volume =       "87",
  number =       "6",
  publisher =    "The Minnesota Law Review Foundation",
  pages =        "2039--2062",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0026-5535",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Mengant:2003:NBJ,
  author =       "J. Y. Mengant",
  title =        "{A.NET} Bridge to a {Java Virtual Machine}: {Java} and
                 {.NET} interoperability, with a little help from
                 {C++}",
  journal =      j-CCCUJ,
  volume =       "21",
  number =       "10",
  pages =        "28",
  year =         "2003",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue Oct 7 05:32:12 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Metzger:2003:MBP,
  author =       "J. Metzger and M. Schillo and K. Fischer",
  title =        "A Multiagent-Based Peer-to-Peer Network in {Java} for
                 Distributed Spam Filtering",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2691",
  publisher =    "Springer-Verlag",
  pages =        "616--625",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Meyer:2003:CIC,
  author =       "M. Meyer",
  title =        "Creating {.INI} classes in {Java}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "8",
  pages =        "38--44",
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Miller:2003:LTB,
  author =       "G. R. Miller and P. Arduino and J. Jang and C. Choi",
  title =        "Localized tensor-based solvers for interactive finite
                 element applications using {C++} and {Java}",
  journal =      j-COMP-STRUCTURES,
  volume =       "81",
  number =       "7",
  pages =        "423--437",
  year =         "2003",
  CODEN =        "CMSTCJ",
  ISSN =         "0045-7949 (print), 1879-2243 (electronic)",
  ISSN-L =       "0045-7949",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Structures",
}

@Article{Miller:2003:OCP,
  author =       "W. W. Miller and C. Sontag and J. F. Rose",
  title =        "{OPUS}: a {CORBA} Pipeline for {Java}, {Python}, and
                 {Perl} Applications",
  journal =      "Astronomical Society of the Pacific Conference
                 Series",
  volume =       "295",
  pages =        "261--264",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1050-3390",
  bibdate =      "Tue Sep 2 06:25:03 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Millstein:2003:RMB,
  author =       "Todd Millstein and Mark Reay and Craig Chambers",
  title =        "Relaxed {MultiJava}: balancing extensibility and
                 modular typechecking",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "224--240",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Mitchell:2003:LAL,
  author =       "N. Mitchell and G. Sevitsky",
  title =        "{LeakBot}: An Automated and Lightweight Tool for
                 Diagnosing Memory Leaks in Large {Java} Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2743",
  pages =        "351--377",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Aug 5 06:56:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Moore:2003:PTA,
  author =       "J. S. Moore",
  title =        "Proving Theorems about {Java} and the {JVM} with
                 {ACL2}",
  journal =      "NATO Science Series Sub Series III Computer and
                 Systems Sciences",
  volume =       "191",
  publisher =    pub-IOS,
  address =      pub-IOS:adr,
  pages =        "227--290",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1387-6694",
  bibdate =      "Tue Sep 16 06:05:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Moore:2003:SHS,
  author =       "R. Moore",
  title =        "Sun hasn't set yet on {Java} applets",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "1",
  publisher =    "Microsoft Corporation",
  pages =        "33--38",
  year =         "2003",
  CODEN =        "ADTRF4",
  ISSN =         "1073-9564",
  bibdate =      "Tue Jan 28 10:12:35 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Moreira:2003:SMA,
  author =       "Jos{\'e} E. Moreira and Samuel P. Midkiff and Manish
                 Gupta",
  title =        "Supporting multidimensional arrays in {Java}",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "317--340",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.661",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Book{Morelli:2003:JJJ,
  author =       "R. (Ralph) Morelli",
  title =        "{Java}, {Java}, {Java}!: object-oriented problem
                 solving",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xxx + 862",
  year =         "2003",
  ISBN =         "0-13-033370-0, 0-13-060813-0 (CD-ROM)",
  ISBN-13 =      "978-0-13-033370-4, 978-0-13-060813-0 (CD-ROM)",
  LCCN =         "QA76.64 .M64 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM.",
  acknowledgement = ack-nhfb,
  keywords =     "computer science textbooks; Java (computer program
                 language); object-oriented programming (computer
                 science)",
}

@Article{Moreno:2003:FDC,
  author =       "R. A. Moreno and S. S. Furuie",
  title =        "Framework for the development of the clinical image
                 access service using {Java} [5033-55]",
  journal =      j-PROC-SPIE,
  volume =       "5033",
  publisher =    "International Society for Optical Engineering",
  pages =        "432--439",
  year =         "2003",
  CODEN =        "PSISDG",
  ISSN =         "0277-786X (print), 1996-756X (electronic)",
  ISSN-L =       "0277-786X",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the SPIE --- The International Society
                 for Optical Engineering",
}

@Article{Morgan:2003:BRA,
  author =       "Donald Morgan",
  title =        "Book Review: Ant Book Full of Practical Advice: a
                 review of {{\em Java Development with Ant\/}} by {Eric
                 Hatcher} and {Steve Loughran}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "4",
  number =       "7",
  year =         "2003",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Sat Jan 03 14:59:06 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://dsonline.computer.org/0307/d/bks_b.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Morrisett:2003:AIC,
  author =       "Greg Morrisett",
  title =        "Analysis issues for cyclone",
  journal =      j-SIGSOFT,
  volume =       "28",
  number =       "1",
  pages =        "26--26",
  month =        jan,
  year =         "2003",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/634636.586096",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:25 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Cyclone [1, 2] is an experimental, type-safe
                 programming language based upon the syntax, semantics,
                 and spirit of C. The primary goal of the language is to
                 provide a type-safe environment that is close enough to
                 C in both appearance and functionality, that systems
                 programmers will find it attractive and useful. The
                 most challenging aspect of the design is capturing the
                 spirit of C without compromising type-safety. In
                 particular, systems programmers expect to have good
                 control over data representations, memory management,
                 and performance. Yet, these features are usually absent
                 from high-level, type-safe languages (e.g., Java).
                 Another challenge is validating a sufficiently wide set
                 of idioms that are in fact type-safe, but which
                 conventional type systems reject. To address these
                 issues, we have used a novel combination of typing
                 features in conjunction with some interesting inference
                 and dataflow techniques. The most novel typing feature
                 is the support for region-based memory management which
                 was summarized in an earlier paper [1]. However, this
                 paper did not discuss the inference techniques we use
                 to validate the regions and effects. In this talk, I
                 will briefly summarize the Cyclone type system and then
                 focus on the analysis issues that arise in its
                 implementation, including (a) kind and type inference,
                 (b) region and effect inference, and (c) dataflow
                 analysis for validating initialization, array
                 subscripts, and linear pointers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Murray:2003:EIJ,
  author =       "K. A. Murray and M. Kolling and N. C. Schaller and J.
                 M. Heines and T. Moore and P. J. Wagner and J. A.
                 Trono",
  title =        "Experiences with {IDEs} and {Java} Teaching: What
                 Works and What Doesn't",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "215--216",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Nakamura:2003:DJF,
  author =       "N. Nakamura and M. Shimono and K. Ikeda",
  title =        "Development of a {Java} Framework for Rapid, Low-cost
                 Business Systems",
  journal =      "Sei Technical Review",
  volume =       "55",
  publisher =    "Sumitomo Electric Industries Ltd",
  pages =        "50--54",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1343-4349",
  bibdate =      "Tue Mar 4 09:14:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Nelisse:2003:COB,
  author =       "Arnold Nelisse and Jason Maassen and Thilo Kielmann
                 and Henri E. Bal",
  title =        "{CCJ}: object-based message passing and collective
                 communication in {Java}",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "341--369",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.664",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Nevison:2003:TOE,
  author =       "C. Nevison and B. Wells",
  title =        "Teaching Objects Early and Design Patterns in {Java}
                 Using Case Studies",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "94--98",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Nickell:2003:TPJ,
  author =       "E. Nickell and I. Smith",
  title =        "Three Patterns in {Java} Unit Testing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2675",
  pages =        "170--179",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 17 06:26:38 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Niemeyer:2003:EPA,
  author =       "Glenn Niemeyer and Jeremy Poteet",
  title =        "Extreme programming with {Ant}: building and deploying
                 Java applications with {JSP}, {EJB}, {XSLT}, {XDoclet},
                 and {JUnit}",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "ix + 444",
  year =         "2003",
  ISBN =         "0-672-32562-4",
  ISBN-13 =      "978-0-672-32562-5",
  LCCN =         "QA76.76.D47 N54 2003",
  bibdate =      "Sat Jan 10 12:49:35 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{NiewiadomskaSzynkiewicz:2003:AJB,
  author =       "E. NiewiadomskaSzynkiewicz and M. Zmuda and K.
                 Malinowski",
  title =        "Application of a {Java}-based framework to parallel
                 simulation of large-scale systems",
  journal =      "International Journal of Applied Mathematics and
                 Computer Science",
  volume =       "13",
  number =       "4",
  pages =        "537--548",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1641-876X",
  bibdate =      "Wed Jan 21 08:32:17 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Nikishkov:2003:CCJ,
  author =       "G. P. Nikishkov and Y. G. Nikishkov and V. V.
                 Savchenko",
  title =        "Comparison of {C} and {Java} performance in finite
                 element computations",
  journal =      j-COMP-STRUCTURES,
  volume =       "81",
  number =       "24--25",
  pages =        "2401--2408",
  year =         "2003",
  CODEN =        "CMSTCJ",
  ISSN =         "0045-7949 (print), 1879-2243 (electronic)",
  ISSN-L =       "0045-7949",
  bibdate =      "Tue Sep 30 06:17:55 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Structures",
}

@Article{Nikishkov:2003:GCF,
  author =       "G. P. Nikishkov",
  title =        "Generating contours on {FEM\slash BEM} higher-order
                 surfaces using {Java} {$3$D} textures",
  journal =      j-ADV-ENG-SOFTWARE,
  volume =       "34",
  number =       "8",
  publisher =    "Elsevier Science B.V., Amsterdam.",
  pages =        "469--476",
  year =         "2003",
  CODEN =        "AESODT",
  ISSN =         "0965-9978 (print), 0141-1195 (electronic)",
  ISSN-L =       "0965-9978",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Advances in Engineering Software (1978)",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01411195",
}

@Article{Nilsen:2003:IDI,
  author =       "K. Nilsen and A. Klein",
  title =        "Issues in the Design and Implementation of Efficient
                 Interfaces between Hard and Soft Real-Time {Java}
                 Components",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "451--465",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Nipkow:2003:JBV,
  author =       "Tobias Nipkow",
  title =        "{Java} Bytecode Verification",
  journal =      j-J-AUTOM-REASON,
  volume =       "30",
  number =       "3--4",
  pages =        "233--233",
  month =        may,
  year =         "2003",
  CODEN =        "JAREEW",
  DOI =          "https://doi.org/10.1023/A:1025086804452",
  ISSN =         "0168-7433 (print), 1573-0670 (electronic)",
  ISSN-L =       "0168-7433",
  bibdate =      "Sat Apr 2 10:50:21 MDT 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jautomreason.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/accesspage/article/10.1023/A%3A1025086804452",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Autom. Reason.",
  fjournal =     "Journal of Automated Reasoning",
  journal-URL =  "http://link.springer.com/journal/10817",
}

@Article{Nisley:2003:ELH,
  author =       "E. Nisley",
  title =        "{Ed} looks at the history of cryptography and examines
                 what it means for embedded systems developers
                 programming in {Java} today",
  journal =      j-DDJ,
  volume =       "28",
  number =       "11",
  pages =        "73--75",
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Nov 4 05:29:15 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Nurvitadhi:2003:DCC,
  author =       "E. Nurvitadhi and W. W. Leung and C. Cook",
  title =        "Do Class Comments Aid {Java} Program Understanding?",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "1",
  number =       "??",
  pages =        "T3C-13--T3C-17",
  year =         "2003",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Article{Nystrom:2003:PEC,
  author =       "N. Nystrom and M. R. Clarkson and A. C. Myers",
  title =        "{Polyglot}: An Extensible Compiler Framework for
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2622",
  pages =        "138--152",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Oliveira:2003:JMT,
  author =       "Jauvane C. de Oliveira and Mojtaba Hosseini and
                 Shervin Shirmohammadi and Fran{\c{c}}ois Malric and
                 Saeid Nourian and Abdulmotaleb El Saddik and Nicolas D.
                 Georganas",
  title =        "{Java} Multimedia Telecollaboration",
  journal =      j-IEEE-MULTIMEDIA,
  volume =       "10",
  number =       "3",
  pages =        "18--29",
  month =        jul # "--" # sep,
  year =         "2003",
  CODEN =        "IEMUE4",
  ISSN =         "1070-986X (print), 1941-0166 (electronic)",
  ISSN-L =       "1070-986X",
  bibdate =      "Sat Jan 3 12:43:03 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/mu/2003/03/u3018abs.htm;
                 http://csdl.computer.org/dl/mags/mu/2003/03/u3018.htm;
                 http://csdl.computer.org/dl/mags/mu/2003/03/u3018.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Multimedia",
}

@Article{Omondi:2003:DIJ,
  author =       "A. R. Omondi",
  title =        "Design and Implementation of {Java} Processors",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2823",
  pages =        "86--96",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Paal:2003:JCD,
  author =       "S. Paal and R. Kammuller and B. Freisleben",
  title =        "{Java} Class Deployment Using Class Collections",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2591",
  pages =        "135--151",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Palacz:2003:JST,
  author =       "K. Palacz and J. Vitek",
  title =        "{Java} Subtype Tests in Real-Time",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2743",
  pages =        "378--404",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Aug 5 06:56:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Pang:2003:PSR,
  author =       "James C. Pang and Gholamali C. Shoja and Eric G.
                 Manning",
  title =        "Providing soft real-time quality of service guarantees
                 for {Java} threads",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "521--538",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.663",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Parikh:2003:JMW,
  author =       "A. Parikh and R. Pradhan and S. Jiang",
  title =        "{J2EE} meets {Web} services {J2EE} was tearing up the
                 charts when {Web} services appeared on the scene, and
                 the {Java} community has reacted quickly",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "10",
  pages =        "45--49",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Tue Nov 18 10:35:04 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Paterson:2003:TJU,
  author =       "J. H. Paterson and J. Haddow",
  title =        "Teaching {Java}: Using an Object-Oriented Database and
                 the {BlueJ IDE}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "273",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Paulson:2003:NBR,
  author =       "Linda Dailey Paulson",
  title =        "News Briefs: Researchers Automate the Digital
                 Animation Process; New Compression Technology Would
                 Improve Online Video Quality; {Sun} Tries to Guide
                 {Mobile Java}; New Search Engines Keep Humming Along",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "4",
  pages =        "24--26",
  month =        apr,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:31:58 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/04/r4024.htm;
                 http://csdl.computer.org/dl/mags/co/2003/04/r4024.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Book{Payne:2003:PJT,
  author =       "Damon Payne and Ed Lyons",
  title =        "Professional {Java} tools: {Real World Ant}, {JUnit},
                 {CVS}, {Cactus}, {Bugzilla}, {Maven}, {Jmeter} and
                 {XDoclet}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "450 (est.)",
  year =         "2003",
  ISBN =         "0-7645-4389-X, 1-86100-799-X",
  ISBN-13 =      "978-0-7645-4389-0, 978-1-86100-799-5",
  LCCN =         "????",
  bibdate =      "Sat Jan 10 12:50:54 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Pedersen:2003:JPS,
  author =       "K. S. Pedersen and B. Vinter",
  title =        "{Java PastSet}: a structured distributed shared memory
                 system",
  journal =      "IEE Proceedings Software",
  volume =       "150",
  number =       "2",
  pages =        "147--154",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1462-5970",
  bibdate =      "Tue May 20 06:23:21 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Pegueroles:2003:ESM,
  author =       "J. Pegueroles and F. RicoNovella",
  title =        "Enabling Secure Multicast Using a New {Java LKH}
                 Rekeying Tool",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2722",
  publisher =    "Springer-Verlag",
  pages =        "293--294",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Pellizzari:2003:CPJ,
  author =       "L. Pellizzari",
  title =        "Cresce la presenza di {Java} nelle applicazioni
                 embedded",
  journal =      j-ELETTRONICA-OGGI,
  volume =       "322",
  pages =        "56--57",
  year =         "2003",
  CODEN =        "ELOGDA",
  ISSN =         "0391-6391",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Elettronica Oggi",
}

@Article{Petitpierre:2003:JTC,
  author =       "C. Petitpierre",
  title =        "{Java} Threads Can Be Very Useful Building Blocks",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2604",
  pages =        "204",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Pinilla:2003:JPI,
  author =       "Ruben Pinilla and Marisa Gil",
  title =        "{JVM}: platform independent vs. performance
                 dependent",
  journal =      j-OPER-SYS-REV,
  volume =       "37",
  number =       "2",
  pages =        "44--56",
  month =        apr,
  year =         "2003",
  CODEN =        "OSRED8",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Sat Aug 26 08:55:43 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
}

@Article{Pinilla:2003:UJT,
  author =       "R. Pinilla and M. Gil",
  title =        "{ULT}: a {Java} threads model for platform independent
                 execution",
  journal =      j-OPER-SYS-REV,
  volume =       "37",
  number =       "4",
  pages =        "48--62",
  year =         "2003",
  CODEN =        "OSRED8",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Tue Nov 4 05:29:15 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
}

@Article{Pipka:2003:TDW,
  author =       "J. U. Pipka",
  title =        "Test-Driven {Web} Application Development in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2591",
  pages =        "378--393",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Pont:2003:CCL,
  author =       "Mick Pont",
  title =        "Calling {C} Library Routines from {Java}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "28, 32, 34--36, 38",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/c_java.txt;
                 http://www.ddj.com/ftp/2003/2003_07/c_java.zip",
  abstract =     "Here's a technique for calling C library routines
                 directly from Java, saving you the trouble of rewriting
                 code in Java while gaining portability via Java Virtual
                 Machines. Additional resources include c\_java.txt
                 (listings) and c\_java.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Prasad:2003:OSJ,
  author =       "G. Prasad",
  title =        "{Open Source Java}: {Fortune 500} Systems at
                 Two-Guys-in-a-Garage Prices",
  journal =      "Cutter IT Journal",
  volume =       "16",
  number =       "5",
  pages =        "10--15",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1522-7383",
  bibdate =      "Tue Jun 17 06:26:38 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Prechelt:2003:SLG,
  author =       "L. Prechelt",
  title =        "Are Scripting Languages Any Good? {A} Validation of
                 {Perl}, {Python}, {Rexx}, and {Tcl} against {C}, {C++},
                 and {Java}",
  journal =      "Advances in Computers",
  volume =       "57",
  publisher =    "Academic Press, Inc.",
  pages =        "207--271",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0065-2458",
  bibdate =      "Tue Aug 5 06:56:44 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Pugh:2003:MJH,
  author =       "W. Pugh and J. Spacco",
  title =        "{MP Java}: High-Performance Message Passing in {Java}
                 Using {Java.nio}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2958",
  pages =        "323--339",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Pugla:2003:JPD,
  author =       "S. Pugla and S. Chawla",
  title =        "A {JAVA} program for designing synchronously tuned
                 extended cavity diode laser in {Littrow}
                 configuration",
  journal =      "Indian Journal of Pure and Applied Physics",
  volume =       "41",
  number =       "11",
  pages =        "879--883",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0019-5596",
  bibdate =      "Mon Feb 23 16:27:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Qian:2003:ARB,
  author =       "Feng Qian and Laurie Hendren",
  title =        "An Adaptive, Region-based Allocator for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "233--244",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Quigley:2003:PLJ,
  author =       "C. L. Quigley",
  title =        "A Programming Logic for {Java} Bytecode Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2758",
  pages =        "41--54",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rajaravivarma:2003:WIO,
  author =       "R. Rajaravivarma and I. Pevac",
  title =        "When to Introduce Objects in Teaching {Java}",
  journal =      "Southeastern Symposium on System Theory",
  volume =       "35",
  number =       "??",
  pages =        "437--440",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0094-2898",
  bibdate =      "Tue Jun 10 06:49:26 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Rana:2003:WJP,
  author =       "Rana",
  title =        "{Wood}: {Java} programming for spatial sciences",
  journal =      "Environment and Planning B",
  volume =       "30",
  number =       "3",
  publisher =    "Pion Ltd",
  pages =        "478",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0265-8135",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Rapaport:2003:TPJ,
  author =       "L. Rapaport",
  title =        "Theory and Practice: The {Java} Content {API}",
  journal =      "Transform Magazine",
  volume =       "12",
  number =       "1",
  pages =        "48",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Rasala:2003:EOV,
  author =       "Richard Rasala",
  title =        "Embryonic object versus mature object: object-oriented
                 style and pedagogical theme",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "89--93",
  month =        sep,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/961290.961538",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Traditional approaches to object-oriented style
                 emphasize classes with a basic set of constructors and
                 a minimal set of methods that when combined permit the
                 full potential of the instance objects to be realized.
                 This object-oriented style is probably modeled on the
                 style used in mathematics and logic to develop a system
                 based on a minimal set of axioms and operations. The
                 consequences of this style both in practice and in
                 pedagogy are that objects enter into existence in an
                 embryonic state and must be nurtured to maturity by a
                 sequence of method calls that tweak behavior and/or add
                 data. Although this minimalist approach is useful in
                 the first stages of teaching objects and in exploratory
                 design, we suggest that most designs should evolve
                 towards building classes with a rich set of
                 constructors and methods so that the instance objects
                 may be born mature, that is, ready to use in the
                 program without further tweaking. In particular, we
                 believe that if students are taught to design in this
                 manner, then they will be more effective both as
                 students and as computing professionals. The ideas in
                 this article have developed from our experience in
                 designing the Java Power Tools (JPT) and in applying
                 these tools to build many labs and demo programs. We
                 found that using the traditional minimalist design
                 approach hindered our ability to rapidly develop
                 interesting applications. Gradually, we evolved both
                 the tools and the examples to be far richer and have
                 found that our development time has been dramatically
                 reduced. We believe that those who teach objects may be
                 interested in these principles even if they choose to
                 work with entirely different tools and examples.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rauch:2003:FJT,
  author =       "N. Rauch and B. Wolff",
  title =        "Formalizing {Java}'s Two's-Complement Integral Type in
                 {Isabelle\slash HOL}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "80",
  number =       "",
  pages =        "1--18",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Book{Reese:2003:JDB,
  author =       "George Reese",
  title =        "{Java} database best practices",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 267",
  year =         "2003",
  ISBN =         "0-596-00522-9",
  ISBN-13 =      "978-0-596-00522-1",
  LCCN =         "QA76.73 .J38 R445 2003",
  bibdate =      "Mon Apr 18 15:07:28 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596005221",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Relational
                 databases; Database design",
}

@Article{Reiss:2003:JVJ,
  author =       "S. P. Reiss",
  title =        "{JIVE}: Visualizing {Java} in Action-Demonstration
                 Description",
  journal =      "International Conference on Software Engineering",
  volume =       "25",
  number =       "??",
  pages =        "820--821",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0270-5257",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Requet:2003:BME,
  author =       "Antoine Requet",
  title =        "A {B} model for ensuring soundness of a large subset
                 of the {Java Card} virtual machine",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "46",
  number =       "3",
  pages =        "283--306",
  month =        mar,
  year =         "2003",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Sun Jan 11 10:42:01 MST 2004",
  bibsource =    "http://www.elsevier.com/locate/issn/01676423;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Riley:2003:HPJ,
  author =       "Christopher J. Riley and Siddhartha Chatterjee and
                 Rupak Biswas",
  title =        "High-performance {Java} codes for computational fluid
                 dynamics",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "395--415",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.656",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Book{Riley:2003:OJI,
  author =       "David D. Riley",
  title =        "The object of {Java}: introduction to {Java} using
                 software engineering principles",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxviii + 722",
  year =         "2003",
  ISBN =         "0-321-12173-2 (paperback)",
  ISBN-13 =      "978-0-321-12173-8 (paperback)",
  LCCN =         "QA76.73.J38 R54 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "computer software -- development; Java (computer
                 program language)",
}

@Article{Robbins:2003:URL,
  author =       "Steven Robbins",
  title =        "Using remote logging for teaching concurrency",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "177--181",
  month =        jan,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/792548.611963",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:59 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Students often have difficulty visualizing,
                 understanding and debugging concurrent programs.
                 Programming assignments involving concurrency are also
                 difficult to grade. The output alone is not sufficient
                 because the print statements from cooperating threads
                 or processes can interfere with each other and garble
                 the results. The remote logging tool described here
                 allows multiple processes or threads to atomically log
                 messages to a local or remote host. Different views of
                 the messages are available in real time through a
                 graphical user interface (GUI). The tool consists of
                 two parts, a library for adding logging commands to a
                 user program and a GUI for presenting different views
                 of the logged messages. A separate logging library is
                 needed for each programming language (e.g., C, C++,
                 Java), but a single GUI works with all of these. A C
                 logging library and a general GUI are available on the
                 web.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rodriguez:2003:DSM,
  author =       "J. I. Rodriguez and J. M. Jimenez and F. J. Funes and
                 J. GarciadeJalon",
  title =        "Dynamic Simulation of Multi-Body Systems on {Internet}
                 Using {CORBA}, {Java} and {XML}",
  journal =      "Multibody System Dynamics",
  volume =       "10",
  number =       "2",
  pages =        "177--199",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1384-5640",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Rogatkin:2003:JNI,
  author =       "D. Rogatkin",
  title =        "{JAVA NIO} \& the {iTunes} Database",
  journal =      j-DDJ,
  volume =       "28",
  number =       "12",
  pages =        "36--47",
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Nov 18 10:35:04 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Rojiani:2003:WBJ,
  author =       "Rojiani and Kim and Kapania",
  title =        "{Web}-Based {Java} Applets for Teaching Engineering
                 Mechanics",
  journal =      j-COMP-EDU-J,
  volume =       "13",
  number =       "4",
  pages =        "59--67",
  year =         "2003",
  CODEN =        "CEJOE7",
  ISSN =         "1069-3769",
  bibdate =      "Mon Dec 15 12:30:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers in education journal",
}

@Article{Rosa:2003:SPC,
  author =       "L. S. Rosa and F. R. Wagner and L. Carro and A. S.
                 Carissimi and A. I. Reis",
  title =        "Scheduling Policy Costs on a {JAVA} Microcontroller",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "520--533",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rose:2003:LBV,
  author =       "Eva Rose",
  title =        "Lightweight Bytecode Verification",
  journal =      j-J-AUTOM-REASON,
  volume =       "31",
  number =       "3--4",
  pages =        "303--334",
  month =        nov,
  year =         "2003",
  CODEN =        "JAREEW",
  DOI =          "https://doi.org/10.1023/B:JARS.0000021015.15794.82",
  ISSN =         "0168-7433 (print), 1573-0670 (electronic)",
  ISSN-L =       "0168-7433",
  bibdate =      "Sat Apr 2 10:50:23 MDT 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jautomreason.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1023/B%3AJARS.0000021015.15794.82",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Autom. Reason.",
  fjournal =     "Journal of Automated Reasoning",
  journal-URL =  "http://link.springer.com/journal/10817",
}

@Article{Rountev:2003:FCA,
  author =       "A. Rountev and A. Milanova and B. G. Ryder",
  title =        "Fragment Class Analysis for Testing of Polymorphism in
                 {Java} Software",
  journal =      "International Conference on Software Engineering",
  volume =       "25",
  number =       "??",
  pages =        "210--220",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0270-5257",
  bibdate =      "Tue Jun 24 05:41:28 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Rudys:2003:EJR,
  author =       "A. Rudys and D. S. Wallach",
  title =        "Enforcing {Java} Run-Time Properties Using Bytecode
                 Rewriting",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2609",
  pages =        "185--200",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rui:2003:CMW,
  author =       "X. Rui and C. Yang and P. Dong and Q. Cheng and Y.
                 Bai",
  title =        "Coal Mine {WebGIS} Developing With {Java}",
  journal =      "International Geoscience and Remote Sensing
                 Symposium",
  volume =       "4",
  pages =        "IV:2659--IV:2661",
  year =         "2003",
  CODEN =        "????",
  bibdate =      "Mon Dec 8 15:22:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Ryan:2003:MDC,
  author =       "C. Ryan and S. Perry",
  title =        "{MobJeX}: a Declaratively Configurable {Java} Based
                 Framework for Resource Aware Object Mobility",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "11--13",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Sage:2003:TIP,
  author =       "D. Sage and M. Unser",
  title =        "Teaching Image-Processing Programming in {Java}",
  journal =      j-IEEE-SIGNAL-PROCESS-MAG,
  volume =       "20",
  number =       "6",
  pages =        "43--52",
  year =         "2003",
  CODEN =        "ISPRE6",
  ISSN =         "1053-5888 (print), 1558-0792 (electronic)",
  ISSN-L =       "1053-5888",
  bibdate =      "Wed Jan 21 08:32:17 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Signal Processing Magazine",
}

@Article{Saiedian:2003:CEG,
  author =       "H. Saiedian and S. Hill",
  title =        "A comparative evaluation of generic programming in
                 {Java} and {C++}",
  journal =      j-SPE,
  volume =       "33",
  number =       "2",
  pages =        "121--142",
  year =         "2003",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Feb 25 06:39:00 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Sakabe:2003:JOT,
  author =       "Y. Sakabe and M. Soshi and A. Miyaji",
  title =        "{Java} Obfuscation with a Theoretical Basis for
                 Building Secure Mobile Agents",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2828",
  pages =        "89--103",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 4 05:29:15 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Sammapun:2003:FJM,
  author =       "U. Sammapun and R. Sharykin and M. DeLap and M. Kim
                 and S. Zdancewic",
  title =        "Formalizing {Java-MaC}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "89",
  number =       "2",
  pages =        "1--20",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Sanden:2003:RTP,
  author =       "B. Sanden",
  title =        "Real-time programming safety in {Java} and {Ada}",
  journal =      j-SIGADA-LETTERS,
  volume =       "23",
  number =       "2",
  pages =        "32--46",
  year =         "2003",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Wed Aug 27 05:49:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Sanders:2003:JTI,
  author =       "Dean Sanders and Brian Dorn",
  title =        "{Jeroo}: a tool for introducing object-oriented
                 programming",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "201--204",
  month =        jan,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/792548.611968",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:59 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Jeroo is a tool that has been developed to help
                 students in beginning programming courses learn the
                 semantics of fundamental control structures, learn the
                 basic notions of using objects to solve problems, and
                 learn to write methods that support a functional
                 decomposition of the task. Jeroo is similar to Karel
                 the Robot and its descendants, but has a narrower scope
                 than Karel's descendants and has a syntax that provides
                 a smoother transition to either Java or C++. Jeroo has
                 been class tested at Northwest Missouri State
                 University, and has proven to be an effective tool for
                 working with students in a beginning programming class.
                 Jeroo and user documentation are available at
                 http://www.nwmissouri.edu/~sanders/Jeroo/Jeroo.html.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Saraswat:2003:JIT,
  author =       "V. Saraswat and R. Jagadeesan and V. Gupta",
  title =        "\pkg{jcc}: Integrating Timed Default Concurrent
                 Constraint Programming into {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2902",
  pages =        "156--170",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Dec 31 11:17:32 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Sarra:2003:SSP,
  author =       "Scott A. Sarra",
  title =        "The spectral signal processing suite",
  journal =      j-TOMS,
  volume =       "29",
  number =       "2",
  pages =        "195--217",
  month =        jun,
  year =         "2003",
  CODEN =        "ACMSCU",
  DOI =          "https://doi.org/10.1145/779359.779364",
  ISSN =         "0098-3500 (print), 1557-7295 (electronic)",
  ISSN-L =       "0098-3500",
  bibdate =      "Thu Aug 7 13:56:17 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toms/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "A software suite written in the Java programming
                 language for the postprocessing of Chebyshev
                 approximations to discontinuous functions is presented.
                 It is demonstrated how to use the package to remove the
                 effects of the Gibbs--Wilbraham phenomenon from
                 Chebyshev approximations of discontinuous functions.
                 Additionally, the package is used to postprocess
                 Chebyshev collocation and Chebyshev super spectral
                 viscosity approximations of hyperbolic partial
                 differential equations. The postprocessing method is
                 the Gegenbauer reconstruction procedure. The Spectral
                 Signal Processing Suite is the first publicly available
                 package that implements the procedure. State-of-the-art
                 techniques are used to implement the algorithms with
                 efficiency while reducing round-off error.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Mathematical Software",
  journal-URL =  "http://portal.acm.org/toc.cfm?idx=J782",
}

@Article{Schilling:2003:SHM,
  author =       "Jonathan L. Schilling",
  title =        "The Simplest Heuristics May Be the Best in {Java JIT}
                 Compilers",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2",
  pages =        "36--46",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Schmid:2003:UEJ,
  author =       "H. A. Schmid",
  title =        "On the Use of {Enterprise Java Beans 2.0} Local
                 Interfaces",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2596",
  pages =        "144--156",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed May 28 05:39:24 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Schoeberl:2003:JJO,
  author =       "M. Schoeberl",
  title =        "{JOP}: a {Java} Optimized Processor",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "346--359",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Schultz:2003:APS,
  author =       "Ulrik P. Schultz and Julia L. Lawall and Charles
                 Consel",
  title =        "Automatic program specialization for {Java}",
  journal =      j-TOPLAS,
  volume =       "25",
  number =       "4",
  pages =        "452--499",
  month =        jul,
  year =         "2003",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Aug 5 07:03:33 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Schultz:2003:CJL,
  author =       "Ulrik Pagh Schultz and Kim Burgaard and Flemming Gram
                 Christensen and J{\o}rgen Lindskov Knudsen",
  title =        "Compiling {Java} for Low-End Embedded Systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "42--50",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Scott:2003:TGI,
  author =       "K. Scott",
  title =        "Teaching Graphical Interface Programming in {Java}
                 with the {Game of Wari}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "254",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Sedgewick:2003:AJ,
  author =       "Robert Sedgewick",
  title =        "Algorithms in {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "737",
  year =         "2003",
  ISBN =         "0-201-36120-5",
  ISBN-13 =      "978-0-201-36120-9",
  LCCN =         "QA76.73.J38 S4 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Parts 1-4.",
  acknowledgement = ack-nhfb,
  keywords =     "computer algorithms; Java (computer program
                 language)",
}

@Article{Sellin:2003:MAJ,
  author =       "R. Sellin",
  title =        "{Mobile Attraktivit{\"a}t mit Java-Games}",
  journal =      "Comtec",
  volume =       "81",
  number =       "1",
  publisher =    "Comtec Swisscom",
  pages =        "14--19",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1420-3715",
  bibdate =      "Tue Feb 11 05:32:25 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@InProceedings{SerraSagrista:2003:JFE,
  author =       "J. SerraSagrista and F. Auli and C. Fernandez and F.
                 Garcia",
  title =        "A {Java} Framework for Evaluating Still Image Coders
                 Applied to Remote Sensing Applications",
  crossref =     "IEEE:2003:LES",
  volume =       "6",
  pages =        "VI:3595--VI:3597",
  year =         "2003",
  bibdate =      "Mon Dec 8 15:22:46 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Setzer:2003:JFP,
  author =       "A. Setzer",
  title =        "{Java} as a Functional Programming Language",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2646",
  publisher =    "Springer-Verlag",
  pages =        "279--298",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 3 08:07:59 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Seymour:2003:ATF,
  author =       "Keith Seymour and Jack Dongarra",
  title =        "Automatic translation of {Fortran} to {JVM} bytecode",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "207--222",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.657",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "ftp://ftp.math.utah.edu/pub/bibnet/authors/d/dongarra-jack-j.bib;
                 http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www.netlib.org/netlib/utk/people/JackDongarra/PAPERS/f2jreport.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Shaham:2003:EIH,
  author =       "Ran Shaham and Elliot K. Kolodner and Mooly Sagiv",
  title =        "Estimating the Impact of Heap Liveness Information on
                 Space Consumption in {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "171--182",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Shaylor:2003:JVM,
  author =       "Nik Shaylor and Douglas N. Simon and William R. Bush",
  title =        "A {Java} Virtual Machine Architecture for Very Small
                 Devices",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "34--41",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Shende:2003:IAT,
  author =       "Sameer Shende and Allen D. Malony",
  title =        "Integration and application of {TAU} in parallel
                 {Java} environments",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "501--519",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.655",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Sherer:2003:RTS,
  author =       "Matt Sherer",
  title =        "Real-time Signal Analysis and {Real-Time Linux}: {Part
                 1}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "62--65",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/rtlp1.txt",
  abstract =     "In the first installment of this multipart article,
                 Matt shows how you do hard real-time signal
                 acquisition, controlling it from a Java GUI
                 application. Additional resources include rtlp1.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Shippy:2003:PGT,
  author =       "P. J. Shippy",
  title =        "Porting the {Gnat} Tasking Runtime System to the {Java
                 Virtual Machine}",
  journal =      "Literary Review",
  volume =       "47",
  number =       "2",
  pages =        "119--120",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0024-4589",
  bibdate =      "Mon Apr 5 09:19:58 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Shirazi:2003:JPT,
  author =       "Jack Shirazi",
  title =        "{Java} performance tuning",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xv + 570",
  year =         "2003",
  ISBN =         "0-596-00377-3",
  ISBN-13 =      "978-0-596-00377-7",
  LCCN =         "QA76.73.J38 S47 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  annote =       "Covers Java SDK 1.4. Includes J2EE performance tuning;
                 Efficient and effective tuning strategies",
  keywords =     "Java (computer program language)",
}

@Article{Shirmohammadi:2003:JJT,
  author =       "S. Shirmohammadi and A. ElSaddik and N. D. Georganas
                 and R. Steinmetz",
  title =        "{JASMINE}: a {Java} Tool for Multimedia Collaboration
                 on the {Internet}",
  journal =      j-MULTIMEDIA-TOOLS-APPLIC,
  volume =       "19",
  number =       "1",
  pages =        "5--28",
  year =         "2003",
  CODEN =        "MTAPFB",
  ISSN =         "1380-7501",
  ISSN-L =       "1380-7501",
  bibdate =      "Tue Dec 17 05:55:18 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Multimedia Tools and Applications",
}

@Book{Sierra:2003:HFE,
  author =       "Kathy Sierra and Bert Bates",
  title =        "Head first {EJB}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxx + 700",
  year =         "2003",
  ISBN =         "0-596-00571-7",
  ISBN-13 =      "978-0-596-00571-9",
  LCCN =         "QA76.3 .S468 2003",
  bibdate =      "Mon Apr 18 15:07:59 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596005719",
  acknowledgement = ack-nhfb,
  keywords =     "Enterprise JavaBeans (EJB)",
  remark =       "``Passing the Sun certified business component
                 developer exam'' --- cover. ``A brain-friendly study
                 guide'' --- cover.",
  subject =      "Electronic data processing personnel; Certification;
                 Java (Computer program language); JavaBeans",
}

@Book{Sierra:2003:HFJ,
  author =       "Kathy Sierra and Bert Bates",
  title =        "Head first {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxx + 619",
  year =         "2003",
  ISBN =         "0-596-00465-6",
  ISBN-13 =      "978-0-596-00465-1",
  LCCN =         "QA76.73.J38 S535 2003",
  bibdate =      "Mon Apr 18 15:06:49 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596004651",
  acknowledgement = ack-nhfb,
  remark =       "``Your brain on Java--a learner's guide'' --- cover.",
  subject =      "Java (Computer program language)",
}

@Book{Sikora:2003:JPG,
  author =       "Zbigniew M. Sikora",
  title =        "{Java}: practical guide for programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xii + 179",
  year =         "2003",
  ISBN =         "1-55860-909-1",
  ISBN-13 =      "978-1-55860-909-9",
  LCCN =         "QA76.73.J38 S54 2003",
  bibdate =      "Wed Oct 29 06:59:17 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Sivaram:2003:XJO,
  author =       "A. Sivaram and D. Fan and J. Pryce",
  booktitle =    "International Test Conference",
  title =        "{XML} and {Java} for {Open ATE} Programming
                 Environment",
  publisher =    "????",
  address =      "????",
  pages =        "793--801",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0743-1686",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Sojka:2003:AP,
  author =       "Petr Sojka",
  title =        "Animations in {PDF}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "263--263",
  month =        sep,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/961290.961625",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes a technique to create interactive
                 teaching materials as animations that are stored and
                 distributed in PDF file format. PdfL$^A$T$_E$X with
                 small macropackage, Maple and JavaScript are used and
                 allow the development of interactive animations of high
                 typographical quality that are fine-tuned for
                 on-the-screen reading.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Sojka:2003:ITM,
  author =       "Petr Sojka",
  title =        "Interactive teaching materials in {PDF} using
                 {JavaScript}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "3",
  pages =        "275--275",
  month =        sep,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/961290.961640",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:03 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The use of JavaScript language for adding interaction
                 to portable teaching materials of a high typographical
                 quality in PDF file format is described. An extended
                 version of the program T$_E$X called pdfT$_E$X is
                 extremely useful for such purposes. It is shown that
                 applications similar to those done by CGI script on the
                 web can be done in PDF, exploiting the embedded
                 JavaScript engine implementation in PDF viewers.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Spain-McDuffie:2003:JCT,
  author =       "Tina Spain-McDuffie",
  title =        "{JavaScript} concepts and techniques: programming
                 interactive {Web} sites",
  publisher =    "Franklin, Beedle and Associates",
  address =      "Wilsonville, OR, USA",
  pages =        "xxii + 730",
  year =         "2003",
  ISBN =         "1-887902-69-4",
  ISBN-13 =      "978-1-887902-69-4",
  LCCN =         "QA73.73.J39 S73 2003 Computer",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "CD-ROM contains all scripts in accompanying book",
  acknowledgement = ack-nhfb,
  keywords =     "JavaScript (computer program language)",
}

@Article{Spanias:2003:AJD,
  author =       "A. Spanias and K. I. U. Ahmed and A. Papandreou
                 Suppappola and M. Zaman",
  title =        "Assessment of the {Java-DSP (J-DSP)} On-Line
                 Laboratory Software",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "1",
  number =       "??",
  pages =        "T2E-16--T2E-21",
  year =         "2003",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Book{Spielman:2003:JPG,
  author =       "Sue Spielman",
  title =        "{JSTL}: Practical Guide for {JSP} Programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xix + 229",
  year =         "2003",
  ISBN =         "0-12-656755-7",
  ISBN-13 =      "978-0-12-656755-7",
  LCCN =         "TK5105.8885.J38 S65 2004",
  bibdate =      "Sat Aug 02 08:46:02 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$19.95",
  series =       "Morgan Kaufmann practical guides series",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/description/els031/2003107479.html",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Java (Computer program language);
                 Web sites; Authoring programs; Web site development",
}

@Book{Spielman:2003:SFP,
  author =       "Sue Spielman",
  title =        "The {Struts Framework}: Practical Guide for {Java}
                 Programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xiv + 137",
  year =         "2003",
  ISBN =         "1-55860-862-1",
  ISBN-13 =      "978-1-55860-862-7",
  LCCN =         "TK5105.8885.S76 S65 2003",
  bibdate =      "Sat Jul 17 07:21:17 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$19.95",
  acknowledgement = ack-nhfb,
}

@Article{Srisaan:2003:AMP,
  author =       "W. Srisaan and C. T. D. Lo and J. M. Chang",
  title =        "Active Memory Processor: a Hardware Garbage Collector
                 for Real-Time {Java} Embedded Devices",
  journal =      "IEEE Transactions on Mobile Computing",
  volume =       "2",
  number =       "2",
  pages =        "89--101",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1536-1233",
  bibdate =      "Tue Sep 2 06:25:03 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Stahl:2003:PAI,
  author =       "R. Stahl and R. Pasko and L. Rijnders and D. Verkest
                 and S. Vernalde and R. Lauwereins and F. Catthoor",
  title =        "Performance Analysis for Identification of
                 (Sub-)Task-Level Parallelism in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2826",
  pages =        "313--328",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Oct 21 05:29:09 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Stark:2003:CBV,
  author =       "Robert F. St{\"a}rk and Joachim Schmid",
  title =        "Completeness of a Bytecode Verifier and a Certifying
                 {Java-to-JVM} Compiler",
  journal =      j-J-AUTOM-REASON,
  volume =       "30",
  number =       "3--4",
  pages =        "323--361",
  month =        may,
  year =         "2003",
  CODEN =        "JAREEW",
  DOI =          "https://doi.org/10.1023/A:1025003423108",
  ISSN =         "0168-7433 (print), 1573-0670 (electronic)",
  ISSN-L =       "0168-7433",
  bibdate =      "Sat Apr 2 10:50:21 MDT 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jautomreason.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1023/A%3A1025003423108",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Autom. Reason.",
  fjournal =     "Journal of Automated Reasoning",
  journal-URL =  "http://link.springer.com/journal/10817",
}

@Article{Stefanovic:2003:OFG,
  author =       "Darko Stefanovi{\'c} and Matthew Hertz and Stephen M.
                 Blackburn and Kathryn S. McKinley and J. Eliot B.
                 Moss",
  title =        "Older-first Garbage Collection in Practice: Evaluation
                 in a {Java} Virtual Machine",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "25--36",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Steinbeck:2003:CDK,
  author =       "C. Steinbeck and Y. Han and S. Kuhn and O. Horlacher
                 and E. Luttmann and E. Willighagen",
  title =        "The {Chemistry Development Kit (CDK)}: An Open-Source
                 {Java} Library for Chemo- and Bioinformatics",
  journal =      "Journal of Chemical Information and Computer
                 Sciences",
  volume =       "43",
  number =       "2",
  pages =        "493--500",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0095-2338",
  bibdate =      "Thu May 8 07:01:22 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Stevenson:2003:IOE,
  author =       "D. E. Stevenson and A. T. Phillips",
  title =        "Implementing Object Equivalence in {Java} Using the
                 Template Method Design Pattern",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "278--282",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Strom:2003:UJT,
  author =       "O. Strom and K. Svarstad and E. J. Aas",
  title =        "On the Utilization of {Java} Technology in Embedded
                 Systems",
  journal =      "Design Automation for Embedded Systems",
  volume =       "8",
  number =       "1",
  pages =        "87--106",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0929-5585",
  bibdate =      "Tue Mar 4 09:14:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Suganuma:2003:RBC,
  author =       "Toshio Suganuma and Toshiaki Yasue and Toshio
                 Nakatani",
  title =        "A region-based compilation technique for a {Java}
                 just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "312--323",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Sunkpho:2003:JIF,
  author =       "J. Sunkpho and J. H. Garrett",
  title =        "{Java} Inspection Framework: Developing Field
                 Inspection Support Systems for Civil Systems
                 Inspection",
  journal =      j-COMP-CIVIL-ENG,
  volume =       "17",
  number =       "4",
  pages =        "209--218",
  year =         "2003",
  CODEN =        "JCCEE5",
  ISSN =         "0887-3801",
  ISSN-L =       "0887-3801",
  bibdate =      "Wed Oct 15 08:31:41 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Computing in Civil Engineering",
}

@Article{Taboada:2003:PME,
  author =       "G. L. Taboada and J. Tourino and R. Doallo",
  title =        "Performance Modeling and Evaluation of {Java}
                 Message-Passing Primitives on a Cluster",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2840",
  pages =        "29--36",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Oct 29 06:24:07 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Tan:2003:JAC,
  author =       "F. L. Tan and P. S. K. Chua",
  title =        "{Java} Applet on Computation of Thermodynamic
                 Properties of Steam and {R134a} Refrigerant",
  journal =      j-COMPUT-APPL-ENG-EDUC,
  volume =       "11",
  number =       "4",
  pages =        "211--225",
  year =         "2003",
  CODEN =        "CAPEED",
  ISSN =         "1061-3773",
  ISSN-L =       "1061-3773",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Applications in Engineering Education",
}

@Article{Tatibouet:2003:JCC,
  author =       "B. Tatibouet and A. Requet and J. C. Voisinet and A.
                 Hammad",
  title =        "{Java} Card Code Generation from {B} Specifications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2885",
  pages =        "306--318",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 15 12:30:21 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Taveira:2003:ARM,
  author =       "Wendell Figueiredo Taveira and Marco Tulio {de
                 Oliveira Valente} and Mariza Andrade {da Silva Bigonha}
                 and Roberto {da Silva Bigonha}",
  title =        "Asynchronous Remote Method Invocation in {Java}",
  journal =      j-J-UCS,
  volume =       "9",
  number =       "8",
  pages =        "761--??",
  day =          "28",
  month =        aug,
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Tue Dec 16 10:06:15 MST 2003",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_9_8/asynchronous_remote_method_invocation",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
}

@Article{Thomas:2003:FJJ,
  author =       "V. Thomas and A. McMullen and L. Graba",
  title =        "{FT-Java}: a {Java}-Based Framework for Fault-Tolerant
                 Distributed Software",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2889",
  pages =        "899--911",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Thomas:2003:OXC,
  author =       "Michael D. Thomas",
  title =        "{Oracle XSQL}: combining {SQL}, {Oracle} text, {XSLT},
                 and {Java} to publish dynamic {Web} content",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xix + 572",
  year =         "2003",
  ISBN =         "0-471-27120-9 (paper\slash website)",
  ISBN-13 =      "978-0-471-27120-8 (paper\slash website)",
  LCCN =         "QA76.73.S67 T48 2003",
  bibdate =      "Tue Oct 28 09:30:17 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/bios/wiley045/2002014913.html;
                 http://www.loc.gov/catdir/description/wiley038/2002014913.html;
                 http://www.loc.gov/catdir/toc/wiley031/2002014913.html",
  acknowledgement = ack-nhfb,
  subject =      "SQL (Computer program language); Oracle (Computer
                 file); XSLT (Computer program language); Java (Computer
                 program language); Web sites; Design",
}

@InProceedings{Tigli:2003:WRA,
  author =       "J. Y. Tigli and D. Cheung and J. Fuchet and G. Joulie
                 and F. Grillon",
  booktitle =    "IEEE International Conference on Systems Man and
                 Cybernetics",
  title =        "{Wcomp}: Rapid Application Development Toolkit for
                 Wearable computer based on {Java}",
  volume =       "5",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "4198--4203",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1062-922X",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Tikir:2003:RDS,
  author =       "Mustafa M. Tikir and Jeffrey K. Hollingsworth and
                 Guei-Yuan Lueh",
  title =        "Recompilation for debugging support in a
                 {JIT-compiler}",
  journal =      j-SIGSOFT,
  volume =       "28",
  number =       "1",
  pages =        "10--17",
  month =        jan,
  year =         "2003",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/634636.586100",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:25 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "A static Java compiler converts Java source code into
                 a verifiably secure and compact architecture-neutral
                 intermediate format, called Java byte codes. The Java
                 byte codes can be either interpreted by a Java Virtual
                 Machine or translated into native code by Java
                 Just-In-Time compilers. Static Java compilers embed
                 debug information in the Java class files to be used by
                 the source level debuggers. However, the debug
                 information is generated for architecture independent
                 byte codes and most of the debug information is valid
                 only when the byte codes are interpreted. Translating
                 byte codes into native instructions puts a limitation
                 on the amount of usable debug information that can be
                 used by source level debuggers. In this paper, we
                 present a new technique to generate valid debug
                 information when Just-In-Time compilers are used. Our
                 approach is based on the dynamic recompilation of Java
                 methods by a fast code generator and lazily generates
                 debug information when it is required. We also present
                 three implementations for field watch support in the
                 Java Virtual Machine Debugger Interface to investigate
                 the runtime overhead and code size growth by our
                 approach.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Timpe:2003:GCJ,
  author =       "R. Timpe",
  title =        "{GPIB} Control With {Java} on {Linux} or {Windows}",
  journal =      "Evaluation Engineering",
  volume =       "42",
  number =       "6",
  pages =        "18--23",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0014-3316",
  bibdate =      "Wed Jul 9 10:18:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Tip:2003:ELB,
  author =       "F. Tip and P. F. Sweeney and C. Laffra",
  title =        "Extracting Library-based {Java} Applications",
  journal =      j-CACM,
  volume =       "46",
  number =       "8",
  pages =        "35--40",
  year =         "2003",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Aug 27 05:49:07 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Titchkosky:2003:PCD,
  author =       "Lance Titchkosky and Martin Arlitt and Carey
                 Williamson",
  title =        "A performance comparison of dynamic {Web}
                 technologies",
  journal =      j-SIGMETRICS,
  volume =       "31",
  number =       "3",
  pages =        "2--11",
  month =        dec,
  year =         "2003",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/974036.974037",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Fri Jun 27 09:20:51 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Today, many Web sites dynamically generate responses
                 `on the fly' when user requests are received. In this
                 paper, we experimentally evaluate the impact of three
                 different dynamic content technologies (Perl, PHP, and
                 Java) on Web server performance. We quantify achievable
                 performance first for static content serving, and then
                 for dynamic content generation, considering cases both
                 with and without database access. The results show that
                 the overheads of dynamic content generation reduce the
                 peak request rate supported by a Web server up to a
                 factor of 8, depending on the workload characteristics
                 and the technologies used. In general, our results show
                 that Java server technologies typically outperform both
                 Perl and PHP for dynamic content generation, though
                 performance under overload conditions can be erratic
                 for some implementations.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
  keywords =     "Dynamic Content Generation; Performance Evaluation;
                 Web Performance; Web Server Benchmarking",
}

@Book{Topley:2003:JWS,
  author =       "Kim Topley",
  title =        "{Java Web} services in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xviii + 642",
  year =         "2003",
  ISBN =         "0-596-00399-4",
  ISBN-13 =      "978-0-596-00399-9",
  LCCN =         "TK5105.88813 .T67 2003",
  bibdate =      "Mon Apr 18 15:06:01 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596003999",
  acknowledgement = ack-nhfb,
  remark =       "``Covers J2EE 1.4 and JWSDP'' --- cover.",
  subject =      "Web services; Internet programming; Application
                 program interfaces (Computer software); Java (Computer
                 program language)",
}

@Article{Tremblett:2003:ISS,
  author =       "P. Tremblett",
  title =        "Incorporating server-side {Java} {$2$D} into your
                 {Web} application components is an easy way to deliver
                 dynamic data",
  journal =      j-DDJ,
  volume =       "28",
  number =       "10",
  pages =        "42--49",
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Oct 7 05:32:12 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Trost:2003:JEB,
  author =       "E. Trost and H. Hackl and M. Maurer and Z.
                 Trajanoski",
  title =        "{Java} editor for biological pathways",
  journal =      j-BIOINFORMATICS,
  volume =       "19",
  number =       "6",
  pages =        "786--787",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Thu May 8 07:01:22 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Book{Tyagi:2003:CJD,
  author =       "Sameer Tyagi and Michael Vorburger and Keiron McCammon
                 and Heiko Bobzin",
  title =        "Core {Java} Data Objects",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxx + 491",
  year =         "2003",
  ISBN =         "0-13-140731-7",
  ISBN-13 =      "978-0-13-140731-2",
  LCCN =         "QA76.73.J38 C663 2004",
  bibdate =      "Tue Nov 04 18:17:59 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  series =       "The Sun Microsystems Press Java series",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Object-oriented
                 programming (Computer science); Application program
                 interfaces (Computer software)",
}

@TechReport{USGS:2003:JPU,
  author =       "{United States Geological Survey}",
  title =        "{Java} programs for using {Newmark}'s method and
                 simplified decoupled analysis to model slope
                 performance during earthquakes",
  type =         "Open File Report",
  number =       "03-005",
  institution =  "U.S. Geological Survey",
  address =      "Denver, CO, USA",
  year =         "2003",
  LCCN =         "I 19.76:03-005 Maps CD",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Includes CD-ROM. Shipping List number 2003-0014-E.
                 Shipping List Date: 20-Mar-2003",
  acknowledgement = ack-nhfb,
}

@Article{VanderHeyden:2003:CPJ,
  author =       "W. B. VanderHeyden and E. D. Dendy and N. T.
                 Padial-Collins",
  title =        "{CartaBlanca} --- a pure-{Java}, component-based
                 systems simulation tool for coupled nonlinear physics
                 on unstructured grids --- an update",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "431--458",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.662",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{vanReeuwijk:2003:SSE,
  author =       "C. van Reeuwijk and F. Kuijlman and H. J. Sips",
  title =        "{Spar}: a set of extensions to {Java} for scientific
                 computation",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "277--297",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.659",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Vaughan-Nichols:2003:TNB,
  author =       "Steven J. Vaughan-Nichols",
  title =        "Technology News: The Battle over the Universal {Java
                 IDE}",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "4",
  pages =        "21--23",
  month =        apr,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:57 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/04/r4021.htm;
                 http://csdl.computer.org/dl/mags/co/2003/04/r4021.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Vaughan:2003:IME,
  author =       "J. Vaughan",
  title =        "Improvements mark evolving {Java} app servers",
  journal =      "Application Development Trends",
  volume =       "10",
  number =       "2",
  publisher =    "Microsoft Corporation",
  pages =        "31--34",
  year =         "2003",
  CODEN =        "ADTRF4",
  ISSN =         "1073-9564",
  bibdate =      "Tue Mar 11 05:23:20 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{VaughanNichols:2003:BUJ,
  author =       "S. J. VaughanNichols",
  title =        "The Battle over the Universal {Java IDE}",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "4",
  pages =        "21--23",
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Veldema:2003:RTO,
  author =       "R. Veldema and R. F. H. Hofman and R. A. F. Bhoedjang
                 and H. E. Bal",
  title =        "Run-time optimizations for a {Java DSM}
                 implementation",
  journal =      j-CCPE,
  volume =       "15",
  number =       "3--5",
  pages =        "299--316",
  month =        mar # "\slash " # apr,
  year =         "2003",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.660",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jan 13 09:28:08 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Feb 2003",
}

@Article{Vieregger:2003:PRP,
  author =       "C. Vieregger",
  title =        "Product Roundup: a Peck of {Java} Portlets",
  journal =      "Software Development",
  volume =       "11",
  number =       "3",
  pages =        "27--29",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Tue Feb 25 06:39:00 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Viroli:2003:TPA,
  author =       "M. Viroli",
  title =        "A type-passing approach for the implementation of
                 parametric methods in {Java}",
  journal =      j-COMP-J,
  volume =       "46",
  number =       "3",
  pages =        "263--294",
  year =         "2003",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue May 20 06:23:21 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@InProceedings{Vogels:2003:HNC,
  author =       "Werner Vogels",
  title =        "{HPC.NET} --- are {CLI}-based Virtual Machines
                 Suitable for High Performance Computing?",
  crossref =     "ACM:2003:SII",
  pages =        "??--??",
  year =         "2003",
  bibdate =      "Wed Nov 26 07:34:20 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc-conference.org/sc2003/inter_cal/inter_cal_detail.php?eventid=10710#2;
                 http://www.sc-conference.org/sc2003/paperpdfs/pap251.pdf",
  abstract =     "The Common Language Infrastructure is a new,
                 standardized virtual machine that is likely to become
                 popular on several platforms. In this paper we review
                 whether this technology has any future in the
                 high-performance computing community, for example by
                 targeting the same application space as the Java-Grande
                 Forum. We review the technology by benchmarking three
                 implementations of the CLI and compare those with the
                 results on Java virtual machines.",
  acknowledgement = ack-nhfb,
}

@Article{Vrba:2003:JBA,
  author =       "P. Vrba",
  title =        "{Java}-Based Agent Platform Evaluation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2744",
  pages =        "47--58",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Sep 24 05:51:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Walnes:2003:JOS,
  author =       "Joe Walnes and Ara Abrahamian and Mike Cannon-Brookes
                 and Patrick A. Lightbody",
  title =        "{Java} Open source programming: with {XDoclet},
                 {JUnit}, {WebWork}, {Hibernate} ({Java Open Source
                 Library})",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xx + 459",
  year =         "2003",
  ISBN =         "0-471-46362-0",
  ISBN-13 =      "978-0-471-46362-7",
  LCCN =         "QA76.73.J38 J3785 2003",
  bibdate =      "Sat Apr 03 07:31:26 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  tableofcontents = "http://www.loc.gov/catdir/toc/ecip048/2003020242.html",
}

@Article{Walsh:2003:CJG,
  author =       "A. E. Walsh",
  title =        "Creating {Java Grid} Services",
  journal =      j-DDJ,
  volume =       "28",
  number =       "9",
  pages =        "18--23",
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 26 06:39:28 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Walsh:2003:JP,
  author =       "Aaron E. Walsh",
  title =        "{JavaServer Pages 2.0}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "48, 50, 52--57",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/jsp20.zip",
  abstract =     "From the Expression Language to the JSP 2.0 API, new
                 features in J2EE 1.4 change how you create custom
                 JavaServer Pages. Additional resources include
                 jsp20.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Walsh:2003:JWS,
  author =       "Aaron E. Walsh",
  title =        "{J2Ee 1.4 Web} Services",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "34, 36, 38, 39",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304d/",
  abstract =     "Version 1.4 of Sun's Java 2 Platform Enterprise
                 Edition (J2EE) is just about ready for release and its
                 support for Web Services is one thing that sets it
                 apart from previous version.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wang:2003:BAD,
  author =       "M. Wang",
  title =        "{E}-Business Application Development With {Java}
                 Technology and {Oracle}: The {Fortune Invest Inc.}
                 Case",
  journal =      "Journal of Information Systems Education",
  volume =       "14",
  number =       "3",
  pages =        "293--300",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1055-3096",
  bibdate =      "Wed Nov 26 06:39:28 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2003:DIE,
  author =       "J. Wang and T. Lin and J. Wang and G. Han and H.
                 Zhao",
  title =        "Design and implementation of an embedded real-time
                 {Java OS}",
  journal =      "Journal --- China Institute of Communications",
  volume =       "24",
  number =       "8",
  pages =        "78--87",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1000-436X",
  bibdate =      "Tue Sep 16 06:05:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2003:IJM,
  author =       "L. Wang and R. Sams and M. Verner and F. Xi",
  title =        "Integrating {Java} {3D} model and sensor data for
                 remote monitoring and control",
  journal =      "Robotics and Computer Integrated Manufacturing",
  volume =       "19",
  number =       "1--2",
  pages =        "13--19",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0736-5845",
  bibdate =      "Tue Mar 25 05:58:54 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Wang:2003:JOO,
  author =       "Paul S. Wang",
  title =        "{Java} with object-oriented programming",
  publisher =    "Thomson/Brooks Cole",
  address =      "Pacific Grove, CA, USA",
  edition =      "Second",
  pages =        "xiv + 575",
  year =         "2003",
  ISBN =         "0-534-39276-8",
  ISBN-13 =      "978-0-534-39276-5",
  LCCN =         "QA76.73.J38 W364 2003",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); object-oriented
                 programming (computer science)",
}

@Article{Wang:2003:MLJ,
  author =       "W. Wang",
  title =        "On memory leaks in {Java} programs",
  journal =      "Journal --- Zhejiang University of Technology",
  volume =       "31",
  number =       "4",
  pages =        "405--409",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1006-4303",
  bibdate =      "Wed Oct 15 08:31:41 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Wawersich:2003:SAJ,
  author =       "C. Wawersich and M. Felser and M. Golm and J.
                 Kleinoder",
  title =        "The Security Architecture of the {Java} Operating
                 System {JX} --- {A} Security Architecture for
                 Distributed Parallel Computing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2834",
  pages =        "85--95",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Oct 15 08:31:41 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Wayne:2003:CNK,
  author =       "R. Wayne",
  title =        "Curiosity Never Killed the Programmer: {PE Explorer}
                 helps you delve into the nitty-gritty inside {Windows}
                 files, {Browsersoft}'s {eQ! Foundation} provides a
                 basis to build your {Java} on, and {Red Gate}'s {ANTS}
                 profiler offers some much-needed common sense aimed at
                 {.NET}",
  journal =      "Software Development",
  volume =       "11",
  number =       "5",
  pages =        "17--20",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Thu May 8 07:01:22 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Wellings:2003:EEP,
  author =       "A. J. Wellings and P. Puschner",
  title =        "Evaluating the Expressive Power of the Real-Time
                 Specification for {Java}",
  journal =      j-REAL-TIME-SYST,
  volume =       "24",
  number =       "3",
  pages =        "319--359",
  year =         "2003",
  CODEN =        "RESYE9",
  ISSN =         "0922-6443",
  ISSN-L =       "0922-6443",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Real-Time Systems",
}

@Article{Wellings:2003:JAR,
  author =       "A. J. Wellings",
  title =        "Is {Java} Augmented with the {RTSJ} a Better Real-Time
                 \ldots{} Technology than {Ada 95}?",
  journal =      j-SIGADA-LETTERS,
  volume =       "23",
  number =       "4",
  pages =        "16--21",
  year =         "2003",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Feb 2 15:02:19 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Weyns:2003:SDE,
  author =       "D. Weyns and E. Truyen and P. Verbaeten",
  title =        "Serialization of Distributed Execution-State in
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2591",
  pages =        "41--61",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 1 06:09:06 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Whitbread:2003:DJS,
  author =       "Martin Whitbread",
  title =        "{DCT Java} solution for wireless devices and
                 {Renesas}' latest 32-bit {RISC} processor",
  journal =      "Embedded System Engineering",
  volume =       "11",
  number =       "6",
  publisher =    "Electronic Design Automation Ltd.",
  pages =        "36--37",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0969-8825",
  bibdate =      "Wed Oct 15 08:31:41 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{White:2003:UTL,
  author =       "Tom White",
  title =        "Using Thread-Local Variables In {Java}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "42, 44--46",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/thread.txt;
                 http://www.ddj.com/ftp/2003/2003_07/thread.zip",
  abstract =     "Java's ThreadLocal class provides a powerful,
                 easy-to-use way to write efficient code that is safe
                 for multithreaded access. Additional resources include
                 thread.txt (listings) and thread.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wick:2003:OOR,
  author =       "M. R. Wick",
  title =        "An Object-Oriented Refactoring of {Huffman} Encoding
                 using the {Java} Collections Framework",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "283--287",
  year =         "2003",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Wilson:2003:PB,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "75--75",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "Big and little, thick and thin: Greg looks at all
                 kinds of books this month, including Processing XML
                 with Java, Practical Debugging in C++, How to Break
                 Software, Hacker's Delight, Bioinformatics Computing,
                 and Bioinformatics for Dummies.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wilson:2003:PBF,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Facts, Fallacies, and Numeric
                 Computing",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "76--76",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306j/",
  abstract =     "The books Greg examines this month include Debugging
                 Applications for Microsoft .NET and Microsoft Windows,
                 by John Robbins; Facts and Fallacies of Software
                 Engineering, by Robert L. Glass; Java Number Cruncher:
                 The Java Programmer's Guide to Numerical Computing, by
                 Ronald Mak; and Ant: The Definitive Guide, by Jesse
                 Tilly and Eric M. Burke.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wilson:2003:PBO,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: The Observation of Trifles",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "73--73",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301j/",
  abstract =     "Greg examines Java and XML Data Binding, by Brett
                 McLaughlin; Design Patterns Java Workbook, by Steven
                 John Metsker; and JSP Examples and Best Practices, by
                 Andrew Patzer.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wilson:2003:PBP,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: {Parkinson}'s Other Law",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "83--83",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304k/",
  abstract =     "Gregory V. Wilson reviews Creating Applications With
                 Mozilla, Java NIO, Performance Analysis For Java Web
                 Sites, and Herding Cats: A Primer for Programmers Who
                 Lead Programmers",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Wolle:2003:KAS,
  author =       "B. Wolle",
  title =        "Kommentar zum Artikel {``Statische Analyse von
                 Java-Anwendungen\ldots{}''}",
  journal =      j-WIRTSCHAFTSINFORMATIK,
  volume =       "45",
  number =       "6",
  pages =        "663",
  year =         "2003",
  CODEN =        "WIINE9",
  ISSN =         "0937-6429",
  ISSN-L =       "0937-6429",
  bibdate =      "Wed Jan 21 08:32:17 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Wirtschaftsinformatik",
}

@Article{Wolle:2003:SAJ,
  author =       "B. Wolle",
  title =        "{Statische Analyse von Java --- Anwendungen Eignen
                 sich Lines-of-Code-Metrik und Halstead-Lange?
                 Softwarewartung, Grossenmasse, LOC-Metrik,
                 Halstead-Metrik, Java-Systeme}. ({German}) [{Static}
                 Analysis of {Java} --- Are lines-of-code metrics and
                 {Halstead} lengths suitable? Software maintenance,
                 large mass, {LOC} Metrik, {Halstead} Metric, {Java}
                 systems]",
  journal =      j-WIRTSCHAFTSINFORMATIK,
  volume =       "45",
  number =       "1",
  pages =        "29--40",
  year =         "2003",
  CODEN =        "WIINE9",
  ISSN =         "0937-6429",
  ISSN-L =       "0937-6429",
  bibdate =      "Tue Mar 11 05:23:20 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Wirtschaftsinformatik",
  language =     "German",
}

@Article{Wong:2003:JPC,
  author =       "W. Wong",
  title =        "{Java} Processor Chip Stacks {JVM}, {SRAM}, {Flash}",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "51",
  number =       "6",
  pages =        "32",
  year =         "2003",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Tue Apr 15 07:54:18 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Wong:2003:SJ,
  author =       "W. Wong",
  title =        "Silent {Java}",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "51",
  number =       "8",
  pages =        "61",
  year =         "2003",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Tue May 13 05:12:53 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Woods:2003:MJB,
  author =       "R. P. Woods",
  title =        "{Multitracer}: a {Java}-based tool for anatomic
                 delineation of grayscale volumetric images",
  journal =      j-NEUROIMAGE,
  volume =       "19",
  number =       "4",
  pages =        "1829--1834",
  year =         "2003",
  CODEN =        "NEIMEF",
  ISSN =         "1053-8119",
  ISSN-L =       "1053-8119",
  bibdate =      "Tue Sep 9 06:28:14 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "NeuroImage",
}

@Article{Wright:2003:JES,
  author =       "William Wright",
  title =        "{J2Me} and Embedded Systems",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "54, 56, 58",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303g/",
  abstract =     "The Java 2 Micro Edition is a development tool for
                 environments where resources don't support the full
                 Java 2 Standard Edition. William uses it with aJile
                 Systems' aJ-100 processor to build a network security
                 device.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Xu:2003:MEJ,
  author =       "Baomin Xu and Weimin Lian and Qiang Gao",
  title =        "Migration of enterprise {JavaBeans} with {ProActive
                 Interposition Objects}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "22--28",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Xu:2003:MLP,
  author =       "Y. Xu and G. Zhang",
  title =        "{MPLS} Loop Prevention Mechanism and its {Java}
                 Realization",
  journal =      j-MINI-MICRO-SYSTEMS,
  volume =       "24",
  number =       "4",
  publisher =    "Gai-Kan Biajibu",
  pages =        "706--708",
  year =         "2003",
  CODEN =        "XWJXEH",
  ISSN =         "1000-1220",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Mini-Micro Systems",
}

@Article{Yang:2003:UPC,
  author =       "D. R. Yang and J. H. Lee",
  title =        "Undergraduate process control education using {Java}
                 applet modules",
  journal =      j-PROC-AM-CONTROL-CONF,
  volume =       "1",
  number =       "??",
  pages =        "694--699",
  year =         "2003",
  CODEN =        "PRACEO",
  ISSN =         "0743-1619",
  bibdate =      "Tue Nov 4 05:29:15 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the American Control Conference",
}

@Article{Yang:2003:WPT,
  author =       "C. D. Yang",
  title =        "Work in Progress: Teaching Wireless Networking and
                 Security with {Java 2 Micro Edition (J2ME)}",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "1",
  number =       "??",
  pages =        "T2C-7",
  year =         "2003",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Article{Yanhong:2003:EID,
  author =       "G. Yanhong and L. Wenfeng and W. Zhijian",
  title =        "Exploding Image Database Based on {B/S} Using {ISAPI}
                 and {Java}",
  journal =      "Journal --- Wuhan Transportation University",
  volume =       "27",
  number =       "3",
  pages =        "388--390",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1006-2823",
  bibdate =      "Tue Aug 19 10:20:00 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Yeung:2003:OJR,
  author =       "K. C. Yeung and P. H. J. Kelly",
  title =        "Optimising {Java RMI} Programs by Communication
                 Restructuring",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2672",
  publisher =    "Springer-Verlag",
  pages =        "324--343",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Yuan:2003:EJD,
  author =       "Michael Juntao Yuan",
  title =        "Enterprise {J2ME}: Developing Mobile {Java}
                 Applications",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxviii + 452",
  year =         "2003",
  ISBN =         "0-13-140530-6",
  ISBN-13 =      "978-0-13-140530-1",
  LCCN =         "QA76.73.J38 Y83 2004",
  bibdate =      "Mon Dec 22 10:42:09 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.99",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Wireless
                 communication systems",
}

@Article{Zachary:2003:EVA,
  author =       "Joseph L. Zachary and Peter A. Jensen",
  title =        "Exploiting value-added content in an online course:
                 introducing programming concepts via {HTML} and
                 {JavaScript}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "1",
  pages =        "396--400",
  month =        jan,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/792548.612016",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:59 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Online courses have proliferated across all
                 disciplines in recent years. One commonly-used approach
                 for creating an online course is to build a web site
                 containing as much course information---assignments,
                 solutions, lecture notes, streaming videos, and the
                 like---as possible. The goal of this type of course is
                 to replicate online, to the maximum extent possible,
                 the classroom experience. Online courses built this way
                 exploit the communications capabilities of networked
                 computers. We believe, however, that online courses
                 should also strive to exploit the computational
                 capabilities of computers. That is, online courses
                 should provide value-added components that make
                 possible learning experiences beyond what is feasible
                 in the traditional classroom. We describe such an
                 online course, called Creating Interactive Web Content,
                 that we created and have taught successfully for the
                 last three years. It is a general enrollment course
                 that uses HTML and JavaScript as a vehicle for teaching
                 elementary programming concepts.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Zamulin:2003:ABF,
  author =       "A. Zamulin",
  title =        "An {ASM}-based Formal Model of a {Java} Program",
  journal =      j-PROG-COMP-SOFT,
  volume =       "29",
  number =       "3",
  pages =        "130--139",
  year =         "2003",
  CODEN =        "PCSODA",
  ISSN =         "0361-7688 (print), 1608-3261 (electronic)",
  ISSN-L =       "0361-7688",
  bibdate =      "Tue Jun 17 06:26:38 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Programming and Computer Software; translation of
                 Programmirovaniye (Moscow, USSR) Plenum",
}

@Article{Zamulin:2003:FSJ,
  author =       "A. V. Zamulin",
  title =        "Formal Semantics of {Java} Expressions and
                 Statements",
  journal =      j-PROG-COMP-SOFT,
  volume =       "29",
  number =       "5",
  pages =        "259--270",
  year =         "2003",
  CODEN =        "PCSODA",
  ISSN =         "0361-7688 (print), 1608-3261 (electronic)",
  ISSN-L =       "0361-7688",
  bibdate =      "Tue Sep 30 06:17:55 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Programming and Computer Software; translation of
                 Programmirovaniye (Moscow, USSR) Plenum",
}

@Article{Zhang:2003:DIJ,
  author =       "C. H. Zhang and H. K. Pung",
  title =        "The design and implementation of a {Jini\slash
                 Java}-based {A/V} stream control and management",
  journal =      j-MULTIMEDIA-SYSTEMS,
  volume =       "9",
  number =       "4",
  pages =        "315--326",
  year =         "2003",
  CODEN =        "MUSYEW",
  ISSN =         "0942-4962",
  ISSN-L =       "0942-4962",
  bibdate =      "Wed Nov 26 06:39:28 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Multimedia Systems",
}

@Article{Zhang:2003:IJP,
  author =       "A. Zhang and J. C. Good and G. B. Berriman",
  title =        "An Interactive {Java} Plotting Package for Astronomy",
  journal =      "Astronomical Society of the Pacific Conference
                 Series",
  volume =       "295",
  number =       "??",
  pages =        "461--464",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1050-3390",
  bibdate =      "Tue Sep 2 06:25:03 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2003:LCF,
  author =       "Tian Zhao and Jens Palsber and Jan Vite",
  title =        "Lightweight confinement for featherweight {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "135--148",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Zheng:2003:JCB,
  author =       "Q. Zheng and Z. Yao and G. Chen",
  title =        "A {Java--CORBA} Based Design and Implementation for
                 Remote Debugger on Clusters",
  journal =      "Journal --- University of Science and Technology of
                 China",
  volume =       "33",
  number =       "3",
  publisher =    "China University of Science Technology",
  pages =        "351--358",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "????",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Zhu:2003:IJC,
  author =       "B. Zhu",
  title =        "Integrate {JAVA} with {CORBA} to Implement the
                 Middleware of the Distributed Systems of
                 Heterogeneity",
  journal =      "Acta Electronica Sinica",
  volume =       "31",
  number =       "9",
  pages =        "1313--1316",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0372-2112",
  bibdate =      "Tue Nov 18 10:35:04 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@InProceedings{Zhu:2003:LTJ,
  author =       "W. Zhu and C. L. Wang and F. Lau",
  booktitle =    "Proceedings of the International Conference on
                 Parallel Processing",
  title =        "Lightweight Transparent {Java} Thread Migration for
                 Distributed {JVM}",
  publisher =    "????",
  address =      "????",
  pages =        "465--472",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "0190-3918",
  bibdate =      "Tue Dec 2 18:51:43 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Zhuang:2003:DBA,
  author =       "H. Zhuang and J. Annese and D. J. Valentino and A. W.
                 Toga",
  title =        "Displaying brain atlases using a portable {Java}
                 application: the anatomist [5029-90]",
  journal =      j-PROC-SPIE,
  volume =       "5029",
  publisher =    "International Society for Optical Engineering",
  pages =        "790--796",
  year =         "2003",
  CODEN =        "PSISDG",
  ISSN =         "0277-786X (print), 1996-756X (electronic)",
  ISSN-L =       "0277-786X",
  bibdate =      "Thu Jul 31 12:26:39 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the SPIE --- The International Society
                 for Optical Engineering",
}

@Article{Zuse:2003:KAS,
  author =       "H. Zuse",
  title =        "{Kommentar zum Artikel {``Statische Analyse von
                 Java-Anwendungen\ldots{}''}}. ({German}) [Commentary on
                 the article {``Statistical Analysis of the use of
                 Java''}]",
  journal =      j-WIRTSCHAFTSINFORMATIK,
  volume =       "45",
  number =       "6",
  pages =        "662",
  year =         "2003",
  CODEN =        "WIINE9",
  ISSN =         "0937-6429",
  ISSN-L =       "0937-6429",
  bibdate =      "Wed Jan 21 08:32:17 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Wirtschaftsinformatik",
  language =     "German",
}

@Book{Adelstein:2004:EJL,
  author =       "Tom Adelstein and Sam Hiser",
  title =        "Exploring the {JDS Linux} desktop",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xiv + 390",
  year =         "2004",
  ISBN =         "0-596-00752-3 (paperback)",
  ISBN-13 =      "978-0-596-00752-2 (paperback)",
  LCCN =         "QA76.76.O63 A353 2004",
  bibdate =      "Sat Jun 11 09:50:59 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/jds/index.html",
  acknowledgement = ack-nhfb,
  remark =       "Linux for prime time with the Java Desktop System.
                 CD-ROM contains Sun Microsystem's Java Desktop
                 System.",
  subject =      "Linux; Operating systems (Computers); Java (Computer
                 program language)",
}

@Article{Alagic:2004:CJT,
  author =       "S. Alagic and J. Logan",
  title =        "Consistency of {Java} Transactions",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2921",
  pages =        "71--89",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{AlAli:2004:JBH,
  author =       "A. R. AlAli and M. AlRousan",
  title =        "{Java} Based Home Automation System",
  journal =      j-IEEE-TRANS-CONSUMER-ELECTRONICS,
  volume =       "50",
  number =       "2",
  pages =        "498--504",
  year =         "2004",
  CODEN =        "ITCEDA",
  ISSN =         "0098-3063",
  ISSN-L =       "0098-3063",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Consumer Electronics",
}

@Article{Aldrich:2004:MISa,
  author =       "Jonathan Aldrich and David Garlan and Bradley Schmerl
                 and Tony Tseng",
  title =        "Modeling and implementing software architecture with
                 acme and {archJava}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "6--7",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Aldrich:2004:MISb,
  author =       "Jonathan Aldrich and David Garlan and Bradley Schmerl
                 and Tony Tseng",
  title =        "Modeling and implementing software architecture with
                 acme and {archJava}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "156--157",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Alia:2004:MFP,
  author =       "M. Alia and S. ChassandeBarrioz and P. Dechamboux and
                 C. Hamon and A. Lefebvre",
  title =        "A Middleware Framework for the Persistence and
                 Querying of {Java} Objects",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3086",
  pages =        "291--315",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Alistair:2004:SGS,
  author =       "M. Chalk Alistair and Martin Wennerberg and L. L.
                 Sonnhammer Erik",
  title =        "{Sfixem}-graphical sequence feature display in
                 {Java}",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "15",
  pages =        "2488--2490",
  day =          "12",
  month =        oct,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Mon Oct 25 08:28:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "3",
}

@Article{Alonso:2004:RTT,
  author =       "D. Alonso and J. A. Pastor and B. Alvarez",
  title =        "Real-Time Teaching with {Java}: {J P R3}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "246--255",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ancona:2004:PTJ,
  author =       "Davide Ancona and Elena Zucca",
  title =        "Principal Typings for {Java}-like Languages",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "306--317",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Ande:2004:IVJ,
  author =       "R. N. Ande and L. M. Liebrock",
  title =        "Integrating {VRML}, {JAVA}, {XML}, and {HTML} in a
                 {Web}-Based Tool",
  journal =      "Summer Computer Simulation Conference",
  volume =       "??",
  pages =        "513--519",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0094-7474",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anderson:2004:MPJ,
  author =       "I. M. Anderson",
  title =        "{Maple} Packages and {Java} Applets",
  journal =      "London Mathematical Society Lecture Note Series",
  volume =       "312",
  pages =        "193--206",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0076-0552",
  bibdate =      "Mon Apr 5 09:19:58 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:AMJ,
  author =       "Anonymous",
  title =        "Applications monitor {Java} apps to minimise
                 downtime",
  journal =      "Computer Weekly",
  pages =        "30--31",
  day =          "23",
  month =        nov,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Sat Dec 18 11:38:55 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:ANS,
  author =       "Anonymous",
  title =        "{Agilent}'s new {System Ready Test} debuts. Tool
                 extensions for {ColdFire} and {Star} and a new high
                 speed {Java} are among the other new tools",
  journal =      "Embedded System Engineering",
  volume =       "12",
  number =       "6",
  pages =        "10--11",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0969-8825",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:AVM,
  author =       "Anonymous",
  title =        "{Analyse und Visualisierung von Messdaten: Java ---
                 die Brucke zu den Standards von Morgen}. ({German})
                 [{Analysis} and visualization of measurement data:
                 {Java} --- {The} bridge to tomorrow's standards]",
  journal =      j-ELECTRONIK,
  volume =       "53",
  number =       "8",
  pages =        "125--125",
  year =         "2004",
  CODEN =        "EKRKAR",
  ISSN =         "0013-5658",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Elektronik",
  language =     "German",
}

@Article{Anonymous:2004:BBM,
  author =       "Anonymous",
  title =        "Building Bridges: {Mainsoft} offers a product that
                 lets companies move applications built in {Microsoft}'s
                 {Visual Basic} and {C\#} to {Java} platforms",
  journal =      j-INFORMATION-WEEK,
  volume =       "977",
  pages =        "30--31",
  year =         "2004",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2004:BRPc,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{Programming with objects: a
                 comparative presentation of object-oriented programming
                 with C++ and Java}}: By Avinash C. Kak.
                 Wiley--Interscience, Hoboken, NJ. (2003). 1115 pages.
                 \$83.95, \pounds 63.50}",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "47",
  number =       "6--7",
  pages =        "1150--1150",
  month =        mar # "\slash " # apr,
  year =         "2004",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Wed Mar 1 21:49:36 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computmathappl2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://www.sciencedirect.com/science/article/pii/S089812210490106X",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/08981221",
}

@Article{Anonymous:2004:CCC,
  author =       "Anonymous",
  title =        "Cutting Complexity: {Compuware}'s {OptimalJ 3.1} is
                 designed to simplify {Java} development",
  journal =      j-INFORMATION-WEEK,
  volume =       "985",
  pages =        "62--63",
  year =         "2004",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2004:CGH,
  author =       "Anonymous",
  title =        "{C\#} goes head to head with {Java}: When resources
                 are tight, companies try to limit the number of
                 programming languages they support. {Microsoft}'s {C\#}
                 and {Sun}'s {Java} both have strengths, so which do you
                 choose?",
  journal =      "Computer Weekly",
  pages =        "48--50",
  day =          "9",
  month =        nov,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Mon Nov 29 06:56:05 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:CJL,
  author =       "Anonymous",
  title =        "{Chipkarten: Java-L{\"o}sung f{\"u}r SmartCards}.
                 ({German}) [{Chip} cards: {Java} Solutions for
                 {SmartCards}]",
  journal =      j-ELECTRONIK,
  volume =       "53",
  number =       "4",
  pages =        "6",
  year =         "2004",
  CODEN =        "EKRKAR",
  ISSN =         "0013-5658",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Elektronik",
  language =     "German",
}

@Article{Anonymous:2004:CSI,
  author =       "Anonymous",
  title =        "Closed Subject: {IBM} and {BEA} {Systems} call for
                 {Sun} to contribute {Java} as open-source code, but
                 {Sun}'s {CEO} nixes the idea",
  journal =      j-INFORMATION-WEEK,
  volume =       "996",
  pages =        "24",
  year =         "2004",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2004:DWY,
  author =       "Anonymous",
  title =        "Deal will yield support for {Java}",
  journal =      "Computer Weekly",
  pages =        "12--13",
  day =          "13",
  month =        apr,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:GCV,
  author =       "Anonymous",
  title =        "Garbage Collection versus {Echtzeit: Die ``Realtime
                 Specification for Java'' und ihre Implementierung in
                 JamaicaVM}. ({German} [{Reality}: The ``Realtime
                 Specification for {Java}'' and its implementation in
                 {JamaicaVM}]",
  journal =      "Elektronik Praxis",
  volume =       "3",
  pages =        "70--73",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0341-5589",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Article{Anonymous:2004:GLF,
  author =       "Anonymous",
  title =        "Gluecode Looks to Fill in {Java} Stack",
  journal =      j-INFOWORLD,
  volume =       "26",
  number =       "40",
  pages =        "22",
  year =         "2004",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2004:GLR,
  author =       "Anonymous",
  title =        "{Groupware Lotus} releases {Java}-based {Web}
                 services",
  journal =      "Computer Weekly",
  pages =        "12--13",
  day =          "3",
  month =        feb,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Mon Feb 16 16:23:47 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:HNV,
  author =       "Anonymous",
  title =        "How the new visual editor in this free {Java}
                 development tool can help you",
  journal =      j-PERS-COMPUT-WORLD,
  volume =       "27",
  number =       "12",
  pages =        "183--186",
  year =         "2004",
  CODEN =        "PCWODU",
  ISSN =         "0142-0232",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Personal computer world",
}

@Article{Anonymous:2004:HSC,
  author =       "Anonymous",
  title =        "Hot skills: {Cobol} integrates with {Java} and
                 {.Net}",
  journal =      "Computer Weekly",
  pages =        "49--49",
  day =          "7",
  month =        sep,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:HTJ,
  author =       "Anonymous",
  title =        "Hot topic: {Java 1.5}",
  journal =      j-COMPUT-BULL,
  volume =       "46",
  number =       "5",
  pages =        "32--32",
  year =         "2004",
  CODEN =        "COBUAH",
  ISSN =         "0010-4531 (print), 1464-357X (electronic)",
  ISSN-L =       "0010-4531",
  bibdate =      "Sat Dec 18 11:38:55 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Bulletin",
}

@Article{Anonymous:2004:JDC,
  author =       "Anonymous",
  title =        "{Java} development: Can {Sun}'s {JCS} bridge {Java}
                 complexity gap?",
  journal =      "Computer Weekly",
  pages =        "26--27",
  day =          "12",
  month =        oct,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:JGO,
  author =       "Anonymous",
  title =        "{Java} Garbage and Other Myths",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "52",
  number =       "12",
  pages =        "55--55",
  year =         "2004",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Anonymous:2004:JIP,
  author =       "Anonymous",
  title =        "{Java ID} for {PCs}?",
  journal =      "Card Technology Today",
  volume =       "16",
  number =       "3",
  pages =        "5",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0965-2590",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:JRC,
  author =       "Anonymous",
  title =        "{Java} releases could spike the return of client-side
                 development",
  journal =      "Msi",
  volume =       "22",
  number =       "12",
  pages =        "8--9",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1533-7758",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:JSA,
  author =       "Anonymous",
  title =        "{Java}: {Sun} advances with {Tiger} but users want
                 interoperability",
  journal =      "Computer Weekly",
  pages =        "18",
  day =          "6",
  month =        jul,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:JSB,
  author =       "Anonymous",
  title =        "{Java-Software: Mit und ohne Betriebssystem}.
                 ({German}) [{Java} Software: With and without Operating
                 System]",
  journal =      j-ELECTRONIK,
  volume =       "53",
  number =       "4",
  pages =        "8",
  year =         "2004",
  CODEN =        "EKRKAR",
  ISSN =         "0013-5658",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Elektronik",
  language =     "German",
}

@Article{Anonymous:2004:JSS,
  author =       "Anonymous",
  title =        "{Java}: {Sun} simplifies front-end {Java}
                 development",
  journal =      "Computer Weekly",
  pages =        "32",
  day =          "16",
  month =        mar,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:LUI,
  author =       "Anonymous",
  title =        "{LCH} to update {IT} systems to {Java} architecture",
  journal =      "Computer Weekly",
  pages =        "5",
  day =          "20",
  month =        jan,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Mon Feb 2 15:02:19 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:MSJ,
  author =       "Anonymous",
  title =        "{MIPS} spikes {Java} set-tops with a dash of
                 {Esmertec}",
  journal =      j-ELECTRONIC-ENG-TIMES,
  volume =       "1332",
  pages =        "10--17",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0192-1541",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic engineering times",
}

@Article{Anonymous:2004:NDE,
  author =       "Anonymous",
  title =        "New Developments: {EBay} wants to broaden its
                 developer base and says it will add integration
                 capabilities for {Soap} and {Java Web}-service
                 technologies to its developers' kit",
  journal =      j-INFORMATION-WEEK,
  volume =       "976",
  pages =        "28",
  year =         "2004",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2004:NGJ,
  author =       "Anonymous",
  title =        "New generation {Java} smart cards",
  journal =      "Card Technology Today",
  volume =       "16",
  number =       "3",
  pages =        "10--11",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0965-2590",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:OJT,
  author =       "Anonymous",
  title =        "{Oracle Jdeveloper 10G}: {Tim Anderson} examines a
                 cool {Java IDE} from {Oracle Corporation} that is
                 well-priced and gives you a development framework too",
  journal =      "Application Development Advisor",
  volume =       "8",
  number =       "5",
  pages =        "20--25",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1369-4200",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:POC,
  author =       "Anonymous",
  title =        "Programming with objects: a comparative presentation
                 of object-oriented programming with {C++} and {Java}",
  journal =      j-COMPUT-MATH-APPL,
  volume =       "47",
  number =       "6--7",
  pages =        "1150",
  year =         "2004",
  CODEN =        "CMAPDK",
  ISSN =         "0898-1221 (print), 1873-7668 (electronic)",
  ISSN-L =       "0898-1221",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Mathematics with Applications",
}

@Article{Anonymous:2004:SCS,
  author =       "Anonymous",
  title =        "{SAP} conference: {SAP} increases support for {Java}
                 on {Netweaver}",
  journal =      "Computer Weekly",
  pages =        "30--31",
  day =          "19",
  month =        oct,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:SDA,
  author =       "Anonymous",
  title =        "Software Desarrollo de aplicaciones informaticas en
                 entornos inalambricos. Lenguaje {Java 2 Micro
                 Edition}",
  journal =      j-REV-ESP-ELECT,
  volume =       "600",
  pages =        "48--51",
  year =         "2004",
  CODEN =        "RVEEBT",
  ISSN =         "0482-6396",
  bibdate =      "Mon Jan 10 05:55:45 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Revista espa{\~n}ola de electronica",
}

@Article{Anonymous:2004:SJSa,
  author =       "Anonymous",
  title =        "{Sun Java Studio Enterprise 6}",
  journal =      j-PC-MAGAZINE,
  volume =       "23",
  number =       "9",
  pages =        "37",
  year =         "2004",
  CODEN =        "PCMGEP",
  ISSN =         "0888-8507",
  ISSN-L =       "0888-8507",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "PC Magazine",
}

@Article{Anonymous:2004:SJSb,
  author =       "Anonymous",
  title =        "{Sun Java Studio Creator 2004Q2}",
  journal =      j-PC-MAGAZINE,
  volume =       "23",
  number =       "16",
  pages =        "54",
  year =         "2004",
  CODEN =        "PCMGEP",
  ISSN =         "0888-8507",
  ISSN-L =       "0888-8507",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "PC Magazine",
}

@Article{Anonymous:2004:SMO,
  author =       "Anonymous",
  title =        "Small but mighty operating system runs full-fledged
                 {Windows}, {Linux}, and {Java}-based software on mobile
                 equipment",
  journal =      j-INFORMATION-WEEK,
  volume =       "979",
  pages =        "61--61",
  year =         "2004",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Mon Apr 5 09:19:58 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2004:SRJ,
  author =       "Anonymous",
  title =        "{A} self refreshing {Java GUI} component",
  journal =      "Research Disclosure",
  volume =       "487",
  pages =        "1467",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0374-4353",
  bibdate =      "Wed Dec 29 09:36:00 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:SVJ,
  author =       "Anonymous",
  title =        "A Study of {VRML-JAVA} Based Robot Motion Simulation",
  journal =      "Mechanical Science and Technology",
  volume =       "23",
  number =       "1",
  pages =        "120--122",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1003-8728",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:UCI,
  author =       "Anonymous",
  title =        "Utility Company Integrates {COBOL} Application with
                 Enterprise {Java} System",
  journal =      "Computer Economics Report",
  volume =       "26",
  number =       "1",
  pages =        "4--6",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1054-5026",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:VPP,
  author =       "Anonymous",
  title =        "Visual programming: The pros and cons of open source,
                 plus {Java} and {SQLite}",
  journal =      j-PERS-COMPUT-WORLD,
  volume =       "27",
  number =       "5",
  pages =        "212--212",
  year =         "2004",
  CODEN =        "PCWODU",
  ISSN =         "0142-0232",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Personal computer world",
}

@Article{Anonymous:2004:WSJ,
  author =       "Anonymous",
  title =        "{Web} services {Java} drives {Mars} mission portal",
  journal =      "Computer Weekly",
  pages =        "29",
  day =          "2",
  month =        mar,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Arato:2004:JPB,
  author =       "A. Arato and Z. Juhasz and P. Blenkhorn and G. Evans
                 and G. Evreinov",
  title =        "{Java}-Powered {Braille} Slate Talker",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3118",
  pages =        "506--513",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Araujo:2004:TAC,
  author =       "W. L. F. Araujo and C. M. Hirata",
  title =        "Translating Activity Cycle Diagrams to {Java}
                 Simulation Programs",
  journal =      "Annual Simulation Symposium",
  volume =       "SYMPOSIUM37",
  pages =        "157--166",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0272-4715",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Armstrong:2004:JMD,
  author =       "J. N. Armstrong",
  title =        "{Java} \& Monetary Data",
  journal =      j-DDJ,
  volume =       "29",
  number =       "5",
  pages =        "52--56",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Artho:2004:JED,
  author =       "C. Artho and V. Schuppan and A. Biere and P. Eugster
                 and M. Baur and B. Zweimuller",
  title =        "{JNuke}: Efficient Dynamic Analysis for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3114",
  pages =        "462--465",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Arthorne:2004:OEF,
  author =       "John Arthorne and Chris Laffra",
  title =        "Official {Eclipse 3.0 FAQs}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxxiv + 386",
  year =         "2004",
  ISBN =         "0-321-26838-5 (paperback)",
  ISBN-13 =      "978-0-321-26838-9 (paperback)",
  LCCN =         "QA76.76.D47 A776 2004",
  bibdate =      "Fri Dec 9 07:26:22 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Eclipse series",
  acknowledgement = ack-nhfb,
  subject =      "Computer software; Development; Java (Computer program
                 language)",
}

@Article{Assaf:2004:IEC,
  author =       "M. H. Assaf and R. S. Abielmona and P. Abolghasem and
                 S. R. Das and E. M. Petriu and V. Groza and M.
                 Sahinoglu",
  title =        "Implementation of Embedded Cores-Based Digital Devices
                 in {JBits Java} Simulation Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3356",
  pages =        "315--325",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bacon:2004:TLF,
  author =       "David F. Bacon and Ravi Konuru and Chet Murthy and
                 Mauricio J. Serrano",
  title =        "Thin Locks: Featherweight Synchronization for {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "583--595",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@TechReport{Barbuti:2004:AIJ,
  author =       "R. Barbuti and N. {De Francesco} and L. Tesei",
  title =        "Abstract Interpretation for {Java} Bytecode
                 Verification",
  type =         "Technical Report",
  institution =  "Dipartimento di Informatica, University of Pisa",
  address =      "Pisa, Italy",
  year =         "2004",
  bibdate =      "Thu Dec 01 07:14:28 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Barros:2004:PMD,
  author =       "T. Barros and R. Boulifa and E. Madelaine",
  title =        "Parameterized Models for Distributed {Java} Objects",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3235",
  pages =        "43--60",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bartetzko:2004:JJA,
  author =       "D. Bartetzko and C. Fischer and M. Moller and H.
                 Wehrheim",
  title =        "{Jass} --- {Java} with Assertions",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "55",
  number =       "2",
  pages =        "1--15",
  month =        jan,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Feb 9 12:01:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
  pagecount =    "15",
}

@Book{Basham:2004:HFS,
  author =       "Bryan Basham and Kathy Sierra and Bert Bates",
  title =        "Head first servlets and {JSP}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxxii + 854",
  year =         "2004",
  ISBN =         "0-596-00540-7, 0-596-00540-7",
  ISBN-13 =      "978-0-596-00540-5, 978-0-596-00540-5",
  LCCN =         "QA76.3 .B384 2004",
  bibdate =      "Sat Nov 13 10:16:55 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  remark =       "Passing the Sun certified Web component developer
                 exam.",
  subject =      "JavaServer pages; Java (Computer program language);
                 Servlets; Electronic data processing personnel;
                 Certification; Study guides",
  tableofcontents = "Why use servlets and JSPs? \\
                 Web app architecture \\
                 Mini MVC tutorial \\
                 Being a servlet \\
                 Being a web app \\
                 Conversational state \\
                 Being a JSP \\
                 Script-free pages \\
                 Custom tags are powerful \\
                 When even JSTL isn't enough \ldots{} \\
                 Deploying your web app \\
                 Keep it secret, keep it safe \\
                 The power of filters \\
                 Enterprise design patterns \\
                 The final coffee cram mock exam.",
}

@Article{Batov:2004:JGC,
  author =       "V. Batov",
  title =        "{Java} Generics and {C++} Templates",
  journal =      j-CCCUJ,
  volume =       "22",
  number =       "7",
  pages =        "16--21",
  year =         "2004",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{BCS:2004:HTJ,
  author =       "B. C. S.",
  title =        "Hot topic: {Java 1.5}",
  journal =      j-COMPUT-BULL,
  volume =       "46",
  number =       "5",
  pages =        "32--32",
  month =        sep,
  year =         "2004",
  CODEN =        "COBUAH",
  ISSN =         "0010-4531 (print), 1464-357X (electronic)",
  ISSN-L =       "0010-4531",
  bibdate =      "Mon Nov 29 06:56:05 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Bulletin",
}

@Book{Beck:2004:JPG,
  author =       "Kent Beck",
  title =        "{JUnit} pocket guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "vi + 84",
  year =         "2004",
  ISBN =         "0-596-00743-4 (paperback)",
  ISBN-13 =      "978-0-596-00743-0 (paperback)",
  LCCN =         "QA76.76.T48 B43 2004",
  bibdate =      "Tue Aug 5 17:43:45 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596007430",
  acknowledgement = ack-nhfb,
  remark =       "Quick lookup and advice.",
  subject =      "Computer software; Testing; Java (Computer program
                 language)",
}

@Misc{Beebe:2004:CJR,
  author =       "Nelson H. F. Beebe",
  title =        "Comments on the {Java Random} class",
  howpublished = "Web document",
  day =          "24",
  month =        mar,
  year =         "2004",
  bibdate =      "Thu Feb 09 08:58:20 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/prng.bib",
  note =         "This document examines Java support for random
                 numbers, comments on its deficiencies and
                 inefficiencies, and reports the results of two test
                 suites.",
  URL =          "http://www.math.utah.edu/~beebe/java/random/",
  acknowledgement = ack-nhfb,
  lastaccess =   "09 February 2012",
}

@Misc{Beebe:2004:JPF,
  author =       "Nelson H. F. Beebe",
  title =        "{Java} programming: Fun with {Fibonacci}",
  howpublished = "World-Wide Web document",
  month =        mar,
  year =         "2004",
  bibdate =      "Wed Nov 09 18:11:32 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "This report summarizes the origin of the Fibonacci
                 sequence, giving the full Latin text from the original
                 book written in 1202 (not previously available on the
                 Web). Computation of the Fibonacci sequence, and its
                 term ratios, is implemented in about 50 different
                 programming languages. The report comments on the
                 relative difficulty of the task in some of those
                 languages, and on their suitability for numerical
                 computation. It also provides a complete floating-point
                 formatted output package for Java.",
  URL =          "http://www.math.utah.edu/~beebe/software/java/fibonacci/",
  acknowledgement = ack-nhfb,
}

@Article{Bellotti:2004:EOM,
  author =       "Francesco Bellotti and Riccardo Berta and Alessandro
                 De Gloria",
  title =        "Evaluation and optimization of method calls in
                 {Java}",
  journal =      j-SPE,
  volume =       "34",
  number =       "4",
  pages =        "395--431",
  day =          "10",
  month =        apr,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.570",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:28 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "5 Jan 2004",
}

@Article{Ben-Ari:2004:STT,
  author =       "Mordechai Ben-Ari",
  title =        "A suite of tools for teaching concurrency",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "251--251",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008083",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This poster describes a suite of new or improved tools
                 for teaching concurrent and distributed computation.
                 The tools are written in Java for portability and are
                 freely available at the address
                 http://stwww.weizmann.ac.il/g-cs/~benari/software.htm,
                 under the GNU General Public License. (Some tools
                 invoke other programs which have different licensing
                 arrangements.)",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Benander:2004:FRD,
  author =       "A. Benander and B. Benander and J. Sang",
  title =        "Factors related to the difficulty of learning to
                 program in {Java} --- an empirical study of non-novice
                 programmers",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "46",
  number =       "2",
  pages =        "99--107",
  year =         "2004",
  CODEN =        "ISOTE7",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Wed Jan 21 08:03:13 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
}

@Book{Bergsten:2004:JF,
  author =       "Hans Bergsten",
  title =        "{JavaServer} faces",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiv + 589",
  year =         "2004",
  ISBN =         "0-596-00539-3",
  ISBN-13 =      "978-0-596-00539-9",
  LCCN =         "TK5105.8885.J38 B46 2004",
  bibdate =      "Mon Apr 18 15:07:39 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Web sites; Design; Web site
                 development",
}

@Book{Bergsten:2004:JP,
  author =       "Hans Bergsten",
  title =        "{JavaServer} pages",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xxii + 740",
  year =         "2004",
  ISBN =         "0-596-00563-6",
  ISBN-13 =      "978-0-596-00563-4",
  LCCN =         "TK5105.8885.J38 B47 2004",
  bibdate =      "Mon Apr 18 15:07:54 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Web sites; Design; Web site
                 development",
}

@Article{Bernardeschi:2004:CSI,
  author =       "C. Bernardeschi and N. {De Francesco} and G. Lettieri
                 and L. Martini",
  title =        "Checking secure information flow in {Java} bytecode by
                 code transformation and standard bytecode
                 verification",
  journal =      j-SPE,
  volume =       "34",
  number =       "13",
  pages =        "1225--1255",
  day =          "10",
  month =        nov,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.611",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:34 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "12 Jul 2004",
}

@Article{Bettini:2004:JPC,
  author =       "L. Bettini",
  title =        "A {Java} Package for Class and Mixin Mobility in a
                 Distributed Setting",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2952",
  pages =        "12--22",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bieg:2004:ETD,
  author =       "C. Bieg and S. Diehl",
  title =        "Educational and technical design of a {Web}-based
                 interactive tutorial on programming in {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "25--36",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Binder:2004:PCM,
  author =       "W. Binder and J. Hulaas",
  title =        "A Portable {CPU}-Management Framework for {Java}",
  journal =      j-IEEE-INTERNET-COMPUT,
  volume =       "8",
  number =       "5",
  pages =        "74--83",
  year =         "2004",
  CODEN =        "IICOFX",
  ISSN =         "1089-7801",
  ISSN-L =       "1089-7801",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Internet Computing",
}

@Article{Binder:2004:SAP,
  author =       "W. Binder and J. Hulaas",
  title =        "Self-accounting as Principle for Portable {CPU}
                 Control in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3263",
  pages =        "24--38",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bishop:2004:DPG,
  author =       "Judith Bishop and Nigel Horspool",
  title =        "Developing principles of {GUI} programming using
                 views",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "373--377",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971429",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper proposes that GUI development is as
                 important as other aspects of programming, such as a
                 sound understanding of control structures and object
                 orientation. Far less attention has been paid to the
                 programming structures for GUIs and certainly there are
                 few cross language principles to aid the programmer. We
                 propose that principles of GUIs can be extracted and
                 learnt, and that they do enhance good programming
                 practice. These principles have been implemented in our
                 Views system which features an XML-based GUI
                 description notation coupled with an engine that
                 shields the programmer from much of the intricate
                 complexity associated with events, listeners and
                 handlers. The system is programmed primarily in C\# for
                 .NET, but is available in various forms for Java and
                 for other platforms which support .NET through the
                 SSCLI.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Blackburn:2004:MRP,
  author =       "Stephen M. Blackburn and Perry Cheng and Kathryn S.
                 McKinley",
  title =        "Myths and realities: the performance impact of garbage
                 collection",
  journal =      j-SIGMETRICS,
  volume =       "32",
  number =       "1",
  pages =        "25--36",
  month =        jun,
  year =         "2004",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1005686.1005693",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Fri Jun 27 09:21:18 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper explores and quantifies garbage collection
                 behavior for three whole heap collectors and
                 generational counterparts: {\em copying semi-space,
                 mark-sweep,\/} and {\em reference counting}, the
                 canonical algorithms from which essentially all other
                 collection algorithms are derived. Efficient
                 implementations in MMTk, a Java memory management
                 toolkit, in IBM's Jikes RVM share all common mechanisms
                 to provide a clean experimental platform.
                 Instrumentation separates collector and program
                 behavior, and performance counters measure timing and
                 memory behavior on three architectures. Our
                 experimental design reveals key algorithmic features
                 and how they match program characteristics to explain
                 the direct and indirect costs of garbage collection as
                 a function of heap size on the SPEC JVM benchmarks. For
                 example, we find that the contiguous allocation of
                 copying collectors attains significant locality
                 benefits over free-list allocators. The reduced
                 collection costs of the generational algorithms
                 together with the locality benefit of contiguous
                 allocation motivates a copying {\em nursery\/} for
                 newly allocated objects. These benefits dominate the
                 overheads of generational collectors compared with
                 non-generational and no collection, disputing the myth
                 that `no garbage collection is good garbage
                 collection.' Performance is less sensitive to the
                 mature space collection algorithm in our benchmarks.
                 However the locality and pointer mutation
                 characteristics for a given program occasionally prefer
                 copying or mark-sweep. This study is unique in its
                 breadth of garbage collection algorithms and its depth
                 of analysis.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
  keywords =     "generational; java; mark-sweep; reference counting;
                 semi-space",
}

@Article{Blumenstein:2004:EAG,
  author =       "Michael Blumenstein and Steven Green and Ann Nguyen
                 and Vallipuram Muthukkumarasamy",
  title =        "An experimental analysis of {GAME}: a generic
                 automated marking environment",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "67--71",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008016",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes the Generic Automated Marking
                 Environment (GAME) and provides a detailed analysis of
                 its performance in assessing student programming
                 projects and exercises. GAME has been designed to
                 automatically assess programming assignments written in
                 a variety of languages based on the ``structure'' of
                 the source code and the correctness of the program's
                 output. Currently, the system is able to mark programs
                 written in Java, C++ and the C language. To use the
                 system, instructors are required to provide a simple
                 ``marking schema'' for any given assessment item, which
                 includes pertinent information such as the location of
                 files and the model solution. In this research, GAME
                 has been tested on a number of student programming
                 exercises and assignments. The results obtained, have
                 been analysed and compared against a human marker
                 providing encouraging results.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bodden:2004:LLR,
  author =       "Eric Bodden",
  title =        "A lightweight {LTL} runtime verification tool for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "306--307",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bohme:2004:LFR,
  author =       "H. Bohme and U. Golze",
  title =        "Lightweight Firm Real-Time Extensions for Low Memory
                 Profile {Java} Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "303--314",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{BohneLang:2004:MII,
  author =       "A. BohneLang and E. Lang",
  title =        "{3D-Molekulvisualisierung im Internet Schwerpunkt
                 Java-Applets}. ({German}) [{3D}-Molecular Visualization
                 in {Internet} Center-of-Gravity Applets]",
  journal =      "Biospektrum",
  volume =       "10",
  number =       "2",
  pages =        "167--169",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0947-0867",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Article{Bonifaci:2004:JBS,
  author =       "V. Bonifaci and C. Demetrescu and I. Finocchi and L.
                 Laura",
  title =        "A {Java}-based system for building animated
                 presentations over the {Web}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "37--49",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Borger:2004:EAS,
  author =       "E. Borger and R. F. Stark",
  title =        "Exploiting Abstraction for Specification Reuse. The
                 {Java\slash C\#} Case Study",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3188",
  pages =        "42--76",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Boshernitsan:2004:IIS,
  author =       "Marat Boshernitsan and Susan L. Graham",
  title =        "{iXj}: interactive source-to-source transformations
                 for {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "212--213",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bossert:2004:JSC,
  author =       "O. Bossert",
  title =        "A {Java} software for creation of image mosaics",
  journal =      j-COMPUT-METH-PROG-BIOMED,
  volume =       "75",
  number =       "2",
  pages =        "159--161",
  year =         "2004",
  CODEN =        "CMPBEK",
  ISSN =         "0169-2607 (print), 1872-7565 (electronic)",
  ISSN-L =       "0169-2607",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Methods and Programs in Biomedicine",
}

@Article{Bouchenak:2004:EIE,
  author =       "S. Bouchenak and D. Hagimont and S. Krakowiak and N.
                 De Palma and F. Boyer",
  title =        "Experiences implementing efficient {Java} thread
                 serialization, mobility and persistence",
  journal =      j-SPE,
  volume =       "34",
  number =       "4",
  pages =        "355--393",
  day =          "10",
  month =        apr,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.569",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:28 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "5 Jan 2004",
}

@Article{Boulifa:2004:MGD,
  author =       "R. Boulifa and E. Madelaine",
  title =        "Model Generation for Distributed {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2952",
  pages =        "139--152",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Boyer:2004:IIT,
  author =       "Truman Parks Boyer and Mohsen Chitsaz",
  title =        "{ICETM} and {ICE\slash TTM}: tools to assist in
                 compiler design and implementation",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "4",
  pages =        "55--57",
  month =        dec,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1041624.1041657",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:12 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse36.html#BoyerC04;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2004.bib",
  abstract =     "ICE (Intermediate Code Engine) and ICE/T
                 (ICE/Translator) are compiler back ends that execute on
                 a Java Virtual Machine (JVM). They allow the student to
                 complete a working compiler quickly and can execute on
                 any platform that supplies a JVM. ICE is a quadruple
                 interpreter that executes ICE code directly, and
                 includes an assembler, which a builder can use to
                 side-step most symbol management issues. ICE/T is a
                 translator that accepts ICE assembly code as input, and
                 generates an equivalent Java class file as output. This
                 paper advocates the use of these tools in compiler
                 implementation courses.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Brett:2004:WBK,
  author =       "G. Olivier Brett and L. Snoep Jacky",
  title =        "{Web}-based kinetic modelling using {JWS Online}",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "13",
  pages =        "2143--2144",
  day =          "1",
  month =        sep,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Mon Nov 29 06:56:05 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{Brodie:2004:JJI,
  author =       "R. Brodie and R. L. Roper and C. Upton",
  title =        "{JDotter}: a {Java} interface to multiple dotplots
                 generated by dotter",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "2",
  pages =        "279--281",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Mon Feb 23 16:27:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{Brosgol:2004:RTJ,
  author =       "Benjamin M. Brosgol",
  title =        "Real-Time {Java} for {Ada} Programmers",
  journal =      j-ADA-USER-J,
  volume =       "25",
  number =       "4",
  pages =        "220--??",
  month =        dec,
  year =         "2004",
  CODEN =        "AUJOET",
  ISSN =         "1381-6551",
  bibdate =      "Wed Sep 1 09:00:38 MDT 2010",
  bibsource =    "http://www.ada-europe.org/AUJ/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Ada User Journal",
  journal-URL =  "http://www.ada-europe.org/auj/archive",
}

@Article{Bruce:2004:CHT,
  author =       "Kim B. Bruce",
  title =        "Controversy on how to teach {CS} 1: a discussion on
                 the {SIGCSE}-members mailing list",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "4",
  pages =        "29--34",
  month =        dec,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1041624.1041652",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:12 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse36.html#Bruce04;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2004.bib",
  abstract =     "A discussion took place on the SIGCSE mailing list in
                 late March of 2004 that raised important issues on how
                 to teach introductory courses using Java. This article
                 attempts to summarize several of the important points
                 raised during this discussion, among them whether or
                 how objects should be taught early or late in a CS 1
                 course, or indeed, whether object-oriented languages
                 should be postponed until a second course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bruce:2004:LWL,
  author =       "K. B. Bruce and J. N. Foster",
  title =        "{LOOJ}: Weaving {LOOM} into {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3086",
  pages =        "389--413",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bruno:2004:CJX,
  author =       "E. J. Bruno",
  title =        "{C++}, {Java}, \& {XML} Processing",
  journal =      j-CCCUJ,
  volume =       "22",
  number =       "7",
  pages =        "6--15",
  year =         "2004",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Bubak:2004:RPJ,
  author =       "M. Bubak and W. Funika and M. Smetek and Z. Kilianski
                 and R. Wismuller",
  title =        "Request Processing in the {Java}-Oriented {OMIS}
                 Compliant Monitoring System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3019",
  pages =        "352--359",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bucker:2004:TUC,
  author =       "H. M. Bucker and B. Lang and H. J. Pflug and A.
                 Vehreschild",
  title =        "Threads in an Undergraduate Course: a {Java} Example
                 Illuminating Different Multithreading Approaches",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3044",
  pages =        "882--891",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Burns:2004:RTS,
  author =       "Alan Burns and Andy Wellings",
  title =        "Real-time systems and programming languages \ [sound
                 recording]: {Ada 95}, real-time {Java} and real-time
                 {Posix}",
  publisher =    "TPB",
  address =      "Enskede, The Netherlands",
  pages =        "2 CD--R (61h 54m)",
  year =         "2004",
  LCCN =         "????",
  bibdate =      "Sat Jan 12 22:43:22 MST 2013",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/adabooks.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.libris.kb.se:210/libr",
  URL =          "http://katalog.tpb.se/wsHitList.Asp?SCode1=TN&SearchStr1=C30785",
  acknowledgement = ack-nhfb,
  remark =       "Digital talbok (DAISY 2.02), ljud.. Inl{\"a}st ur: 3.
                 ed. Harlow: Addison-Wesley, cop. 2001.. Boken ing{\aa}r
                 i serien: International computer science series.. S.
                 713-724 i boken: References.",
}

@Article{Buytaert:2004:BAJ,
  author =       "Dries Buytaert and Andy Georges and Lieven Eeckhout
                 and Koen {De Bosschere}",
  title =        "Bottleneck analysis in {Java} applications using
                 hardware performance monitors",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "172--173",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Cabana:2004:PPJ,
  author =       "Brian Cabana and Suad Alagi{\'c} and Jeff Faulkner",
  title =        "Parametric polymorphism for {Java}: is there any hope
                 in sight?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "22--31",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Cai:2004:SMC,
  author =       "H. Cai and A. Wellings",
  title =        "Supporting Mixed Criticality Applications in a
                 {Ravenscar--Java} Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "278--291",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Calejo:2004:ITD,
  author =       "M. Calejo",
  title =        "{InterProlog}: Towards a Declarative Embedding of
                 Logic Programming in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3229",
  pages =        "714--717",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Carrano:2004:DAP,
  author =       "Frank M. Carrano and Janet Prichard",
  title =        "Data Abstraction and Problem Solving with {Java},
                 Walls and Mirrors",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Updated",
  pages =        "xxii + 808",
  year =         "2004",
  ISBN =         "0-321-19717-8",
  ISBN-13 =      "978-0-321-19717-7",
  LCCN =         "QA76.73.J3 C37 2003",
  bibdate =      "Sat Jan 10 12:56:46 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$93.00",
  URL =          "http://www.aw-bc.com/catalog/academic/product/0,4096,0-321-19717-8,00.html",
  acknowledgement = ack-nhfb,
}

@Book{Cavaness:2004:PJS,
  author =       "Chuck Cavaness",
  title =        "Programming {Jakarta Struts}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xvii + 450",
  year =         "2004",
  ISBN =         "0-596-00651-9",
  ISBN-13 =      "978-0-596-00651-8",
  LCCN =         "QA76.76.A65 C39 2004",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$44.95, CAN\$65.95, UK\pounds 31.95",
  URL =          "http://www.oreilly.com/catalog/0596006519/",
  acknowledgement = ack-nhfb,
}

@Article{Chalasani:2004:AJB,
  author =       "Suresh Chalasani and Robert Barber",
  title =        "Architectures for {Java}-based bioinformatics
                 applications",
  journal =      "Industrial Management \& Data Systems",
  volume =       "104",
  number =       "7",
  pages =        "578--588",
  day =          "1",
  month =        jul,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0263-5577 (print), 1758-5783 (electronic)",
  bibdate =      "Thu Oct 14 05:44:13 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "11",
}

@Article{Chalk:2004:SGS,
  author =       "A. M. Chalk and M. Wennerberg and E. L. Sonnhammer",
  title =        "{Sfixem}-graphical sequence feature display in
                 {Java}",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "15",
  pages =        "2488--2490",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{Chan:2004:AOT,
  author =       "Jien-Tsai T. Chan and Wuu Yang",
  title =        "Advanced obfuscation techniques for {Java} bytecode",
  journal =      j-J-SYST-SOFTW,
  volume =       "71",
  number =       "1--2",
  pages =        "1--10",
  month =        apr,
  year =         "2004",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Wed May 18 10:27:24 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Chan:2004:JIP,
  author =       "M. Chan and T. Hansen and P. A. Monney and T. L.
                 Baker",
  title =        "A {Java} implementation of the probabilistic
                 argumentation system for data fusion in missile defense
                 applications [5434-19]",
  journal =      j-PROC-SPIE,
  volume =       "5434",
  number =       "",
  pages =        "176--186",
  year =         "2004",
  CODEN =        "PSISDG",
  ISSN =         "0277-786X (print), 1996-756X (electronic)",
  ISSN-L =       "0277-786X",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the SPIE --- The International Society
                 for Optical Engineering",
}

@Article{Chan:2004:RTS,
  author =       "Bryan Chan and Tarek S. Abdelrahman",
  title =        "Run-Time Support for the Automatic Parallelization of
                 {Java} Programs",
  journal =      j-J-SUPERCOMPUTING,
  volume =       "28",
  number =       "1",
  pages =        "91--117",
  month =        apr,
  year =         "2004",
  CODEN =        "JOSUED",
  ISSN =         "0920-8542 (print), 1573-0484 (electronic)",
  ISSN-L =       "0920-8542",
  bibdate =      "Sat Dec 4 12:39:12 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.wkap.nl/journalhome.htm/0920-8542; Ingenta
                 database",
  URL =          "http://ipsapp008.kluweronline.com/IPS/content/ext/x/J/5189/I/52/A/6/abstract.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of Supercomputing",
  journal-URL =  "http://link.springer.com/journal/11227",
  pagecount =    "27",
}

@Article{Chan:2004:TJ,
  author =       "Jien-Tsai T. Chan and Wuu Yang and Jing-Wei W. Huang",
  title =        "Traps in {Java}",
  journal =      j-J-SYST-SOFTW,
  volume =       "72",
  number =       "1",
  pages =        "33--47",
  month =        jun,
  year =         "2004",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Wed May 18 10:27:24 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Chang:2004:TSP,
  author =       "B. M. Chang and J. D. Choi",
  title =        "Thread-Sensitive Points-to Analysis for Multithreaded
                 {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3280",
  pages =        "945--954",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 6 06:44:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Chawla:2004:GIF,
  author =       "Anil Chawla and Alessandro Orso",
  title =        "A generic instrumentation framework for collecting
                 dynamic information",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "5",
  pages =        "1--4",
  month =        sep,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1022494.1022533",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:37 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Performing empirical research in software testing
                 involves executing a set of subjects against one or
                 more test suites and measuring some characteristics of
                 these executions. Such measures are often collected
                 using ad-hoc instrumentation, by inserting probes in
                 the code that collect and report dynamic information at
                 run-time. Another possible approach is to collect the
                 needed information by leveraging capabilities of the
                 runtime system. Both these approaches usually result in
                 measurement tools that are not flexible and are, thus,
                 hard to reuse and modify. To address this problem, we
                 present a generic framework for collecting information
                 on the runtime behavior of a Java program. The
                 framework allows for easily collecting different kinds
                 of dynamic information for a set of executions of the
                 program, such as coverage and profiling of various code
                 entities and program traces at different levels. The
                 framework also lets users easily define how to process
                 the collected information. In the paper, we also
                 present a case study that we performed to evaluate the
                 framework, and that shows its effectiveness and
                 efficiency.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Chen:2004:EEI,
  author =       "J. Chen and K. Wang",
  title =        "Experiment on Embedding Interception Service into
                 {Java RMI}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2952",
  pages =        "48--61",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Chen:2004:JFC,
  author =       "N. Chen and K. K. Ma",
  title =        "{Java}'s Future: Challenge and Opportunity",
  journal =      "IT Professional",
  volume =       "6",
  number =       "4",
  pages =        "19--27",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1520-9202",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2004:MCP,
  author =       "D. J. Chen and C. C. Hwang and S. K. Huang and D. T.
                 K. Chen",
  title =        "Mining Control Patterns from {Java} Program Corpora",
  journal =      j-J-INFO-SCI-ENG,
  volume =       "20",
  number =       "1",
  pages =        "57--84",
  year =         "2004",
  CODEN =        "JINEEY",
  ISSN =         "1016-2364",
  bibdate =      "Mon Feb 9 12:01:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of information science and engineering",
}

@Article{Chen:2004:MES,
  author =       "C. W. Chen and C. K. Chen and J. C. Chen and C. T. Ko
                 and J. K. Lee and H. W. Lin and W. J. Wu",
  title =        "{MM04-1}: Efficient Support of {Java RMI} over
                 Heterogeneous Wireless Networks",
  journal =      "IEEE International Conference on Communications",
  volume =       "3",
  number =       "",
  pages =        "1391--1395",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0536-1486",
  bibdate =      "Mon Nov 29 06:56:05 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2004:SET,
  author =       "Guangyu Chen and Byung-Tae Kang and Mahmut Kandemir
                 and Narayanan Vijaykrishnan and Mary Jane Irwin and
                 Rajarathnam Chandramouli",
  title =        "Studying Energy Trade Offs in Offloading
                 Computation\slash Compilation in {Java}-Enabled Mobile
                 Devices",
  journal =      j-IEEE-TRANS-PAR-DIST-SYS,
  volume =       "15",
  number =       "9",
  pages =        "795--809",
  month =        sep,
  year =         "2004",
  CODEN =        "ITDSEO",
  DOI =          "https://doi.org/10.1109/TPDS.2004.47",
  ISSN =         "1045-9219 (print), 1558-2183 (electronic)",
  ISSN-L =       "1045-9219",
  bibdate =      "Sat Dec 11 16:24:15 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/trans/td/2004/09/l0795.htm;
                 http://csdl.computer.org/dl/trans/td/2004/09/l0795.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Parallel and Distributed
                 Systems",
  journal-URL =  "http://www.computer.org/tpds/archives.htm",
}

@Article{Chen:2004:STD,
  author =       "W. Chen and D. Wang and W. Zheng",
  title =        "A Single Thread Discrete Event Simulation Toolkit for
                 {Java}: {STSimJ}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3038",
  pages =        "1131--1137",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Christensen:2004:RSX,
  author =       "A. S. Christensen and C. Kirkegaard and A. Moller",
  title =        "A Runtime System for {XML} Transformations in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3186",
  pages =        "143--157",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Clamp:2004:JJA,
  author =       "M. Clamp and J. Cuff and S. M. Searle and G. J.
                 Barton",
  title =        "The {Jalview Java} alignment editor",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "3",
  pages =        "426--427",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Book{Clark:2004:PPA,
  author =       "Mike Clark",
  title =        "Pragmatic project automation: how to build, deploy,
                 and monitor {Java} applications",
  volume =       "3",
  publisher =    pub-PRAGMATIC-BOOKSHELF,
  address =      pub-PRAGMATIC-BOOKSHELF:adr,
  pages =        "xiv + 161",
  year =         "2004",
  ISBN =         "0-9745140-3-9",
  ISBN-13 =      "978-0-9745140-3-1",
  LCCN =         "QA76.76.D47 C53 2004",
  bibdate =      "Tue Aug 5 18:13:42 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "Pragmatic starter kit series",
  URL =          "http://www.oreilly.com/catalog/9780974514031",
  acknowledgement = ack-nhfb,
  subject =      "Ant (Computer file); Computer software; Development;
                 Computer programming; Management; Java (Computer
                 program language)",
  tableofcontents = "Introduction \\
                 One-step builds \\
                 Scheduled builds \\
                 Push-button releases \\
                 Installation and deployment \\
                 Monitoring \\
                 Resources",
}

@Article{Coglio:2004:FTJ,
  author =       "A. Coglio and M. Huisman and J. R. Kiniry and P.
                 Muller and E. Poll",
  title =        "Formal Techniques for {Java}-Like Programs ({FTfJP})",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3344",
  pages =        "76--83",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Coglio:2004:SVT,
  author =       "Alessandro Coglio",
  title =        "Simple verification technique for complex {Java}
                 bytecode subroutines",
  journal =      j-CCPE,
  volume =       "16",
  number =       "7",
  pages =        "647--670",
  month =        jun,
  year =         "2004",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.798",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:54 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "27 Apr 2004",
}

@Article{Cohen:2004:TTT,
  author =       "F. Cohen",
  title =        "The Testing Toolbox: With these 10 tools, {Java}
                 scalability, performance and functionality are no
                 longer elusive. Chockful of techniques, they enable
                 software developers, {QA} technicians and {IT} managers
                 to effectively proof programs",
  journal =      "Software Development",
  volume =       "12",
  number =       "7",
  pages =        "36--43",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Comeau:2004:UOP,
  author =       "T. Comeau and B. Garrett and J. Richon and F.
                 Romelfanger",
  title =        "Using {OpenOffice} as a Portable Interface to
                 {Java}-Based Applications",
  journal =      "Astronomical Society of the Pacific Conference
                 Series",
  volume =       "314",
  number =       "",
  pages =        "701--703",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1050-3390",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Conrad:2004:ESB,
  author =       "Marc Conrad and Tim French",
  title =        "Exploring the synergies between the object oriented
                 paradigm and mathematics: a {Java} led approach",
  journal =      "International Journal of Mathematical Education in
                 Science and Technology",
  volume =       "35",
  number =       "5",
  pages =        "733--742",
  month =        sep,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0020-739X (print), 1464-5211 (electronic)",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "10",
}

@Article{Conrad:2004:USB,
  author =       "Marc Conrad and Tim French",
  title =        "Using the synergies between the object-oriented
                 paradigm and mathematics in joint mathematics\slash
                 computer science programs",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "254--254",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008086",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Whilst the object oriented paradigm and its
                 instantiation within programming languages such as Java
                 has become a ubiquitous part of both the commercial and
                 educational landscapes, its usage as a visualisation
                 technique within Mathematics undergraduate programmes
                 of study has not been widely recognised. By regarding
                 the object oriented paradigm as a medium for conceptual
                 exploration (rather than merely as a tool) the aim is
                 to show how the close conceptual links between object
                 orientation and certain mathematical structures such as
                 rings and groups can be more fully realised, using the
                 ready-made Java package com.perisic.ring [2]. The
                 package provides classes for abstract rings and can in
                 addition be used as a reference model for other
                 mathematical objects such as groups or vector spaces
                 [3].The intention behind the approach offered here is
                 to build upon these enabling foundations so as to
                 reveal the fundamental synergies that exist between the
                 various entities that are central to the OO paradigm
                 (such as Abstract Data Types) and abstract mathematical
                 structures (such as Rings and Groups). By inviting
                 students to revisit certain fundamental OO constructs
                 and techniques (such as classes, polymorphism,
                 encapsulation and inheritance) within the context of
                 pure mathematics, students may perhaps gain a deeper
                 insight into mathematical abstractions and related
                 algebraic structures. The idea is to generally
                 reinforce students' learning and to generally enhance
                 their mathematical maturity through a process of ``live
                 engagement'' with a familiar and indeed ubiquitous OO
                 paradigm. It is clear that for some authors at least,
                 the use of Java in Mathematics is seen to be purely
                 pragmatic: i.e., merely as a convenient tool used to
                 engineer a graphical user interface or to explore
                 distributed programming [1]. However there has been a
                 heated on-going debate that has sought to identify
                 whether the ``correct'' use of a computer and other
                 automated devices such as calculators, genuinely aids
                 students' learning and analytical abilities, or whether
                 such usage may actually be detrimental to the
                 development of mathematical maturity [1]. We prefer to
                 believe that Java may have a deeper role to play.
                 However, rather than directly seeking to contribute to
                 this pedagogic debate between ``reformers'' and
                 ``traditionalists'' our aim here is to show how
                 (conceptually) the two discipline areas are mutually
                 synergistic. In particular we show how gaining a deeper
                 insight into, and understanding of, object oriented
                 techniques can in fact provide an ideal pedagogic
                 opportunity for our undergraduate target audience to
                 better visualise, hence understand, certain abstract
                 mathematical concepts and entities.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Corradini:2004:TJC,
  author =       "A. Corradini and F. L. Dotti and L. Foss and L.
                 Ribeiro",
  title =        "Translating {Java} Code to Graph Transformation
                 Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3256",
  pages =        "383--398",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Cowlishaw:2004:FFE,
  author =       "M. Cowlishaw and J. Bloch and J. D. Darcy",
  title =        "Fixed, Floating, and Exact Computation with {Java}'s
                 {BigDecimal}",
  journal =      j-DDJ,
  volume =       "29",
  number =       "7",
  pages =        "22--27",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Csallner:2004:JAR,
  author =       "Christoph Csallner and Yannis Smaragdakis",
  title =        "{JCrasher}: an automatic robustness tester for
                 {Java}",
  journal =      j-SPE,
  volume =       "34",
  number =       "11",
  pages =        "1025--1050",
  month =        sep,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.602",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:33 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "7 Jun 2004",
}

@Article{Daly:2004:ALS,
  author =       "C. Daly and J. M. Horgan",
  title =        "An Automated Learning System for {Java} Programming",
  journal =      j-IEEE-TRANS-EDUC,
  volume =       "47",
  number =       "1",
  pages =        "10--17",
  year =         "2004",
  CODEN =        "IEEDAB",
  ISSN =         "0018-9359",
  ISSN-L =       "0018-9359",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Education",
}

@Book{Darwin:2004:JC,
  author =       "Ian F. Darwin",
  title =        "{Java} cookbook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  edition =      "Second",
  pages =        "xxiv + 829",
  year =         "2004",
  ISBN =         "0-596-00701-9",
  ISBN-13 =      "978-0-596-00701-0",
  LCCN =         "QA76.73.J38 D348 2004",
  bibdate =      "Sat Jun 11 09:50:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596007010",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{deBeer:2004:DCS,
  author =       "R. deBeer and D. GraveronDemilly and S. Nastase and D.
                 vanOrmondt",
  title =        "A distributed computing system for magnetic resonance
                 imaging: {Java}-based processing and binding of {XML}",
  journal =      j-COMPUT-METH-PROG-BIOMED,
  volume =       "73",
  number =       "3",
  pages =        "221--231",
  year =         "2004",
  CODEN =        "CMPBEK",
  ISSN =         "0169-2607 (print), 1872-7565 (electronic)",
  ISSN-L =       "0169-2607",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Methods and Programs in Biomedicine",
}

@Article{deCarmo:2004:JOA,
  author =       "L. deCarmo",
  title =        "{Java} \& {The OpenCable Application Platform}",
  journal =      j-DDJ,
  volume =       "29",
  number =       "7",
  pages =        "34--41",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{deMelo:2004:CJF,
  author =       "A. C. deMelo and B. M. Moutinho",
  title =        "On the composition of {Java} frameworks
                 control-flows",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "46",
  number =       "5",
  pages =        "301--307",
  year =         "2004",
  CODEN =        "ISOTE7",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
}

@Article{DeMeuter:2004:OOL,
  author =       "W. DeMeuter and S. Ducasse and T. DHondt and O. L.
                 Madsen",
  title =        "Object-Oriented Language Engineering for the
                 Post-{Java} Era",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3013",
  pages =        "143--153",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Deng:2004:TWD,
  author =       "Yuetang Deng and Phyllis Frankl and Jiong Wang",
  title =        "Testing web database applications",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "5",
  pages =        "1--10",
  month =        sep,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1022494.1022528",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:37 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Commercial, scientific, and social activities are
                 increasingly becoming dependent on Web database
                 applications. New testing techniques that handle the
                 unique features of these systems are needed. To that
                 end, we have extended AGENDA, a tool set for testing
                 relational database applications, to test web database
                 applications. Application source code is analyzed to
                 extract relevant information about the URLs and their
                 parameters. This information is used to construct and
                 simplify a graph in which nodes represent URLs and
                 edges represent links between URLs. A set of paths
                 through the graph is selected and test cases are
                 generated for each path. The extracted information
                 about the parameters to each URL (e.g., values that an
                 application user would enter into a form), is used to
                 guide AGENDA to generate inputs for the URLs. The URLs
                 on a path and their inputs are stored in an XML file,
                 which is then automatically executed. The current
                 implementation is targeted toward web applications
                 written as Java Servlets and uses an algorithm based on
                 cyclomatic complexity to generate paths. Preliminary
                 empirically evaluation based on the TPC-W benchmark is
                 presented.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{deOliveira:2004:MEE,
  author =       "A. A. {de Oliveira} and T. H. Braga and M. {de,
                 Almeida Maia} and R. {da Silva Bigonha}",
  title =        "{MetaJ}: An Extensible Environment for Metaprogramming
                 in {Java}",
  journal =      j-J-UCS,
  volume =       "10",
  number =       "7",
  pages =        "872--??",
  day =          "28",
  month =        jul,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Wed Jul 6 08:14:46 MDT 2005",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_10_7/metaj_an_extensible_environment",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
}

@Article{DeSutter:2004:CJL,
  author =       "B. DeSutter and F. Tip and J. Dolby",
  title =        "Customization of {Java} Library Classes Using Type
                 Constraints and Profile Information",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3086",
  pages =        "585--610",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{diFlora:2004:IPL,
  author =       "C. diFlora and M. Ficco and S. Russo",
  title =        "Indoor Positioning for Location-Aware Applications on
                 {Java}-Based Mobile Devices",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "383--393",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{DiMaggio:2004:TJS,
  author =       "L. DiMaggio",
  title =        "Testing {Java} Servlets",
  journal =      j-DDJ,
  volume =       "29",
  number =       "8",
  pages =        "26--31",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Ding:2004:EJP,
  author =       "Haibiao Ding and Mansur H. Samadzadeh",
  title =        "Extraction of {Java} program fingerprints for software
                 authorship identification",
  journal =      j-J-SYST-SOFTW,
  volume =       "72",
  number =       "1",
  pages =        "49--57",
  month =        jun,
  year =         "2004",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Wed May 18 10:27:24 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Dmitriev:2004:PJA,
  author =       "M. Dmitriev",
  title =        "Profiling {Java} Applications Using Code Hotswapping
                 and Dynamic Call Graph Revelation (position paper)",
  journal =      "Software Engineering Notes",
  volume =       "29",
  number =       "1",
  pages =        "139--150",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0163-5948",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Donovan:2004:CJP,
  author =       "A. Donovan and A. Kiezun and M. S. Tschantz and M. D.
                 Ernst",
  title =        "Converting {Java} Programs to Use Generic Libraries",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "15--34",
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Doyle:2004:DIM,
  author =       "Patrick Doyle and Carlos Cavanna and Tarek S.
                 Abdelrahman",
  title =        "The design and implementation of a modular and
                 extensible {Java Virtual Machine}",
  journal =      j-SPE,
  volume =       "34",
  number =       "3",
  pages =        "287--313",
  month =        mar,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.565",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:27 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "5 Jan 2004",
}

@Article{Doyle:2004:JPT,
  author =       "T. C. Doyle and C. A. April",
  title =        "{Java} Peace Treaty: Nothing seems more surreal than
                 the {Sun--Microsoft} pact, even now",
  journal =      "Varbusiness",
  volume =       "20",
  number =       "10",
  pages =        "22",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0894-5802",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Dudney:2004:MJF,
  editor =       "Bill Dudney and others",
  title =        "Mastering {JavaServer Faces}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxiii + 456",
  year =         "2004",
  ISBN =         "0-471-46207-1 (paperback)",
  ISBN-13 =      "978-0-471-46207-1 (paperback)",
  LCCN =         "TK5105.8885.J38 M37 2004",
  bibdate =      "Wed Nov 15 10:37:03 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/bios/wiley047/2004274458.html;
                 http://www.loc.gov/catdir/description/wiley042/2004274458.html;
                 http://www.loc.gov/catdir/toc/wiley041/2004274458.html",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Web sites; Design; Web site
                 development",
}

@Article{Dujmovic:2004:VJW,
  author =       "J. Dujmovic and C. Herder",
  title =        "Visualization of {Java} Workloads Using Ternary
                 Diagrams",
  journal =      "Software Engineering Notes",
  volume =       "29",
  number =       "1",
  pages =        "261--265",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0163-5948",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Dunkel:2004:CJP,
  author =       "J{\"u}rgen Dunkel and Ralf Bruns and Andreas
                 Holitschke",
  title =        "Comparison of {JavaServer Pages} and {XSLT}: a
                 software engineering perspective",
  journal =      j-SPE,
  volume =       "34",
  number =       "1",
  pages =        "1--13",
  month =        jan,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.555",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Mon Feb 9 09:25:26 MST 2004",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "26 Nov 2003",
}

@Article{Eason:2004:PDU,
  author =       "R. Eason and G. Heath",
  title =        "Paintbrush of Discovery: Using {Java} Applets to
                 Enhance Mathematics Education",
  journal =      j-PRIMUS,
  volume =       "14",
  number =       "1",
  pages =        "79--95",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1051-1970",
  ISSN-L =       "1051-1970",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "PRIMUS (Problems Resources and Issues in Mathematics
                 Undergraduate Studies)",
}

@Article{Eichelberger:2004:OOP,
  author =       "Holger Eichelberger and J{\"u}rgen Wolff von
                 Gudenberg",
  title =        "Object-oriented processing of {Java} source code",
  journal =      j-SPE,
  volume =       "34",
  number =       "12",
  pages =        "1157--1185",
  month =        oct,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.607",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:33 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "15 Jun 2004",
}

@Article{Eisenbach:2004:FTJ,
  author =       "S. Eisenbach and G. T. Leavens and P. Muller and A.
                 PoetzschHeffter and E. Poll",
  title =        "Formal Techniques for {Java}-Like Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3013",
  pages =        "62--71",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Eisenberg:2004:ELX,
  author =       "Andrew Eisenberg and Jim Melton",
  title =        "An Early Look at {XQuery API} for {Java} ({XQJ})",
  journal =      j-SIGMOD,
  volume =       "33",
  number =       "2",
  pages =        "105--111",
  year =         "2004",
  CODEN =        "SRECD8",
  ISSN =         "0163-5808 (print), 1943-5835 (electronic)",
  ISSN-L =       "0163-5808",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMOD Record",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J689",
}

@Article{Elnagar:2004:GPP,
  author =       "A. Elnagar and L. Lulu",
  title =        "A global path planning {Java}-based system for
                 autonomous mobile robots",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "107--122",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Emurian:2004:PIT,
  author =       "H. H. Emurian",
  title =        "A programmed instruction tutoring system for {Java}:
                 consideration of learning performance and software
                 self-efficacy",
  journal =      j-COMPUT-HUM-BEHAV,
  volume =       "20",
  number =       "3",
  pages =        "423--459",
  year =         "2004",
  CODEN =        "CHBEEQ",
  ISSN =         "0747-5632",
  ISSN-L =       "0747-5632",
  bibdate =      "Mon Apr 5 09:19:58 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers in Human Behavior",
}

@Article{English:2004:AAG,
  author =       "John English",
  title =        "Automated assessment of {GUI} programs using {JEWL}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "137--141",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008033",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes a system for the automated
                 assessment of GUI-based programs. This uses the JEWL
                 library, a set of Java packages designed for use by
                 complete beginners to Java which allows students to
                 build GUI-based programs from the 'Hello world' stage
                 onwards. This paper describes how JEWL has also been
                 designed so that it can be used to assess such programs
                 automatically.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Erdogan:2004:DEE,
  author =       "N. Erdogan and Y. E. Selcuk and O. Sahingoz",
  title =        "A distributed execution environment for shared {Java}
                 objects",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "46",
  number =       "7",
  pages =        "445--455",
  year =         "2004",
  CODEN =        "ISOTE7",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
}

@Article{Esquembre:2004:EJS,
  author =       "F. Esquembre",
  title =        "Easy {Java} Simulations: a software tool to create
                 scientific simulations in {Java}",
  journal =      j-COMP-PHYS-COMM,
  volume =       "156",
  number =       "2",
  pages =        "199--204",
  year =         "2004",
  CODEN =        "CPHCBZ",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Wed Jan 21 08:03:13 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Farzan:2004:FAJ,
  author =       "A. Farzan and F. Chen and J. Meseguer and G. Rosu",
  title =        "Formal Analysis of {Java} Programs in {JavaFAN}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3114",
  pages =        "501--505",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Feigenbaum:2004:JRS,
  author =       "B. Feigenbaum",
  title =        "{Java} Reflection \& {Smalltalk}-like Method
                 Dispatching",
  journal =      j-DDJ,
  volume =       "29",
  number =       "7",
  pages =        "42--45",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Felber:2004:UJX,
  author =       "U. Dietrich Felber",
  title =        "Using {Java} and {XML} in Interdisciplinary Research:
                 {A} New Data-gathering Tool for Historians Working with
                 {EuroClimHist}",
  journal =      "Historical Methods",
  volume =       "37",
  number =       "4",
  pages =        "174--185",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0161-5440",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Flanagan:2004:JENa,
  author =       "David Flanagan",
  title =        "{Java} examples in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xiv + 701",
  year =         "2004",
  ISBN =         "0-596-00620-9",
  ISBN-13 =      "978-0-596-00620-4",
  LCCN =         "QA76.73.J38 F485 2004; QA76.73.J38 F552 2004eb;
                 QA76.73.J38 F552 2004; QA76.73.J38 F53 2004",
  bibdate =      "Tue Aug 5 17:42:04 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "A nutshell handbook; The Java series",
  URL =          "http://www.oreilly.com/catalog/9780596006204",
  acknowledgement = ack-nhfb,
  remark =       "A tutorial companion to Java in a nutshell. Covers
                 Java 2, version 1.4 - cover. Includes indexes.",
  subject =      "Java (Computer program language); Web servers;
                 Object-oriented programming (Computer science)",
  tableofcontents = "Learning Java \\
                 Core Java APIs \\
                 Desktop Java APIs \\
                 Enterprise Java APIs",
}

@Book{Flanagan:2004:JENb,
  author =       "David Flanagan",
  title =        "{Java} examples in a nutshell: a tutorial companion to
                 {Java} in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xiv + 701",
  year =         "2004",
  ISBN =         "0-596-00585-7",
  ISBN-13 =      "978-0-596-00585-6",
  LCCN =         "QA76.73.J38 F5518 2004",
  bibdate =      "Mon Apr 18 15:08:09 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "In a nutshell",
  URL =          "http://www.oreilly.com/catalog/9780596005856",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
  xxnote =       "This ISBN is also assigned to
                 \cite{Greenwald:2004:OEO}.",
}

@Article{Forax:2004:RIJ,
  author =       "R. Forax and E. Duris and G. Roussel",
  title =        "A reflective implementation of {Java} multi-methods",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "30",
  number =       "12",
  pages =        "1055--1071",
  month =        dec,
  year =         "2004",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2004.90",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1377197",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Book{Ford:2004:AJW,
  author =       "Neal Ford",
  title =        "Art of {Java Web} development: {Struts}, {Tapestry},
                 {Commons}, {Velocity}, {JUnit}, {Axis}, {Cocoon},
                 {InternetBeans}, {WebWorks}",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxx + 593",
  year =         "2004",
  ISBN =         "1-932394-06-0",
  ISBN-13 =      "978-1-932394-06-1",
  LCCN =         "QA76.73.J38 F66 2004",
  bibdate =      "Mon Feb 27 16:34:51 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/bios/ipg051/2004271136.html;
                 http://www.loc.gov/catdir/description/ipg051/2004271136.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Web site
                 development",
}

@Article{Ford:2004:LOG,
  author =       "Lindsey Ford",
  title =        "A learning object generator for programming",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "268--268",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008103",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We introduce a general tool for creating small
                 learning scenarios (Learning Objects) that can be used
                 by teachers and students for teaching/learning Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Frens:2004:TTT,
  author =       "J. D. Frens",
  title =        "Taming the Tiger: Teaching the Next Version of
                 {Java}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "151--155",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Mon Apr 19 11:57:57 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Frey:2004:JBU,
  author =       "H. Frey and D. Gorgen and J. K. Lehnert and P. Sturm",
  title =        "A {Java}-Based Uniform Workbench for Simulating and
                 Executing Distributed Mobile Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2952",
  pages =        "116--127",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Frickey:2004:CJA,
  author =       "Tancred Frickey and Andrei Lupas",
  title =        "{CLANS}: a {Java} application for visualizing protein
                 families based on pairwise similarity",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "18",
  pages =        "3702--3704",
  day =          "12",
  month =        dec,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "3",
}

@Article{Fu:2004:TJW,
  author =       "C. Fu and B. G. Ryder and A. Milanova and D.
                 Wonnacott",
  title =        "Testing of {Java Web} Services for Robustness",
  journal =      "Software Engineering Notes",
  volume =       "29",
  number =       "4",
  pages =        "23--33",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0163-5948",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Fujiwara:2004:SAJ,
  author =       "Y. Fujiwara and S. Okada and T. Suzuki and Y. Ohnishi
                 and H. Yoshida",
  title =        "Self-Adaptive {Java} Production System and Its
                 Application to a Learning Assistance System",
  journal =      "IEICE Transactions on Information and Systems E Series
                 D",
  volume =       "87",
  number =       "9",
  pages =        "2186--2194",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0916-8532",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Fung:2004:JBP,
  author =       "Chun Che Fung and Jia Bin Li and Kok Wai Wong and Kit
                 Po Wong",
  title =        "A {Java}-based parallel platform for the
                 implementation of evolutionary computation for
                 engineering applications",
  journal =      j-INT-J-SYST-SCI,
  volume =       "35",
  number =       "13--14",
  pages =        "741--750",
  month =        nov,
  year =         "2004",
  CODEN =        "IJSYA9",
  ISSN =         "0020-7721",
  ISSN-L =       "0020-7721",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  baddate =      "Numbers 13-14/20 October-15 November 2004",
  fjournal =     "International Journal of Systems Science",
  pagecount =    "10",
}

@Article{Funika:2004:MSD,
  author =       "W. Funika and M. Bubak and M. Smetek",
  title =        "Monitoring System for Distributed {Java}
                 Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3038",
  pages =        "472--479",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gall:2004:BEC,
  author =       "M. Gall and R. Kutner and A. Majerowski and D.
                 Zebrowski",
  title =        "{Bose--Einstein} Condensation Studied by the Real-Time
                 {Monte Carlo} Simulation in the Frame of {Java}
                 Applet",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3039",
  pages =        "673--678",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gall:2004:PIC,
  author =       "M. Gall and R. Kutner and W. Wesela",
  title =        "The Proof and Illustration of the Central Limit
                 Theorem by {Brownian} Numerical Experiments in Real
                 Time within the {Java} Applet",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3037",
  pages =        "467--474",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Geary:2004:CJF,
  author =       "David M. Geary and Cay S. Horstmann",
  title =        "{Core JavaServer} faces",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xvii + 658",
  year =         "2004",
  ISBN =         "0-13-146305-5 (paperback)",
  ISBN-13 =      "978-0-13-146305-9 (paperback)",
  LCCN =         "TK5105.8885.J38 G433 2004",
  bibdate =      "Mon Mar 27 09:06:47 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Java 2 platform, enterprise edition series",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Web site development; Web sites;
                 Design",
}

@Article{Georges:2004:JPR,
  author =       "A. Georges and M. Christiaens and M. Ronsse and K. {De
                 Bosschere}",
  title =        "{JaRec}: a portable record\slash replay environment
                 for multi-threaded {Java} applications",
  journal =      j-SPE,
  volume =       "34",
  number =       "6",
  pages =        "523--547",
  month =        may,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.579",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:29 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "24 Feb 2004",
}

@Article{Georges:2004:MLP,
  author =       "A. Georges and D. Buytaert and L. Eeckhout and K.
                 DeBosschere",
  title =        "Method-Level Phase Behavior in {Java} Workloads",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "270--287",
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Gestwicki:2004:JJI,
  author =       "Paul V. Gestwicki and Bharat Jayaraman",
  title =        "{JIVE}: {Java} interactive visualization environment",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "226--228",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Ghosh:2004:GJC,
  author =       "Debasish Ghosh",
  title =        "Generics in {Java} and {C++}: a comparative model",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "5",
  pages =        "40--47",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Goldman:2004:CFI,
  author =       "Kenneth J. Goldman",
  title =        "A concepts-first introduction to computer science",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "432--436",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971446",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We present a unique ``concepts-first'' curriculum that
                 exposes students without programming experience to the
                 intellectual depth and breadth of computer science
                 through hands-on experience with software development.
                 The curriculum is supported by JPie, a tightly
                 integrated programming environment that enables live
                 construction of Java applications through direct
                 manipulation of graphical representations of
                 programming abstractions. The curriculum, projects, and
                 classroom experience are described.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Goldman:2004:IEB,
  author =       "K. J. Goldman",
  title =        "An interactive environment for beginning {Java}
                 programmers",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "3--24",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Gonzalez:2004:WOO,
  author =       "S. Gonzalez and W. DeMeuter and P. Costanza and S.
                 Ducasse and R. Gabriel and T. DHondt",
  title =        "2nd Workshop on Object-Oriented Language Engineering
                 for the Post-{Java} Era: Back to Dynamicity",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3344",
  pages =        "49--61",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Goodrich:2004:DSA,
  author =       "Michael T. Goodrich and Roberto Tamassia",
  title =        "Data Structures and Algorithms in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Third",
  pages =        "xvii + 681",
  year =         "2004",
  ISBN =         "0-471-46983-1 (hardcover)",
  ISBN-13 =      "978-0-471-46983-4 (hardcover)",
  LCCN =         "QA76.73.J38 G66 2004",
  bibdate =      "Thu Mar 22 12:04:32 MDT 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigact.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/bios/wiley046/2003071070.html;
                 http://www.loc.gov/catdir/description/wiley041/2003071070.html;
                 http://www.loc.gov/catdir/toc/wiley041/2003071070.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Data structures
                 (Computer science); Computer algorithms",
}

@Article{Gordon:2004:C,
  author =       "Donald Gordon and James Noble and Robert Biddle",
  title =        "{ConstrainedJava}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "33--34",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Gray:2004:JBA,
  author =       "J. Gray",
  title =        "A {Java}-based approach for teaching principles of
                 adaptive and evolvable software",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "51--69",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Groce:2004:HMC,
  author =       "Alex Groce and Willem Visser",
  title =        "Heuristics for model checking {Java} programs",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "6",
  number =       "4",
  pages =        "260--276",
  month =        aug,
  year =         "2004",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10009-003-0130-9",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Tue Jul 5 08:24:02 MDT 2005",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1433-2779&volume=6&issue=4;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1433-2779&volume=6&issue=4&spage=260",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
}

@Article{Gundersen:2004:DSJ,
  author =       "Geir Gundersen and Trond Steihaug",
  title =        "Data structures in {Java} for matrix computations",
  journal =      j-CCPE,
  volume =       "16",
  number =       "8",
  pages =        "799--815",
  month =        jul,
  year =         "2004",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.793",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:54 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "10 Jun 2004",
}

@Book{Habibi:2004:JRE,
  author =       "Mehran Habibi",
  title =        "{Java} Regular Expressions: Taming the
                 {java.util.regex} Engine",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "255 (est.)",
  year =         "2004",
  ISBN =         "1-59059-107-0",
  ISBN-13 =      "978-1-59059-107-9",
  LCCN =         "????",
  bibdate =      "Sat Apr 03 08:05:36 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Harder:2004:JUV,
  author =       "R. W. Harder and R. R. Hill and J. T. Moore",
  title =        "A {Java} universal vehicle router for routing unmanned
                 aerial vehicles",
  journal =      j-INT-TRANS-OPL-RES,
  volume =       "11",
  number =       "3",
  pages =        "259--275",
  month =        may,
  year =         "2004",
  CODEN =        "ITORF9",
  ISSN =         "0969-6016",
  ISSN-L =       "0969-6016",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "International Transactions in Operational Research",
  pagecount =    "17",
}

@Book{Harold:2004:JNP,
  author =       "Elliotte Rusty Harold",
  title =        "{Java} network programming",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xxii + 735",
  year =         "2004",
  ISBN =         "0-596-00721-3",
  ISBN-13 =      "978-0-596-00721-8",
  LCCN =         "QA76.625; QA76.625 .H367 2004eb; QA76.625 .H367 2004;
                 QA76.625 .H367 2005",
  bibdate =      "Tue Aug 5 17:43:16 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596007218",
  acknowledgement = ack-nhfb,
  remark =       "Developing networked applications. Previous edition
                 2000.",
  subject =      "Internet programming; Handbooks, manuals, etc;
                 Application program interfaces (Computer software);
                 Java (Computer program language)",
}

@Article{Hauswirth:2004:PEU,
  author =       "Matthias Hauswirth and Peter F. Sweeney and Amer
                 Diwan",
  title =        "Performance explorer: understanding {Java} application
                 behavior",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "31--32",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Havelund:2004:MJP,
  author =       "K. Havelund and G. Rosu",
  title =        "Monitoring {Java} Programs with {Java PathExplorer}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "55",
  number =       "2",
  pages =        "1--18",
  month =        jan,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Feb 9 12:01:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
  pagecount =    "18",
}

@Article{Havelund:2004:ORV,
  author =       "K. Havelund and G. Rosu",
  title =        "An Overview of the Runtime Verification Tool {Java
                 PathExplorer}: Special Issue on Selected Papers from
                 the {First International Workshop on Runtime
                 Verification Held in Paris, July 2001 (RV01)}",
  journal =      j-FORM-METHODS-SYST-DES,
  volume =       "24",
  number =       "2",
  pages =        "189--215",
  month =        mar,
  year =         "2004",
  CODEN =        "FMSDE6",
  ISSN =         "0925-9856",
  ISSN-L =       "0925-9856",
  bibdate =      "Mon Apr 5 09:19:58 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Formal Methods in System Design",
  pagecount =    "27",
}

@Article{Hayden:2004:INW,
  author =       "T. W. Hayden and E. C. Loomis",
  title =        "Integrating New {Web\slash Java} Technologies: Results
                 from {KnowledgeKinetics Version 4.0 Research and
                 Development}",
  journal =      j-SIM-SERIES,
  volume =       "36",
  number =       "1",
  publisher =    "Society for Computer Simulation",
  pages =        "56--61",
  year =         "2004",
  CODEN =        "SMCPAX",
  ISSN =         "0735-9276",
  bibdate =      "Mon Jan 10 05:55:45 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Simulation series",
}

@Article{Heidinger:2004:JMS,
  author =       "F. Heidinger and M. Mathes and H. Dohmann",
  title =        "{Java Messaging Service (JMS)---Einsatz in der
                 Industrieautomation}. ({German}) [{Java Messaging
                 Service (JMS)}---Employment in industrial automation]",
  journal =      "Automatisierungstechnische Praxis",
  volume =       "46",
  number =       "5",
  pages =        "61--70",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0178-2320",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Article{Hendrix:2004:EFP,
  author =       "T. Dean Hendrix and James H. {Cross II} and Larry A.
                 Barowski",
  title =        "An extensible framework for providing dynamic data
                 structure visualizations in a lightweight {IDE}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "387--391",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971433",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "A framework for producing dynamic data structure
                 visualizations within the context of a lightweight IDE
                 is described. Multiple synchronized visualizations of a
                 data structure can be created with minimal coding
                 through the use of an external viewer model. The
                 framework supplies a customizable viewer template as
                 well as high-level APIs to a graph drawing library and
                 the Java Debugger Interface. Initial classroom use has
                 demonstrated the framework's ease of use as well as its
                 potential to as an aid to student learning.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hepper:2004:JPS,
  author =       "S. Hepper",
  title =        "The {Java} Portlet Specification. {Die Java Portlet
                 Spezifikation}",
  journal =      "IT",
  volume =       "46",
  number =       "5",
  pages =        "233--244",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1611-2776",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Higuera:2004:MMR,
  author =       "T. Higuera and V. Issarny and M. Banatre and F.
                 Parain",
  title =        "Memory Management for Real-Time {Java}: An Efficient
                 Solution using Hardware Support",
  journal =      j-REAL-TIME-SYST,
  volume =       "26",
  number =       "1",
  pages =        "63--87",
  year =         "2004",
  CODEN =        "RESYE9",
  ISSN =         "0922-6443",
  ISSN-L =       "0922-6443",
  bibdate =      "Mon Jan 5 17:25:38 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Real-Time Systems",
}

@Article{HigueraToledano:2004:SBS,
  author =       "M. T. HigueraToledano",
  title =        "Studying the Behaviour of the Single Parent Rule in
                 Real-Time {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "268--277",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Holliday:2004:JAI,
  author =       "M. A. Holliday",
  title =        "A {Java} Applet for Illustrating {Internet} Error
                 Control",
  journal =      j-MATH-COMP-EDU,
  volume =       "38",
  number =       "3",
  pages =        "326--332",
  year =         "2004",
  CODEN =        "MCEDDA",
  ISSN =         "0730-8639",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Mathematics and computer education",
}

@Article{Holloway:2004:JGI,
  author =       "A. Holloway",
  title =        "{James Gosling}: The inventor of {Java} on
                 programming, luck and his grandmother",
  journal =      "Canadian Business",
  volume =       "77",
  number =       "8",
  pages =        "74--74",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0008-3100",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Holzner:2004:E,
  author =       "Steven Holzner",
  title =        "{Eclipse}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xiv + 317",
  year =         "2004",
  ISBN =         "0-596-00641-1",
  ISBN-13 =      "978-0-596-00641-9",
  LCCN =         "QA76.73.J38 H63 2004",
  bibdate =      "Thu Apr 21 09:26:17 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596006419",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Book{Holzner:2004:EC,
  author =       "Steve Holzner",
  title =        "{Eclipse} Cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "362 (est.)",
  year =         "2004",
  ISBN =         "0-596-00710-8",
  ISBN-13 =      "978-0-596-00710-2",
  LCCN =         "",
  bibdate =      "Sat Jul 17 07:34:58 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.95, CAN\$65.95, UK\pounds 31.95",
  URL =          "http://www.oreilly.com/catalog/eclipseckbk/",
  acknowledgement = ack-nhfb,
}

@Article{Hu:2004:XED,
  author =       "E. Y. S. Hu and A. Wellings and G. Bernat",
  title =        "{XRTJ}: An Extensible Distributed High-Integrity
                 Real-Time {Java} Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2968",
  pages =        "208--228",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Huang:2004:FPL,
  author =       "H. Huang and L. Zhang and Q. Cui and T. Jiang and S.
                 Ma and Y. Gao",
  title =        "Finding Potential Ligands for {PDZ} Domains by
                 {Tailfit}, a {JAVA} Program",
  journal =      "Chinese Medical Sciences Journal",
  volume =       "19",
  number =       "2",
  pages =        "97--104",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1001-9294",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Huang:2004:MIV,
  author =       "S. Huang and R. Baimouratov and P. Xiao and A.
                 Ananthasubramaniam and W. L. Nowinski",
  title =        "A medical imaging and visualization toolkit in {Java}
                 [5367-05]",
  journal =      j-PROC-SPIE,
  volume =       "5367",
  number =       "",
  pages =        "48--58",
  year =         "2004",
  CODEN =        "PSISDG",
  ISSN =         "0277-786X (print), 1996-756X (electronic)",
  ISSN-L =       "0277-786X",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the SPIE --- The International Society
                 for Optical Engineering",
}

@Article{Hubbers:2004:IFV,
  author =       "E. Hubbers and M. Oostdijk and E. Poll",
  title =        "Implementing a {Formally Verifiable Security Protocol}
                 in {Java Card}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2802",
  pages =        "213--226",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Mar 3 07:11:27 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Hubbers:2004:RAC,
  author =       "E. Hubbers and E. Poll",
  title =        "Reasoning about Card Tears and Transactions in {Java
                 Card}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2984",
  number =       "??",
  pages =        "114--128",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Huet:2004:HPJ,
  author =       "Fabrice Huet and Denis Caromel and Henri E. Bal",
  title =        "A High Performance {Java} Middleware with a Real
                 Application",
  crossref =     "ACM:2004:SHP",
  pages =        "2--2",
  year =         "2004",
  bibdate =      "Tue Dec 27 07:57:20 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Hulaas:2004:EJG,
  author =       "J. Hulaas and W. Binder and G. DiMarzoSerugendo",
  title =        "Enhancing {Java Grid} Computing Security with Resource
                 Control",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3270",
  pages =        "30--47",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Hunt:2004:PUT,
  author =       "Andrew Hunt and David Thomas",
  title =        "Pragmatic unit testing: in {Java} with {JUnit}",
  volume =       "2, [pt. 2]",
  publisher =    pub-PRAGMATIC-BOOKSHELF,
  address =      pub-PRAGMATIC-BOOKSHELF:adr,
  pages =        "xv + 159",
  year =         "2004",
  ISBN =         "0-9745140-1-2",
  ISBN-13 =      "978-0-9745140-1-7",
  LCCN =         "QA76.76.T48 H862 2004",
  bibdate =      "Tue Aug 5 18:13:38 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "Pragmatic starter kit series",
  URL =          "http://www.oreilly.com/catalog/9780974514017",
  acknowledgement = ack-nhfb,
  remark =       "The Pragmatic Programmers.",
  subject =      "Computer programs; Testing; Computer programming; Java
                 (Computer program language)",
  tableofcontents = "Introduction \\
                 Your first unit tests \\
                 Writing tests in JUnit \\
                 What to test : the right-BICEP \\
                 CORRECT boundary conditions \\
                 Using mock objects \\
                 Properties of good tests \\
                 Testing on a project \\
                 Design issues",
}

@Article{Ishii:2004:SJS,
  author =       "Y. Ishii and T. Ito",
  title =        "A secure {Java} System with Confined Types and its
                 Application",
  journal =      "Record of Electrical and Communication Engineering
                 Conversazione Tohoku University",
  volume =       "72",
  number =       "2",
  pages =        "132--133",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0385-7719",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{IssiCamy:2004:WPD,
  author =       "L{\'a}zaro {Issi Camy} and Joseph {Issi Cohen}",
  title =        "The {Web} programmer's desk reference: a complete
                 cross-reference to {HTML}, {CSS}, and {JavaScript}",
  publisher =    pub-NO-STARCH,
  address =      pub-NO-STARCH:adr,
  pages =        "xxxiii + 1068",
  year =         "2004",
  ISBN =         "1-59327-011-9",
  ISBN-13 =      "978-1-59327-011-7",
  LCCN =         "TK5105.888 .I572 2004eb",
  bibdate =      "Tue Aug 5 18:17:39 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9781593270117",
  acknowledgement = ack-nhfb,
  subject =      "Web sites; Design; Internet programming; HTML
                 (Document markup language)",
  xxpages =      "xxxiii + 1085",
}

@Article{Itani:2004:JAL,
  author =       "W. Itani and A. Kayssi",
  title =        "{J2ME} application-layer end-to-end security for
                 m-commerce",
  journal =      j-J-NETW-COMPUT-APPL,
  volume =       "27",
  number =       "1",
  pages =        "13--32",
  month =        jan,
  year =         "2004",
  CODEN =        "JNCAF3",
  ISSN =         "1084-8045 (print), 1095-8592 (electronic)",
  ISSN-L =       "1084-8045",
  bibdate =      "Tue Jan 27 06:08:07 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Network and Computer Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/10848045",
  pagecount =    "20",
}

@Article{Jacobs:2004:JPV,
  author =       "B. Jacobs and E. Poll",
  title =        "{Java} Program Verification at {Nijmegen}:
                 Developments and Perspective",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3233",
  pages =        "134--153",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jacobs:2004:STS,
  author =       "P. H. M. Jacobs and A. Verbraeck",
  title =        "Single-Threaded Specification of Process-Interaction
                 Formalism in {Java}",
  journal =      "Winter Simulation Conference",
  volume =       "2",
  pages =        "1548--1555",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0743-1902 (print), 2160-9276 (electronic)",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Jacobs:2004:WPC,
  author =       "B. Jacobs",
  title =        "Weakest pre-condition reasoning for {Java} programs
                 with {JML} annotations",
  journal =      j-J-LOGIC-ALG-PROG,
  volume =       "58",
  number =       "1--2",
  pages =        "61--88",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1567-8326",
  ISSN-L =       "1567-8326",
  bibdate =      "Tue Jan 27 06:08:07 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Logic and Algebraic Programming",
}

@Article{Jacobson:2004:ITE,
  author =       "N. Jacobson and A. Thornton",
  title =        "It is Time to Emphasize {ArrayLists} over {Arrays} in
                 {Java}-based First Programming Courses",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "4",
  pages =        "88--92",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Jeong:2004:JBS,
  author =       "J. Jeong and D. Shin and D. Shin and K. Moon",
  title =        "{Java}-Based Single Sign-On Library Supporting {SAML
                 (Security Assertion Markup Language)} for Distributed
                 {Web} Services",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3007",
  pages =        "891--894",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jiahai:2004:TWO,
  author =       "Yang Jiahai and Duan Haixin and Wu Jianping and Li
                 Xing",
  title =        "Thresholds: Workflow Oriented Network Management: a
                 {Web\slash Java} Approach",
  journal =      "Journal of Network and Systems Management",
  volume =       "12",
  number =       "4",
  pages =        "431--439",
  month =        dec,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1064-7570",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "9",
}

@Article{Jian:2004:DJJ,
  author =       "L. Jian",
  title =        "Distributed {Java} Just-in-Time compiler for embedded
                 system",
  journal =      "Cognitive Science Research Paper- University of Sussex
                 Csrp",
  volume =       "571",
  pages =        "30--31",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1350-3162",
  bibdate =      "Sat Dec 18 11:38:55 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Jipping:2004:IWW,
  author =       "M. J. Jipping and A. Kalafut and N. Kooistra and K.
                 Ludewig",
  title =        "Investigating Wired and Wireless Networks Using a
                 {Java}-based Programmable Sniffer",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "12--16",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Jo:2004:CCF,
  author =       "J. W. Jo and B. M. Chang",
  title =        "Constructing Control Flow Graph for {Java} by
                 Decoupling Exception Flow from Normal Flow",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3043",
  pages =        "106--113",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jo:2004:UEA,
  author =       "Jang-Wu Jo and Byeong-Mo Chang and Kwangkeun Yi and
                 Kwang-Moo Choe",
  title =        "An uncaught exception analysis for {Java}",
  journal =      j-J-SYST-SOFTW,
  volume =       "72",
  number =       "1",
  pages =        "59--69",
  month =        jun,
  year =         "2004",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Wed May 18 10:27:24 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@InProceedings{Jordan:2004:EJT,
  author =       "Mick Jordan and Grzegorz Czajkowski and Kirill
                 Kouklinski and Glenn Skinner",
  title =        "Extending a {J2EE} Server with Dynamic and Flexible
                 Resource Management",
  crossref =     "Jacobsen:2004:MAI",
  pages =        "439--??",
  year =         "2004",
  bibdate =      "Mon Jun 06 06:28:13 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Juric:2004:JRR,
  author =       "Matjaz B. Juric and Bostjan Kezmah and Marjan Hericko
                 and Ivan Rozman and Ivan Vezocnik",
  title =        "{Java RMI}, {RMI} tunneling and {Web} services
                 comparison and performance analysis",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "5",
  pages =        "58--65",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Kaczmarek:2004:SEE,
  author =       "J. Kaczmarek and M. Kucharski",
  title =        "Size and effort estimation for applications written in
                 {Java}",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "46",
  number =       "9",
  pages =        "589--601",
  year =         "2004",
  CODEN =        "ISOTE7",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
}

@Article{Kaiya:2004:MDF,
  author =       "H. Kaiya and K. Sasaki and K. Kaijiri",
  title =        "A Method to Develop Feasible Requirements for {Java}
                 Mobile Code Application",
  journal =      "IEICE Transactions on Information and Systems E Series
                 d",
  volume =       "87",
  number =       "4",
  pages =        "811--821",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0916-8532",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Kalinovsky:2004:CJT,
  author =       "Alex Kalinovsky",
  title =        "Covert {Java}: Techniques for Decompiling, Patching,
                 and Reverse Engineering",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "x + 268",
  year =         "2004",
  ISBN =         "0-672-32638-8",
  ISBN-13 =      "978-0-672-32638-7",
  LCCN =         "QA76.73.J38 K35 2004",
  bibdate =      "Sat Jul 03 14:44:33 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$29.99",
  acknowledgement = ack-nhfb,
}

@Article{Kamina:2004:MDI,
  author =       "T. Kamina and T. Tamai",
  title =        "{McJava} --- {A} Design and Implementation of {Java}
                 with Mixin-Types",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3302",
  pages =        "398--414",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Keen:2004:JFD,
  author =       "A. W. Keen and T. Ge and J. T. Maris and R. A.
                 Olsson",
  title =        "{JR}: Flexible Distributed Programming in an Extended
                 {Java}",
  journal =      j-TOPLAS,
  volume =       "26",
  number =       "3",
  pages =        "578--608",
  year =         "2004",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Keschenau:2004:REU,
  author =       "Martin Keschenau",
  title =        "Reverse engineering of {UML} specifications from
                 {Java} programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "326--327",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Khondkar:2004:AAI,
  author =       "P. Khondkar and M. A. Fukase and C. D. Lima and T.
                 Nakamura",
  title =        "An Architecture to Allow Intrinsic Concurrency on
                 {Java} Processors for Embedded Systems",
  journal =      "Information",
  volume =       "7",
  number =       "3",
  pages =        "351--366",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1343-4500",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Khondkar:2004:EEB,
  author =       "P. Khondkar and M. A. Fukase and T. Nakamura",
  title =        "Enhancing Execution Bandwidth of {Java}-Embedded
                 Processor",
  journal =      "Information",
  volume =       "7",
  number =       "2",
  pages =        "215--226",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1343-4500",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Khurshid:2004:CJI,
  author =       "S. Khurshid and D. Marinov",
  title =        "Checking {Java} Implementation of a Naming
                 Architecture Using {Testera}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "55",
  number =       "3",
  pages =        "1--21",
  month =        jan,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Feb 9 12:01:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
  pagecount =    "21",
}

@Article{Khurshid:2004:TSB,
  author =       "S. Khurshid and D. Marinov",
  title =        "{TestEra} Specification-Based Testing of {Java}
                 Programs Using {SAT}",
  journal =      "Automated Software Engineering",
  volume =       "11",
  number =       "4",
  pages =        "403--434",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0928-8910",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kiczales:2004:CLG,
  author =       "G. Kiczales",
  title =        "Crosscut: a Little Goes a Long Way: Attributes in
                 {C\#} and annotations in {Java} provide a hook for
                 principled macros and metaprogramming in the {C}
                 family. {Lisp} has had this technology for years,
                 offering many lessons",
  journal =      "Software Development",
  volume =       "12",
  number =       "5",
  pages =        "52--53",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2004:EEJ,
  author =       "S. Kim and S. Tomar and N. Vijaykrishnan and M.
                 Kandemir and M. J. Irwin",
  title =        "Energy-efficient {Java} execution using local memory
                 and object co-location",
  journal =      j-IEE-PROC-COMPUT-DIGIT-TECH,
  volume =       "151",
  number =       "1",
  pages =        "33--42",
  year =         "2004",
  CODEN =        "ICDTEA",
  ISSN =         "1350-2387 (print), 1359-7027 (electronic)",
  ISSN-L =       "1350-2387",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEE Proceedings. Computers and Digital Techniques",
}

@Article{Kim:2004:JMRa,
  author =       "M. Kim and S. Kannan and I. Lee and O. Sokolsky and M.
                 Viswanathan",
  title =        "{Java-MaC} --- {A} Run-time Assurance Tool for {Java}
                 Programs",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "55",
  number =       "2",
  pages =        "1--18",
  month =        jan,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Feb 9 12:01:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
  pagecount =    "18",
}

@Article{Kim:2004:JMRb,
  author =       "M. Kim and M. Viswanathan and S. Kannan and I. Lee and
                 O. Sokolsky",
  title =        "{Java-MaC}: a Run-Time Assurance Approach for {Java}
                 Programs",
  journal =      j-FORM-METHODS-SYST-DES,
  volume =       "24",
  number =       "2",
  pages =        "129--155",
  month =        mar,
  year =         "2004",
  CODEN =        "FMSDE6",
  ISSN =         "0925-9856",
  ISSN-L =       "0925-9856",
  bibdate =      "Mon Apr 5 09:19:58 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  note =         "Special Issue on Selected Papers from the First
                 International Workshop on Runtime Verification Held in
                 Paris, July 2001 (RV01).",
  acknowledgement = ack-nhfb,
  fjournal =     "Formal Methods in System Design",
  pagecount =    "27",
}

@Article{Kim:2004:VJJ,
  author =       "S. Kim and S. M. Moon and K. Ebcioglu and E. Altman",
  title =        "{VLaTTe}: a {Java} Just-in-Time Compiler for {VLIW}
                 with Fast Scheduling and Register Allocation",
  journal =      "IEICE Transactions on Information and Systems E Series
                 D",
  volume =       "87",
  number =       "7",
  pages =        "1712--1720",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0916-8532",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kirkegaard:2004:SAX,
  author =       "C. Kirkegaard and A. Moller and M. I. Schwartzbach",
  title =        "Static Analysis of {XML} Transformations in {Java}",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "30",
  number =       "3",
  pages =        "181--192",
  month =        mar,
  year =         "2004",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2004.1271173",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1271173",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Ko:2004:TCG,
  author =       "K. M. Ko and S. G. Kim",
  title =        "Target Code Generation Using the Code Expansion
                 Technique for {Java} Bytecode",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3320",
  pages =        "752--755",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kodaganallur:2004:ILP,
  author =       "Viswanathan Kodaganallur",
  title =        "Incorporating Language Processing into {Java}
                 Applications: a {JavaCC} Tutorial",
  journal =      j-IEEE-SOFTWARE,
  volume =       "21",
  number =       "4",
  pages =        "70--77",
  month =        jul # "\slash " # aug,
  year =         "2004",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2004.16",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Thu Nov 10 09:16:24 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/so/2004/04/s4070s.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Koga:2004:CAT,
  author =       "M. Koga",
  title =        "Computer Aided Total Development of Control System ---
                 Control System Design in {Java}",
  journal =      j-SYST-CONTROL-INFO,
  volume =       "48",
  number =       "4",
  pages =        "138--143",
  year =         "2004",
  CODEN =        "SYCNA9",
  ISSN =         "0916-1600",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Systems, Control and Information = Shisutemu Seigyo
                 Joho Gakkai shi",
}

@Article{Kolling:2004:EAB,
  author =       "M. Kolling and D. J. Barnes",
  title =        "Enhancing Apprentice-Based Learning of {Java}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "286--290",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Mon Apr 19 11:57:57 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kong:2004:IDI,
  author =       "J. Kong",
  title =        "The implementation of {Dicom} interface software using
                 {Java}",
  journal =      "Chinese Journal of Biomedical Engineering",
  volume =       "23",
  number =       "1",
  pages =        "10--14",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0258-8021",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kortenkamp:2004:GTW,
  author =       "U. Kortenkamp and D. Materlik",
  title =        "Geometry teaching in wireless classroom environments
                 using {Java} and {J2ME}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "71--85",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Kosa:2004:TVC,
  author =       "Martha J. Kosa and Mark A. Boshart",
  title =        "Treemap visualizations for {CS2}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "259--259",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008092",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Computer science instructors periodically need to
                 update their classroom examples and programming
                 assignments in order to reflect changes in current
                 practice in the field and to discourage copying by
                 students. As experienced CS2 instructors, we regularly
                 face this challenge. The topics in our CS2 course are
                 standard and include recursion, lists, stacks, queues,
                 and trees (including B-trees as well as standard binary
                 search trees and AVL trees). Our students use Java
                 (including GUIs). We have experimented with having
                 students use and write programs to visualize various
                 data structures. The students have written programs to
                 visualize search trees using the traditional approach
                 in which ovals represent nodes and lines represent
                 links. They have also written programs to visualize
                 search trees via a Web browser [2]. We propose an
                 alternate visualization technique based on treemaps. We
                 believe that treemaps are a rich source for classroom
                 examples and assignments for CS2 instructors. Trees are
                 useful for storing hierarchical data, and they are
                 naturally recursive. A tree is either empty, or it has
                 a root node with subtrees. A root is connected to its
                 subtrees by links or branches. We had an idea to draw a
                 tree in a square, which would be split into multiple
                 rectangles, one for each node in the tree. As we moved
                 down a level in the tree, we toggled the direction of
                 the split in the rectangles from vertical to horizontal
                 or vice versa. The root node's size in the current
                 rectangle corresponded to its relative weight in the
                 current subtree. The structure of the tree could be
                 inferred by the relationships among the rectangles and
                 their relative widths and heights. We drew several of
                 these embeddings by hand and noted that the patterns
                 resembled art by the Dutch abstract artist Piet
                 Mondrian [6]. We then implemented this visualization
                 using the Java Power Tools [4] library and noted that
                 this visualization can be enriched with colors and
                 graphical patterns, as in the Kaleidoscope example [3].
                 Our idea is an active research area in computer
                 graphics [7]. However, it still appears to be a novel
                 teaching idea for CS2. Ben Shneiderman [5] was the
                 first to study two-dimensional space-filling
                 representations of trees; he called them ``treemaps''.
                 His motivating problem was to visualize directories in
                 order to determine disk utilization. His algorithm was
                 similar to our algorithm. XML documents can also be
                 visualized using his algorithm and others [1]. Our goal
                 is to synthesize this treemap visualization literature
                 [1, 5] into classroom materials for CS2 instructors.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kouh:2004:DJP,
  author =       "H. J. Kouh and K. T. Kim and S. M. Jo and W. H. Yoo",
  title =        "Debugging of {Java} Programs Using {HDT} with Program
                 Slicing",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3046",
  pages =        "524--533",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Kozlenkov:2004:PRB,
  author =       "A. Kozlenkov and M. Schroeder",
  title =        "{PROVA}: Rule-Based {Java}-Scripting for a
                 {Bioinformatics Semantic Web}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2994",
  pages =        "17--30",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Krishna:2004:ERT,
  author =       "A. Krishna and D. Schmidt and R. Klefstad",
  title =        "Enhancing {Real-Time CORBA} via {Real-Time Java}
                 Features",
  journal =      "International Conference on Distributed Computing
                 Systems",
  volume =       "24",
  number =       "??",
  pages =        "66--73",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1063-6927",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kulkarni:2004:VJS,
  author =       "P. Kulkarni and A. Kembhavi and S. Kale",
  title =        "{VOTable JAVA} Streaming Writer and Applications",
  journal =      "Astronomical Society of the Pacific Conference
                 Series",
  volume =       "314",
  number =       "",
  pages =        "346--349",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1050-3390",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2004:WBT,
  author =       "A. Kumar",
  title =        "{Web}-Based Tutors for Learning Programming in
                 {C++\slash Java}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "266",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kurniawan:2004:CSW,
  author =       "B. Kurniawan and J. Xue",
  title =        "A Comparative Study of {Web} Application Design Models
                 Using the {Java} Technologies",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3007",
  pages =        "711--721",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Kurniawan:2004:JFP,
  author =       "Budi Kurniawan",
  title =        "{JavaServer Faces} programming",
  publisher =    "McGraw-Hill/Osborne",
  address =      "New York, NY, USA",
  pages =        "xxii + 503",
  year =         "2004",
  ISBN =         "0-07-222983-7",
  ISBN-13 =      "978-0-07-222983-7",
  LCCN =         "TK5105.8885.J38 K87 2004",
  bibdate =      "Wed Nov 15 10:37:03 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/description/mh051/2004303988.html;
                 http://www.loc.gov/catdir/toc/mh051/2004303988.html",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Web sites; Design; Web site
                 development",
}

@Article{Langr:2004:TCS,
  author =       "J. Langr",
  title =        "Tech Center: Sweet and Simple {Java 1.5}'s new
                 features-including enhanced for loops, autoboxing,
                 variable arguments, typesafe enum, static import and
                 metadata-make coding easier and more enjoyable to
                 write. {Part} 3 of 3",
  journal =      "Software Development",
  volume =       "12",
  number =       "5",
  pages =        "48--51",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Lau:2004:NLJ,
  author =       "H. T. (Hang Tong) Lau",
  title =        "A numerical library in {Java} for scientists and
                 engineers",
  publisher =    pub-CHAPMAN-HALL-CRC,
  address =      pub-CHAPMAN-HALL-CRC:adr,
  pages =        "xxiii + 1063",
  year =         "2004",
  ISBN =         "1-58488-430-4",
  ISBN-13 =      "978-1-58488-430-9",
  LCCN =         "QA76.73.J38 L363 2004",
  bibdate =      "Fri Sep 26 14:28:47 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0646/2003055149-d.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Lee:2004:EJE,
  author =       "SeungIl Lee and Byung-Sun Yang and Soo-Mook Moon",
  title =        "Efficient {Java} exception handling in just-in-time
                 compilation",
  journal =      j-SPE,
  volume =       "34",
  number =       "15",
  pages =        "1463--1480",
  month =        dec,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.622",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:35 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "18 Oct 2004",
}

@Article{Lee:2004:HJP,
  author =       "H. K. Lee and B. Carpenter and G. Fox and S. B. Lim",
  title =        "{HP Java}: programming support for high-performance
                 {Grid}-enabled applications",
  journal =      j-PARALLEL-ALGORITHMS-APPL,
  volume =       "19",
  number =       "2/3",
  pages =        "175--193",
  year =         "2004",
  CODEN =        "PAAPEC",
  ISSN =         "1063-7192",
  ISSN-L =       "1026-7689",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Parallel Algorithms and Applications",
  journal-URL =  "http://www.tandfonline.com/loi/gpaa20",
}

@Article{Lee:2004:JBN,
  author =       "Y. Lee and S. Na",
  title =        "{Java} Bytecode-to-{.NET} {MSIL} Translator for
                 Construction of Platform Independent Information
                 Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3215",
  pages =        "826--832",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Lee:2004:OPD,
  author =       "H. J. (Hyun Jin) Lee and W. E. Schiesser",
  title =        "Ordinary and partial differential equation routines in
                 {C}, {C++}, {Fortran}, {Java$^\reg $}, {Maple$^\reg $},
                 and {{MATLAB$^\reg $}}",
  publisher =    pub-CHAPMAN-HALL-CRC,
  address =      pub-CHAPMAN-HALL-CRC:adr,
  pages =        "xiii + 519",
  year =         "2004",
  ISBN =         "1-58488-423-1",
  ISBN-13 =      "978-1-58488-423-1",
  LCCN =         "QA371.5.D37 L44 2004",
  MRclass =      "34-04 (35-04 65-04)",
  MRnumber =     "MR2027726 (2004j:34001)",
  bibdate =      "Tue Mar 30 16:16:28 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fortran3.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/maple-extract.bib;
                 http://www.math.utah.edu/pub/tex/bib/matlab.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  keywords =     "C; C++; Fortran; Maple; Matlab",
  subject =      "Differential equations; Data processing; Differential
                 equations, Partial; Data processing",
}

@InProceedings{Leff:2004:AES,
  author =       "Avraham Leff and James T. Rayfield",
  title =        "Alternative Edge-Server Architectures for {Enterprise
                 JavaBeans} Applications",
  crossref =     "Jacobsen:2004:MAI",
  pages =        "195--??",
  year =         "2004",
  bibdate =      "Mon Jun 06 06:28:13 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Lhotak:2004:JBB,
  author =       "Ond{\v{r}}ej Lhot{\'a}k and Laurie Hendren",
  title =        "{Jedd}: a {BDD}-based relational extension of {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "158--169",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Li:2004:ACF,
  author =       "Peng Li and Steve Zdancewic",
  title =        "Advanced control flow in {Java} card programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "165--174",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Li:2004:DID,
  author =       "C. Li",
  title =        "Design and implementation of database connection ---
                 pool based on {Java}",
  journal =      "Journal- Anhui University of Technology",
  volume =       "21",
  number =       "1",
  pages =        "53--56",
  year =         "2004",
  CODEN =        "????",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Li:2004:FRT,
  author =       "S. Q. Li and H. Y. Chen and Y. X. Su",
  title =        "A Framework of Reachability Testing for {Java}
                 Multithread Programs",
  journal =      "IEEE International Conference on Systems Man and
                 Cybernetics",
  volume =       "3",
  pages =        "2730--2734",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1062-922X",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Li:2004:MSJ,
  author =       "B. X. Li and X. C. Fan and J. Pang",
  title =        "A Model for Slicing {JAVA} Programs Hierarchically",
  journal =      j-J-COMP-SCI-TECH,
  volume =       "19",
  number =       "6",
  pages =        "848--858",
  year =         "2004",
  CODEN =        "JCTEEM",
  ISSN =         "1000-9000",
  ISSN-L =       "1000-9000",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of computer science and technology",
}

@Article{Li:2004:WAS,
  author =       "H. Li and J. Cai and R. Zhu",
  title =        "Wireless applications service platform based on {XML}
                 and {Java}",
  journal =      "Journal- Zhejiang University of Technology",
  volume =       "32",
  number =       "2",
  pages =        "182--185",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1006-4303",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@InProceedings{Likos:2004:JBCa,
  author =       "Johannis Likos",
  title =        "{$ \mu o \nu o 2 \pi o \lambda \upsilon $}:
                 {Java}-Based Conversion of Monotonic to Polytonic
                 {Greek}",
  crossref =     "Syropoulos:2004:TXD",
  pages =        "34--54",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Nov 16 17:43:44 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Likos:2004:PMJb,
  author =       "Johannis Likos",
  title =        "\pkg{monopoly}: {Java}-based conversion of monotonic
                 to polytonic {Greek}",
  journal =      j-TUGboat,
  volume =       "25",
  number =       "0",
  pages =        "111--111",
  month =        aug,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0896-3207",
  ISSN-L =       "0896-3207",
  bibdate =      "Mon Aug 10 16:57:56 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/tugboat.bib",
  URL =          "https://tug.org/TUGboat/tb25-0/likos.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
  issue =        "79",
  journal-URL =  "https://tug.org/TUGboat/",
}

@Article{Lim:2004:IAW,
  author =       "B. Lim and S. R. Ajjarapu and K. Thummala",
  title =        "Interfacing with {Amazon Web} Services Using {Java}
                 and {.NET}: a Comparative Study",
  journal =      "Journal of Internet Commerce",
  volume =       "3",
  number =       "4",
  pages =        "19--42",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1533-2861",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Lin:2004:OJB,
  author =       "L. Lin and L. Huang and Y. Sun",
  title =        "Optimizing {Java} Based {Web} Services by Partial
                 Evaluation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3032",
  pages =        "1071--1074",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lindquist:2004:JCS,
  author =       "T. Lindquist and M. Diarra and B. Millard",
  title =        "A {Java} Cryptography Service Provider Implementing
                 One-Time Pad ({INIDP04})",
  journal =      "Proceedings of the Annual Hawaii International
                 Conference on System Sciences",
  volume =       "CONF37",
  pages =        "189",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1060-3425",
  bibdate =      "Mon Feb 23 16:27:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2004:AJI,
  author =       "H. Liu and Q. Peng and J. Shen and C. Yan",
  title =        "Algorithms and {Java} Implementation of {NASO}
                 Publish-Propagate Replication Scheme",
  journal =      j-MINI-MICRO-SYSTEMS,
  volume =       "25",
  number =       "7",
  pages =        "1307--1312",
  year =         "2004",
  CODEN =        "XWJXEH",
  ISSN =         "1000-1220",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Mini-Micro Systems",
}

@Article{Liu:2004:DFA,
  author =       "C. H. Liu",
  title =        "Data Flow Analysis and Testing of {Java Server
                 Pages}",
  journal =      "Compsac",
  volume =       "CONF28",
  number =       "SUPP",
  pages =        "114--119",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0730-3157",
  bibdate =      "Sat Dec 18 11:38:55 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2004:JBD,
  author =       "Z. Liu and H. Yu and E. P. Lim and M. Yin and D. H.
                 Goh and Y. L. Theng and W. K. Ng",
  title =        "A {Java}-based digital library portal for geography
                 education",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "87--105",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Liu:2004:JPV,
  author =       "H. Liu and J. S. Moore",
  title =        "{Java} Program Verification via a {JVM} Deep Embedding
                 in {ACL2}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3223",
  pages =        "184--200",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Lopez-Herrejon:2004:UIT,
  author =       "Roberto E. Lopez-Herrejon and Morrie Schulman",
  title =        "Using interactive technology in a short {Java} course:
                 an experience report",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "203--207",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008051",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Keeping students alert and responsive during lectures
                 is a challenge even for experienced teachers in small
                 group settings. Research has shown the importance of
                 student participation and involvement in the learning
                 process. Many ideas and strategies have been proposed
                 to promote these two vital education elements [5].
                 Among them is the use of interactive technology where
                 the instructor asks a question to the class and each
                 student answers individually. These answers are tallied
                 and the professor can get immediate, quantitative, and
                 real-time feedback information that can be used to
                 detect and address comprehension problems and to adapt
                 the lecture plan accordingly. In this paper we report
                 our experiences using a wireless interactive system
                 named the Classroom Performance System (CPS) [9] in a
                 fast-paced, short but comprehensive Java programming
                 course. We present the challenges we faced and the
                 lessons we learned in designing and delivering lectures
                 using this type of technology.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{LopezHerrejon:2004:UIT,
  author =       "R. E. {Lopez Herrejon} and M. Schulman",
  title =        "Using Interactive Technology in a Short {Java} Course:
                 An Experience Report",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "203--207",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Lu:2004:DIM,
  author =       "E. J. Lu and Y. Y. Cheng",
  title =        "Design and implementation of a mobile database for
                 {Java} phones",
  journal =      j-COMP-STANDARDS-INTERFACES,
  volume =       "26",
  number =       "5",
  pages =        "401--410",
  year =         "2004",
  CODEN =        "CSTIEZ",
  ISSN =         "0920-5489 (print), 1872-7018 (electronic)",
  ISSN-L =       "0920-5489",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Standards and Interfaces",
}

@Misc{Luke:2004:DMT,
  author =       "Sean Luke",
  title =        "Documentation for the {Mersenne Twister} in {Java}",
  howpublished = "Web site.",
  month =        oct,
  year =         "2004",
  bibdate =      "Wed May 13 15:49:46 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/prng.bib",
  URL =          "http://www.cs.gmu.edu/~sean/research/mersenne",
  acknowledgement = ack-nhfb,
}

@Article{Ma:2004:JTP,
  author =       "H. Ma and C. Zhang",
  title =        "{JAVA} and Threads Programming",
  journal =      "Hebei Journal of Industrial Science and Technology",
  volume =       "21",
  number =       "4",
  pages =        "40--42",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1008-1534",
  bibdate =      "Mon Nov 29 06:56:05 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Mahmoud:2004:PEJ,
  author =       "Q. H. Mahmoud",
  title =        "Practice and experience with {Java} in education",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "53",
  number =       "1",
  pages =        "1--2",
  year =         "2004",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Mahmoud:2004:RIC,
  author =       "Q. H. Mahmoud and W. Dobosiewicz and D. Swayne",
  title =        "Redesigning Introductory Computer Programming with
                 {HTML}, {JavaScript}, and {Java}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "120--124",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Mon Apr 19 11:57:57 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Mahmoud:2004:WJA,
  author =       "Qusay H. Mahmoud",
  title =        "Wireless {Java} Applications Development",
  journal =      j-LOGIN,
  volume =       "29",
  number =       "2",
  pages =        "??--??",
  month =        apr,
  year =         "2004",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:38 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.usenix.org/publications/login/2004-04/index.html",
  URL =          "http://www.usenix.org/publications/login/2004-04/pdfs/Mahmoud.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{Marche:2004:KTC,
  author =       "C. Marche and C. Paulin Mohring and X. Urbain",
  title =        "The {KRAKATOA} tool for certification of {JAVA\slash
                 JAVACARD} programs annotated in {JML}",
  journal =      j-J-LOGIC-ALG-PROG,
  volume =       "58",
  number =       "1--2",
  pages =        "89--106",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1567-8326",
  ISSN-L =       "1567-8326",
  bibdate =      "Tue Jan 27 06:08:07 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Logic and Algebraic Programming",
}

@Article{McGinnis:2004:DLS,
  author =       "L. F. McGinnis",
  title =        "Distributing a Large-Scale, Complex Fab Simulation
                 Using {HLA} and {Java}: Issues and Lessons",
  journal =      "Winter Simulation Conference",
  volume =       "2",
  pages =        "1891--1895",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0743-1902 (print), 2160-9276 (electronic)",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{McLaughlin:2004:JTD,
  author =       "Brett McLaughlin and David Flanagan",
  title =        "{Java 1.5 Tiger}: a developer's notebook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xix + 177",
  year =         "2004",
  ISBN =         "0-596-00738-8",
  ISBN-13 =      "978-0-596-00738-6",
  LCCN =         "QA76.73.J38 M3897 2004",
  bibdate =      "Thu Apr 21 09:27:35 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "The developer's notebook series",
  URL =          "http://www.oreilly.com/catalog/9780596007386",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Merson:2004:MJR,
  author =       "P. Merson",
  title =        "Managing {J2EE} Risks: If you're making the leap to
                 distributed application development with {Java 2
                 Enterprise Edition}, take heart: You're smack in the
                 middle of the bell curve. {Here}'s a handy guide to
                 assessing whether your team has what it takes to
                 succeed with {J2EE}",
  journal =      "Software Development",
  volume =       "12",
  number =       "7",
  pages =        "44--47",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Meunier:2004:MRT,
  author =       "J. N. Meunier and F. Lippert and R. Jadhav and N.
                 Harding",
  title =        "{MDA} and Real-Time Java: The {HIDOORS} Project",
  journal =      "Technical Report --- University of Kent at Canterbury
                 Computing Laboratory",
  volume =       "17",
  pages =        "89--95",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1368-1036",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  xxnote =       "Check: looks like techreport, not journal, but has
                 volume and pages??",
}

@Article{Mlsna:2004:WPM,
  author =       "P. A. Mlsna",
  title =        "Work in progress: Mastery of digital logic skills
                 through practice using {Java} applets",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "CONF34",
  number =       "VOL 1",
  pages =        "T1D-13--T1D14",
  year =         "2004",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Mon May 16 14:02:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Article{Mohapatra:2004:ETD,
  author =       "D. P. Mohapatra and R. Mall and R. Kumar",
  title =        "An Efficient Technique for Dynamic Slicing of
                 Concurrent {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3285",
  pages =        "255--262",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 6 06:44:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Moller:2004:LCO,
  author =       "M. Moller and E. R. Olderog and H. Rasch and H.
                 Wehrheim",
  title =        "Linking {CSP-OZ} with {UML} and {Java}: a Case Study",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2999",
  number =       "??",
  pages =        "267--286",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Monson-Haefel:2004:EJ,
  author =       "Richard Monson-Haefel",
  title =        "{Enterprise JavaBeans}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fourth",
  pages =        "xxi + 763",
  year =         "2004",
  ISBN =         "0-596-00530-X",
  ISBN-13 =      "978-0-596-00530-6",
  LCCN =         "QA76.73.J38 M65 2004",
  bibdate =      "Mon Apr 18 15:07:33 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596005306",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); JavaBeans",
}

@Article{Moodley:2004:CMP,
  author =       "K. Moodley and H. Murrell",
  title =        "A colour-map plugin for the open source, {Java} based,
                 image processing package, {ImageJ}",
  journal =      j-COMP-GEOSCI,
  volume =       "30",
  number =       "6",
  pages =        "609--618",
  year =         "2004",
  CODEN =        "CGEODT, CGOSDN",
  ISSN =         "0098-3004 (print), 1873-7803 (electronic)",
  ISSN-L =       "0098-3004",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Geosciences",
}

@Article{Moreno:2004:PAJ,
  author =       "Andr{\'e}s Moreno and Niko Myller and Mordechai
                 Ben-Ari and Erkki Sutinen",
  title =        "Program animation in {Jeliot 3}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "265--265",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008099",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Jeliot is a family of program animation systems [1].
                 It has been successfully used to improve the teaching
                 of introductory programming by supplying a concrete
                 language in which to explain programming structures and
                 concepts [2]. Jeliot 3 [4] retains the novice-oriented
                 GUI and animation display of the previous version,
                 Jeliot 2000. Both versions automatically visualize the
                 execution of user-written Java programs. Jeliot 3
                 introduces a new kind of design in order to make the
                 system extendable and to add new features [5]. The
                 front-end of system has been replaced by the
                 DynamicJava interpreter, which was instrumented to
                 produce an intermediate code, MCode, describing the
                 program's runtime trace. The MCode trace is then
                 rendered by the graphics back-end. The previous version
                 of Jeliot animated variables, expressions, I/O and
                 static method calls. Jeliot 3 is also capable of
                 animating concepts for object-oriented programming:
                 objects, class inheritance, constructors, method calls,
                 instance fields, and reference semantics of arrays and
                 objects. Jeliot 3 is intended to be a simple tool to be
                 used in different kinds of learning scenarios [3]. It
                 can be used to show and teach the basics of programming
                 during a lecture. The lecturer can explain different
                 concepts and show their corresponding animations with
                 Jeliot. Students may use Jeliot 3 by themselves after
                 the lectures to complete and understand the follow-up
                 assignments related to the concepts learned at the
                 lectures. Jeliot 3 can be used as a tool in interactive
                 laboratory sessions. The visual display of the program
                 can be used to facilitate communications about the
                 errors. It can also support virtual courses, as where
                 Jeliot 3 provides a tool that can assist students when
                 external help is not available. Jeliot 3 is available
                 under the GPL for downloading at
                 http://www.cs.joensuu.fi/jeliot/. We intend to form a
                 community around Jeliot 3, where teachers, students and
                 developers could propose ideas and solutions in order
                 to im- prove Jeliot 3 and the teaching of programming.
                 The forum is available on the website and open for
                 anyone interested. There are also plans for further
                 development, for example, a new tool called JeCo
                 (Jeliot Collaborative) [3] aims to integrate Jeliot 3
                 into a co-authoring environment where students can
                 develop and visualize their programs together.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Mountjoy:2004:WDG,
  author =       "Jon Mountjoy and Avinash Chugh",
  title =        "{WebLogic}: The Definitive Guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvii + 828",
  year =         "2004",
  ISBN =         "0-596-00432-X",
  ISBN-13 =      "978-0-596-00432-3",
  LCCN =         "TK5105.8885.B4 M68 2004",
  bibdate =      "Mon Apr 18 15:06:22 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596004323",
  acknowledgement = ack-nhfb,
  remark =       "``Covers versions 7 and 8.1'' --- cover.
                 ``Development, deployment and maintenance'' ---
                 cover.",
  subject =      "BEA WebLogic server; Web servers; Application
                 software; Development; Client/server computing; Java
                 (Computer program language)",
}

@Article{Nakano:2004:AVF,
  author =       "J. Nakano and M. Y. Huh and Y. Yamamoto and T.
                 Fujiwara and I. Kobayashi",
  title =        "Adding visualization functions of {DAVIS} to {Jasp}:
                 Mixing two {Java}-based statistical systems",
  journal =      j-COMP-STAT,
  volume =       "19",
  number =       "1",
  pages =        "137--146",
  year =         "2004",
  CODEN =        "CSTAEB",
  ISSN =         "0943-4062",
  ISSN-L =       "0943-4062",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computational Statistics",
}

@Book{Nash:2004:EGJ,
  author =       "Michael P. Nash",
  title =        "Explorer's Guide to {Java} Open Source Tools",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "300 (est.)",
  year =         "2004",
  ISBN =         "1-932394-19-2",
  ISBN-13 =      "978-1-932394-19-1",
  LCCN =         "",
  bibdate =      "Tue Aug 10 14:44:51 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95",
  URL =          "http://www.manning.com/catalog/view.php?book=nash",
  acknowledgement = ack-nhfb,
}

@Article{Naumovich:2004:SAR,
  author =       "Gleb Naumovich and Paolina Centonze",
  title =        "Static analysis of role-based access control in {J2EE}
                 applications",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "5",
  pages =        "1--10",
  month =        sep,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1022494.1022530",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:37 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "This work describes a new technique for analysis of
                 Java 2, Enterprise Edition (J2EE) applications. In such
                 applications, Enterprise Java Beans (EJBs) are commonly
                 used to encapsulate the core computations performed on
                 Web servers. Access to EJBs is protected by application
                 servers, according to role-based access control
                 policies that may be created either at development or
                 deployment time. These policies may prohibit some types
                 of users from accessing specific EJB methods. We
                 present a static technique for analyzing J2EE access
                 control policies with respect to security-sensitive
                 fields of EJBs and other server-side objects. Our
                 technique uses points-to analysis to determine which
                 object fields are accessed by which EJB methods,
                 directly or indirectly. Based on this information, J2EE
                 access control policies are analyzed to identify
                 potential inconsistencies that may lead to security
                 holes.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Nelson:2004:ESC,
  author =       "G. Nelson",
  title =        "Extended Static Checking for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3125",
  pages =        "1",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Nepomuceno-Chamorro:2004:JSM,
  author =       "I. A. Nepomuceno-Chamorro",
  title =        "A {Java} Simulator for Membrane Computing",
  journal =      j-J-UCS,
  volume =       "10",
  number =       "5",
  pages =        "620--??",
  day =          "28",
  month =        may,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Wed Jul 6 08:14:45 MDT 2005",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_10_5/a_java_simulator_for",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
}

@Article{Newman:2004:EJC,
  author =       "D. J. Newman",
  title =        "Embedded {Java} Controllers",
  journal =      "Circuit Cellar",
  volume =       "166",
  pages =        "16--21",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1528-0608",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Nilsson:2004:IJC,
  author =       "A. Nilsson and A. Ive and T. Ekman and G. Hedin",
  title =        "Implementing {Java} Compilers Using {ReRAGs}",
  journal =      j-NORDIC-J-COMPUT,
  volume =       "11",
  number =       "3",
  pages =        "213--234",
  year =         "2004",
  CODEN =        "NJCOFR",
  ISSN =         "1236-6064",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Nordic Journal of Computing",
}

@Article{Nimmer:2004:SVD,
  author =       "J. W. Nimmer and M. D. Ernst",
  title =        "Static verification of dynamically detected program
                 invariants --- Integrating {Daikon} and {ESC\slash
                 Java}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "55",
  number =       "2",
  pages =        "1--22",
  month =        jan,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Mon Feb 9 12:01:30 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
  pagecount =    "22",
}

@Book{Nolan:2004:DJ,
  author =       "Godfrey Nolan",
  title =        "Decompiling {Java}",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xiii + 264",
  year =         "2004",
  ISBN =         "1-59059-265-4",
  ISBN-13 =      "978-1-59059-265-6",
  LCCN =         "QA76.73.J38 N65 2004",
  bibdate =      "Mon May 16 07:20:56 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Book{Oaks:2004:JT,
  author =       "Scott Oaks and Henry Wong",
  title =        "{Java} threads",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xvi + 340",
  year =         "2004",
  ISBN =         "0-596-00782-5",
  ISBN-13 =      "978-0-596-00782-9",
  LCCN =         "QA76.73.J38 O25 2004; QA76.73.J38 O25 2004eb;
                 QA76.73.J38",
  bibdate =      "Tue Aug 5 17:44:17 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596007829",
  acknowledgement = ack-nhfb,
  remark =       "Covers J2SE 5.0. Previous edition 1999.",
  subject =      "Java (Computer program language); Threads (Computer
                 programs)",
}

@Article{Offutt:2004:EMS,
  author =       "Jeff Offutt and Yu-Seung Ma and Yong-Rae Kwon",
  title =        "An experimental mutation system for {Java}",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "5",
  pages =        "1--4",
  month =        sep,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1022494.1022537",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:37 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Mutation is a powerful but complicated and
                 computationally expensive testing method. Mutation is
                 also a valuable experimental research technique that
                 has been used in many studies. Mutation has been
                 experimentally compared with other test criteria, and
                 also used to support experimental comparisons of other
                 test criteria, by using mutants as a method to create
                 faults. In effect, mutation is often used as a ``gold
                 standard'' for experimental evaluations of test
                 methods. This paper presents a publicly available
                 mutation system for Java that supports both traditional
                 statement-level mutants and newer inter-class mutants.
                 MUJAVA can be freely downloaded and installed with
                 relative ease under both Unix and Windows. MUJAVA is
                 offered as a free service to the community and we hope
                 that it will promote the use of mutation analysis for
                 experimental research in software testing.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Ogasawara:2004:OPO,
  author =       "Takeshi Ogasawara and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Optimizing precision overhead for x86 processors",
  journal =      j-SPE,
  volume =       "34",
  number =       "9",
  pages =        "875--893",
  day =          "25",
  month =        jul,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.596",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:31 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  abstract =     "It is a major challenge for a Java JIT compiler to
                 perform single-precision floating-point operations
                 efficiently for the x86 processors. In previous
                 research, the double-precision mode is set as the
                 default precision mode when methods are invoked.
                 Sophisticated approaches then use heuristic approaches
                 to optimization by considering the trade-offs between
                 roundings and mode switches. However, this convention
                 introduces redundant mode switches across method
                 boundaries. Furthermore, methods that include both
                 single- and double-precision operations cannot switch
                 the mode, even if single-precision operations are
                 dominant. We propose a new approach to these problems.
                 We eliminate redundant mode switches by ignoring the
                 default precision mode and calling a method in the same
                 precision mode as the caller. For methods that include
                 both single- and double-precision methods, we reduce
                 the overhead of rounding by isolating code segments of
                 a given method that should be executed in the
                 single-precision mode. We implemented our approach in
                 IBM's Just-in-Time compiler, and obtained experimental
                 results demonstrating that, in SPECjvm98, it
                 consistently shows the best performance in any
                 configuration of benchmark programs, inline policies,
                 and processor architectures compared with previous
                 research approaches.",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "floating-point operations; Java; precision control;
                 x86 processors",
  onlinedate =   "27 Apr 2004",
}

@Article{Olsson:2004:JPL,
  author =       "R. A. Olsson and A. W. Keen",
  title =        "The {JR} Programming Language: Concurrent Programming
                 in an Extended {Java}",
  journal =      "Kluwer International Series in Engineering and
                 Computer Science",
  volume =       "774",
  pages =        "??--??",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0893-3405",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Onodera:2004:LRJ,
  author =       "T. Onodera and K. Kawachiya and A. Koseki",
  title =        "Lock Reservation for {Java} Reconsidered",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3086",
  pages =        "560--584",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Orso:2004:SRT,
  author =       "Alessandro Orso and Nanjuan Shi and Mary Jean
                 Harrold",
  title =        "Scaling regression testing to large software systems",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "6",
  pages =        "241--251",
  month =        nov,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1041685.1029928",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:41 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "When software is modified, during development and
                 maintenance, it is ``regression tested'' to provide
                 confidence that the changes did not introduce
                 unexpected errors and that new features behave as
                 expected. One important problem in regression testing
                 is how to select a subset of test cases, from the test
                 suite used for the original version of the software,
                 when testing a modified version of the software.
                 Regression-test-selection techniques address this
                 problem. Safe regression-test-selection techniques
                 select every test case in the test suite that may
                 behave differently in the original and modified
                 versions of the software. Among existing safe
                 regression testing techniques, efficient techniques are
                 often too imprecise and achieve little savings in
                 testing effort, whereas precise techniques are too
                 expensive when used on large systems. This paper
                 presents a new regression-test-selection technique for
                 Java programs that is safe, precise, and yet scales to
                 large systems. It also presents a tool that implements
                 the technique and studies performed on a set of
                 subjects ranging from 70 to over 500 KLOC. The studies
                 show that our technique can efficiently reduce the
                 regression testing effort and, thus, achieve
                 considerable savings.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@TechReport{Owen:2004:JJE,
  author =       "T. Owen and I. Wakeman and J. Rathke",
  title =        "{JPolicy}: a {Java} Extension For Dynamic Access
                 Control",
  type =         "Technical report",
  institution =  "University of Sussex Computer Science Department",
  year =         "2004",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Panda:2004:WDA,
  author =       "D. Panda",
  title =        "What the database administrator needs to know about
                 {Java}",
  journal =      "Elektron: Journal of the South African Institute of
                 Electrical Engineers",
  volume =       "21",
  number =       "7",
  pages =        "74--77",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1026-9193",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Pardi:2004:PCD,
  author =       "W. {Pardi Jr.}",
  title =        "Programming Concurrent and Distributed Algorithms In
                 {Java}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "5",
  number =       "11",
  pages =        "5--5",
  month =        nov,
  year =         "2004",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1109/MDSO.2004.32",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Fri Jul 15 17:50:17 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/iel5/8968/30052/01377092.pdf?isnumber=30052&prod=JNL&arnumber=1377092&arSt=+5&ared=+5&arAuthor=+Pardi%2C+W.%2C+Jr.;
                 http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=30052&arnumber=1377092&count=5&index=4",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Parker:2004:PAC,
  author =       "D. Parker and D. Cleary",
  title =        "A {P2P} Approach to {ClassLoading} in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2872",
  pages =        "144--149",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Parlante:2004:GJ,
  author =       "Nick Parlante",
  title =        "Graphics and {Java}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "2",
  pages =        "26--27",
  month =        jun,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1024338.1024364",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse36.html#Parlante04;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2004.bib",
  abstract =     "I remember way back in the old days, it was so easy to
                 talk to other CSE people about CS1, since we basically
                 all knew the plot of Cooper and Clancy's of Oh Pascal!
                 I could talk about problems with ``the var parameter
                 lecture'' and people pretty much knew what I was
                 talking about since the basic layout of the course was
                 so well understood.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Parlante:2004:N,
  author =       "Nick Parlante",
  title =        "Niftiness",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "4",
  pages =        "26--27",
  month =        dec,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1041624.1041650",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:12 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse36.html#Parlante04a;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2004.bib",
  abstract =     "Back around March 21 2004, there was a long and
                 interesting discussion on the SIGCSE list, reflecting
                 the powerful promise and frustrations of using Java and
                 OOP in CSI (see
                 http://listserv.acm.org/archives/sigcse-members.html
                 and also Bruce Kim's article this issue). For this
                 column, I would like to use the history of the Nifty
                 Assignments as a way to look at this complex
                 situation.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Parlante:2004:NAG,
  author =       "N. Parlante",
  title =        "Nifty Assignments: Graphics and {Java}",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "2",
  pages =        "26--27",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Pasareanu:2004:VJP,
  author =       "C. S. Pasareanu and W. Visser",
  title =        "Verification of {Java} Programs Using Symbolic
                 Execution and Invariant Generation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2989",
  pages =        "164--181",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Pascarello:2004:JYV,
  author =       "Eric Pascarello",
  title =        "{JavaScript}: your visual blueprint for building
                 dynamic {Web} pages",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xiii + 321",
  year =         "2004",
  ISBN =         "0-7645-7497-3 (paperback)",
  ISBN-13 =      "978-0-7645-7497-9 (paperback)",
  LCCN =         "TK5105.888 .P375 2004",
  bibdate =      "Mon Jul 13 15:59:59 MDT 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Read less, learn more",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0620/2004112337-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0620/2004112337-d.html;
                 http://www.loc.gov/catdir/toc/wiley051/2004112337.html",
  acknowledgement = ack-nhfb,
  subject =      "Web site development; JavaScript (Computer program
                 language); Internet programming",
}

@Article{Paterson:2004:AOP,
  author =       "J. H. Paterson and J. Haddow",
  title =        "Approaches to Object Persistence in {Java} Projects",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "256",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Payne:2004:PJB,
  author =       "W. Payne",
  title =        "{Periscope Java} is becoming the platform of choice
                 for developing a new generation of medical devices",
  journal =      "British Journal of Healthcare Computing and
                 Information Management",
  volume =       "21",
  number =       "7",
  pages =        "14--14",
  year =         "2004",
  CODEN =        "????",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Perry:2004:JSJ,
  author =       "Bruce W. Perry",
  title =        "{Java} servlet and {JSP} cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xix + 723",
  year =         "2004",
  ISBN =         "0-596-00572-5",
  ISBN-13 =      "978-0-596-00572-6",
  LCCN =         "QA76.73.J38 P469 2004",
  bibdate =      "Mon Apr 18 15:08:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596005726",
  acknowledgement = ack-nhfb,
  keywords =     "Practical solutions to real-world problems",
  subject =      "Java (Computer program language); JavaServer pages;
                 Web site development; Servlets",
}

@Article{Pfeffer:2004:RTG,
  author =       "M. Pfeffer and T. Ungerer and S. Fuhrmann and J.
                 Kreuzinger and U. Brinkschulte",
  title =        "Real-Time Garbage Collection for a Multithreaded
                 {Java} Microcontroller",
  journal =      j-REAL-TIME-SYST,
  volume =       "26",
  number =       "1",
  pages =        "89--106",
  year =         "2004",
  CODEN =        "RESYE9",
  ISSN =         "0922-6443",
  ISSN-L =       "0922-6443",
  bibdate =      "Mon Jan 5 17:25:38 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Real-Time Systems",
}

@Article{Pietrzak:2004:ABS,
  author =       "B. Pietrzak and B. Walter and J. R. Nawrocki",
  title =        "Automatic bad-smell detection in {Java} programs",
  journal =      "Foundations of Computing and Decision Sciences",
  volume =       "29",
  number =       "1/4",
  pages =        "149--165",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0867-6356",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Pilone:2004:EVE,
  author =       "M. Pilone",
  title =        "The {Eclipse Visual Editor} for {Java}",
  journal =      j-DDJ,
  volume =       "29",
  number =       "10",
  pages =        "67--71",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Pistoia:2004:EJS,
  author =       "Marco Pistoia and Nataraj Nagaratnam and Larry Koved
                 and Anthony Nadalin",
  title =        "Enterprise {Java} Security: building secure {J2EE}
                 applications",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiii + 581",
  year =         "2004",
  ISBN =         "0-321-11889-8",
  ISBN-13 =      "978-0-321-11889-9",
  LCCN =         "QA76.73.J3E58 2004",
  bibdate =      "Sat Apr 03 07:42:35 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Computer security",
}

@Article{Potratz:2004:PCB,
  author =       "E. Potratz",
  title =        "A Practical Comparison Between {Java} and {Ada} in
                 Implementing a Real-Time Embedded System",
  journal =      j-SIGADA-LETTERS,
  volume =       "24",
  number =       "1",
  pages =        "71--83",
  year =         "2004",
  CODEN =        "AALEE5",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Pratikakis:2004:TPJ,
  author =       "P. Pratikakis and J. Spacco and M. Hicks",
  title =        "Transparent Proxies for {Java} Futures",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "206--223",
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Proulx:2004:JIT,
  author =       "V. K. Proulx and R. Rasala",
  title =        "{Java IO} and Testing Made Simple",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "161--165",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Mon Apr 19 11:57:57 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ramirez:2004:CBS,
  author =       "R. Ramirez and J. Martinez",
  title =        "Constraint-Based Synchronization and Verification of
                 Distributed {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3132",
  pages =        "473--474",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ranganath:2004:PIR,
  author =       "V. P. Ranganath and J. Hatcliff",
  title =        "Pruning Interference and Ready Dependence for Slicing
                 Concurrent {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2985",
  pages =        "39--56",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Reimer:2004:SSA,
  author =       "Darrell Reimer and Edith Schonberg and Kavitha
                 Srinivas and Harini Srinivasan and Bowen Alpern and
                 Robert D. Johnson and Aaron Kershenbaum and Larry
                 Koved",
  title =        "{SABER}: smart analysis based error reduction",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "4",
  pages =        "243--251",
  month =        jul,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1013886.1007545",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:35 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "In this paper, we present an approach to automatically
                 detect high impact coding errors in large Java
                 applications which use frameworks. These high impact
                 errors cause serious performance degradation and
                 outages in real world production environments, are very
                 time-consuming to detect, and potentially cost
                 businesses thousands of dollars. Based on 3 years
                 experience working with IBM customer production
                 systems, we have identified over 400 high impact coding
                 patterns, from which we have been able to distill a
                 small set of pattern detection algorithms. These
                 algorithms use deep static analysis, thus moving
                 problem detection earlier in the development cycle from
                 production to development. Additionally, we have
                 developed an automatic false positive filtering
                 mechanism based on domain specific knowledge to achieve
                 a level of usability acceptable to IBM field engineers.
                 Our approach also provides necessary contextual
                 information around the sources of the problems to help
                 in problem remediation. We outline how our approach to
                 problem determination can be extended to multiple
                 programming models and domains. We have implemented
                 this problem determination approach in the SABER tool
                 and have used it successfully to detect many serious
                 code defects in several large commercial applications.
                 This paper shows results from four such applications
                 that had over 60 coding defects.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Reis:2004:TPI,
  author =       "Charles Reis and Robert Cartwright",
  title =        "Taming a professional {IDE} for the classroom",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "156--160",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971357",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "An important question that must be addressed in a
                 coherent computing curriculum is which programming
                 environments to use across the curriculum. For Java,
                 currently the most widely used language in computing
                 education, a wide variety of professional integrated
                 development environments (IDEs) are
                 available---including the increasingly popular,
                 open-source Eclipse environment. Professional IDEs for
                 Java work well in advanced courses, but they are poorly
                 matched to introductory courses because they deluge
                 beginning students with a complex array of features. In
                 addition, professional IDEs fail to shield students
                 from distracting complications like the Java command
                 line interface and Java console I/O. For this reason,
                 many educators favor using a ``pedagogic'' IDE such as
                 BlueJ or DrJava to provide a gentle introduction to the
                 mechanics of Java programming. To eliminate the gap
                 between pedagogic and professional IDEs for Java, we
                 have developed a plug-in for Eclipse that supports
                 exactly the same programming interface as DrJava. It
                 features an Interactions pane for evaluating program
                 statements and expressions ``on the fly'' as in DrJava.
                 With this plug-in, Eclipse is accessible to beginning
                 programmers. In this configuration, Eclipse is a
                 suitable vehicle for teaching introductory
                 programming--enabling Eclipse to be used across the
                 entire spectrum of the computing curriculum.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ren:2004:CTC,
  author =       "X. Ren and F. Shah and F. Tip and B. G. Ryder and O.
                 Chesley",
  title =        "{Chianti}: a Tool for Change Impact Analysis of {Java}
                 Programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "432--448",
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Robbins:2004:DHS,
  author =       "Steven Robbins",
  title =        "A disk head scheduling simulator",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "325--329",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971413",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Disk head scheduling is a standard topic in
                 undergraduate operating systems courses. Disk drives
                 were once fairly simple devices with little
                 intelligence. Disk head scheduling and bad block
                 mapping were done exclusively by operating systems. As
                 disk drives became larger and faster, they took on some
                 of these tasks. Modern drives often have a large cache
                 and hide their internal structure from the outside
                 world. In spite of changes in disk technology, the
                 teaching of disk head scheduling has changed little
                 over the last decade. This paper describes a disk head
                 scheduling simulator that allows students to explore
                 traditional disk scheduling algorithms as well as the
                 consequences of modern disk technology. The simulator,
                 which is written in Java and is freely available, can
                 be run remotely from a browser or downloaded for local
                 execution. We present methods for modifying the
                 traditional curriculum to make the presentation of disk
                 head scheduling more relevant and interesting.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roberts:2004:DCL,
  author =       "Eric Roberts",
  title =        "The dream of a common language: the search for
                 simplicity and stability in computer science
                 education",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "115--119",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971343",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In recent years, the languages, paradigms, and tools
                 used to teach computer science have become increasingly
                 complex. This added complexity puts pressure on
                 designers of introductory courses, who must cover more
                 material in an already overcrowded syllabus. The
                 problem of complexity is exacerbated by the fact that
                 languages and tools change quickly, which leads to
                 profound instability in the manner in which computer
                 science is taught. The situation has reached a point
                 where it is difficult for individual computer science
                 teachers to keep up. This paper examines the factors
                 that promote complexity and instability in computer
                 science. It then goes on to argue that we, as
                 educators, must take responsibility for breaking this
                 cycle of rapid obsolescence by developing a stable and
                 effective collection of Java-based teaching resources
                 that will meet the needs of the computer science
                 education community. Such an initiative is already in
                 progress under the direction of a special task force
                 appointed by the ACM Education Board. The charter and
                 current plans for that task force are being presented
                 in a special session at this symposium.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roberts:2004:RSU,
  author =       "E. Roberts",
  title =        "Resources to Support the Use of {Java} in Introductory
                 Computer Science",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "233--234",
  year =         "2004",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Mon Apr 19 11:57:57 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rodriguez:2004:ETJ,
  author =       "N. Rodriguez and L. J. Pulido and J. P. Jessel",
  title =        "Enhancing a Telerobotics {Java} Tool with Augmented
                 Reality",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3061",
  pages =        "9--18",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Rodziewicz:2004:OAJ,
  author =       "P. Rodziewicz and B. Bell",
  title =        "Overview and architecture of the {Java} integration
                 framework, hybrid scheduler, and {Web}-enabled {LIMS}",
  journal =      "Journal --- Association for Laboratory Automation",
  volume =       "9",
  number =       "6",
  pages =        "411--420",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1535-5535",
  bibdate =      "Tue Jan 4 05:03:45 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Rosenschein:2004:WPP,
  author =       "J. S. Rosenschein and T. Vilner and E. Zur",
  title =        "Work in progress: Programming knowledge: Does it
                 affect success in the course introduction to computer
                 science using {Java}?",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "CONF34",
  number =       "VOL 1",
  pages =        "T2H-3--T2H4",
  year =         "2004",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Mon May 16 14:02:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Article{Rountev:2004:FCA,
  author =       "A. Rountev and A. Milanova and B. G. Ryder",
  title =        "Fragment Class Analysis for Testing of Polymorphism in
                 {Java} Software",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "30",
  number =       "6",
  pages =        "372--387",
  month =        jun,
  year =         "2004",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2004.20",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1321060",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Rountev:2004:SDA,
  author =       "A. Rountev and S. Kagan and M. Gibas",
  title =        "Static and Dynamic Analysis of Call Chains in {Java}",
  journal =      "Software Engineering Notes",
  volume =       "29",
  number =       "4",
  pages =        "1--11",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0163-5948",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Ruiz:2004:FRD,
  author =       "J. L. Ruiz and J. L. Arciniegas and R. Ceron and J.
                 Bermejo and J. C. Duenas",
  title =        "A Framework for Resolution of Deployment Dependencies
                 in {Java}-Enabled Service Gateways",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2952",
  pages =        "1--11",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ryan:2004:AAT,
  author =       "C. Ryan and C. Westhorpe",
  title =        "Application Adaptation Through Transparent and
                 Portable Object Mobility in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3291",
  pages =        "1262--1284",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{S:2004:HTJ,
  author =       "B. C. S.",
  title =        "Hot topic: {Java 1.5}",
  journal =      j-COMPUT-BULL,
  volume =       "46",
  number =       "5",
  pages =        "32--32",
  month =        sep,
  year =         "2004",
  CODEN =        "COBUAH",
  ISSN =         "0010-4531 (print), 1464-357X (electronic)",
  ISSN-L =       "0010-4531",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Bulletin",
  pagecount =    "1",
}

@Article{Sadjadi:2004:TJT,
  author =       "S. M. Sadjadi and P. K. McKinley and B. H. C. Cheng
                 and R. E. K. Stirewalt",
  title =        "{TRAP/J}: Transparent Generation of Adaptable {Java}
                 Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3291",
  pages =        "1243--1261",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Sage:2004:JTS,
  author =       "S. Sage and G. Grandjean and J. Verly",
  title =        "{Java Tomography System (JaTS)}, a Seismic Tomography
                 Software Using {Fresnel} Volumes, a Fast Marching
                 Eikonal Solver and a Probabilistic Reconstruction
                 Method: Conclusive Synthetic Test Cases",
  journal =      "Lecture Notes in Earth Sciences",
  volume =       "104",
  pages =        "226--235",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0930-0317",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Saldanha:2004:JTE,
  author =       "Alok J. Saldanha",
  title =        "{Java Treeview} --- extensible visualization of
                 microarray data",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "17",
  pages =        "3246--3248",
  day =          "22",
  month =        nov,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Sat Dec 18 11:38:55 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{Samet:2004:OBI,
  author =       "Hanan Samet",
  title =        "Object-based and image-based object representations",
  journal =      j-COMP-SURV,
  volume =       "36",
  number =       "2",
  pages =        "159--217",
  month =        jun,
  year =         "2004",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/1031120.1031123",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Thu Jun 19 10:19:57 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "An overview is presented of object-based and
                 image-based representations of objects by their
                 interiors. The representations are distinguished by the
                 manner in which they can be used to answer two
                 fundamental queries in database applications: (1)
                 Feature query: given an object, determine its
                 constituent cells (i.e., their locations in space). (2)
                 Location query: given a cell (i.e., a location in
                 space), determine the identity of the object (or
                 objects) of which it is a member as well as the
                 remaining constituent cells of the object (or objects).
                 Regardless of the representation that is used, the
                 generation of responses to the feature and location
                 queries is facilitated by building an index (i.e., the
                 result of a sort) either on the objects or on their
                 locations in space, and implementing it using an access
                 structure that correlates the objects with the
                 locations. Assuming the presence of an access
                 structure, implicit (i.e., image-based) representations
                 are described that are good for finding the objects
                 associated with a particular location or cell (i.e.,
                 the location query), while requiring that all cells be
                 examined when determining the locations associated with
                 a particular object (i.e., the feature query). In
                 contrast, explicit (i.e., object-based) representations
                 are good for the feature query, while requiring that
                 all objects be examined when trying to respond to the
                 location query. The goal is to be able to answer both
                 types of queries with one representation and without
                 possibly having to examine every cell. Representations
                 are presented that achieve this goal by imposing
                 containment hierarchies on either space (i.e., the
                 cells in the space in which the objects are found), or
                 objects. In the former case, space is aggregated into
                 successively larger-sized chunks (i.e., blocks), while
                 in the latter, objects are aggregated into successively
                 larger groups (in terms of the number of objects that
                 they contain). The former is applicable to image-based
                 interior-based representations of which the space
                 pyramid is an example. The latter is applicable to
                 object-based interior-based representations of which
                 the R-tree is an example. The actual mechanics of many
                 of these representations are demonstrated in the VASCO
                 JAVA applets found at
                 \path=http://www.cs.umd.edu/~hjs/quadtree/index.html=.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "Access methods; feature query; geographic information
                 systems (GIS); image space; location query; object
                 space; octrees; pyramids; quadtrees; R-trees;
                 space-filling curves; spatial databases",
}

@Article{Sanchez:2004:JMB,
  author =       "J. Sanchez and S. Dormido and R. Pastor and F.
                 Morilla",
  title =        "A {Java\slash} {Matlab}-Based Environment for Remote
                 Control System Laboratories: Illustrated With an
                 Inverted Pendulum",
  journal =      j-IEEE-TRANS-EDUC,
  volume =       "47",
  number =       "3",
  pages =        "321--329",
  year =         "2004",
  CODEN =        "IEEDAB",
  ISSN =         "0018-9359",
  ISSN-L =       "0018-9359",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Education",
}

@Article{Sanden:2004:CJT,
  author =       "B. Sanden",
  title =        "Coping with {Java} Threads: {Java} works for many
                 kinds of concurrent software, but it was not designed
                 for safety-critical real-time applications and does not
                 protect the programmer from the pitfalls associated
                 with multithreading",
  journal =      j-COMPUTER,
  volume =       "37",
  number =       "4",
  pages =        "20--27",
  year =         "2004",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Sandya:2004:JJL,
  author =       "S. M. Sandya",
  title =        "Jazzing up {JVMs} with off-line profile data: does it
                 pay?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "72--80",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Satoh:2004:CNP,
  author =       "I. Satoh",
  title =        "Configurable Network Processing for Mobile Agents on
                 the {Internet}",
  journal =      "Cluster Computing",
  volume =       "7",
  number =       "1",
  pages =        "73--83",
  month =        jan,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1386-7857",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "11",
}

@Article{Schirmer:2004:AJP,
  author =       "Norbert Schirmer",
  title =        "Analysing the {Java} package\slash access concepts in
                 {Isabelle\slash HOL}",
  journal =      j-CCPE,
  volume =       "16",
  number =       "7",
  pages =        "689--706",
  month =        jun,
  year =         "2004",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.800",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:54 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "27 Apr 2004",
}

@Article{Schmalenbach:2004:JVM,
  author =       "C. Schmalenbach and C. Hofig",
  title =        "The {Java Virtual Machine} Profiler Interface",
  journal =      j-DDJ,
  volume =       "29",
  number =       "7",
  pages =        "28--33",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Schoeberl:2004:JTF,
  author =       "M. Schoeberl",
  title =        "{Java} Technology in an {FPGA}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3203",
  pages =        "917--921",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Schoeberl:2004:TPI,
  author =       "M. Schoeberl",
  title =        "A Time Predictable Instruction Cache for a {Java}
                 Processor",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "371--382",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Schrefl:2004:URJ,
  author =       "Michael Schrefl and Thomas Thalhammer",
  title =        "Using roles in {Java}",
  journal =      j-SPE,
  volume =       "34",
  number =       "5",
  pages =        "449--464",
  day =          "25",
  month =        apr,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.571",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:28 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "23 Jan 2004",
}

@Article{Schrijvers:2004:JGJ,
  author =       "T. Schrijvers",
  title =        "{JmmSolve}: a Generative {Java} Memory Model
                 Implemented in {Prolog} and {CHR}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3132",
  pages =        "475--476",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Schroder:2004:GEH,
  author =       "L. Schroder and T. Mossakowski",
  title =        "Generic Exception Handling and the {Java} Monad",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3116",
  pages =        "443--459",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Seegmiller:2004:PRO,
  author =       "R. Seegmiller",
  title =        "Product Review: {Optimal Java}: a review of
                 {Compuware's OptimalJ 3.1}",
  journal =      "Application Development Trends",
  volume =       "11",
  number =       "3",
  pages =        "48--49",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Selcuk:2004:JEJ,
  author =       "Y. E. Selcuk and N. Erdogan",
  title =        "{JAWIRO}: Enhancing {Java} with Roles",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3280",
  pages =        "927--934",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 6 06:44:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Shao:2004:RPF,
  author =       "J. L. Shao and Y. Q. Ye",
  title =        "Realization of programming functions using {Java} in a
                 {VRML} world",
  journal =      "Computers and Applied Chemistry",
  volume =       "21",
  number =       "4",
  pages =        "641--644",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1001-4160",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Shaofeng:2004:MJB,
  author =       "Wang Shaofeng",
  title =        "A method of {Java}-based electronic document
                 publishing system",
  journal =      j-ELECTRONIC-LIBRARY,
  volume =       "22",
  number =       "4",
  pages =        "351--356",
  day =          "1",
  month =        apr,
  year =         "2004",
  CODEN =        "ELLIDZ",
  ISSN =         "0264-0473",
  ISSN-L =       "0264-0473",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Library",
  pagecount =    "6",
}

@Article{Shimizu:2004:JOL,
  author =       "Naohiko Shimizu and Chiaki Kon",
  title =        "{Java} Object Look Aside Buffer for Embedded
                 Applications",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "32",
  number =       "3",
  pages =        "43--49",
  month =        jun,
  year =         "2004",
  CODEN =        "CANED2",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:41:01 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Shudo:2004:CEC,
  author =       "K. Shudo and S. Sekiguchi and Y. Muraoka",
  title =        "Cost-Effective Compilation Techniques for {Java}
                 Just-in-Time Compilers",
  journal =      j-SYS-COMP-JAPAN,
  volume =       "35",
  number =       "12",
  pages =        "10--24",
  year =         "2004",
  CODEN =        "SCJAEP",
  ISSN =         "0882-1666 (print), 1520-684X (electronic)",
  ISSN-L =       "0882-1666",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Systems and computers in Japan",
}

@Article{Sigg:2004:MDJ,
  author =       "R. Sigg",
  title =        "{Mobile Dienste mit Java realisieren}. ({German})
                 [Mobile services with a {Java} implementation]",
  journal =      "Comtec",
  volume =       "82",
  number =       "2",
  pages =        "28--30",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1420-3715",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Book{Simmons:2004:HJ,
  author =       "Robert {Simmons, Jr.}",
  title =        "Hardcore {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvii + 324",
  year =         "2004",
  ISBN =         "0-596-00568-7",
  ISBN-13 =      "978-0-596-00568-9",
  LCCN =         "QA76.73.J38 S553 2004",
  bibdate =      "Mon Apr 18 15:07:57 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596005689",
  abstract =     "Focuses on the little-touched but critical parts of
                 the Java programming language that the expert
                 programmers use. Learn about extremely powerful and
                 useful programming techniques such as reflection,
                 advanced data modeling, advanced GUI design, and
                 advanced aspects of JDO, EJB, and XML-based web
                 clients. This unique book reveals the true wizardry
                 behind the complex and often mysterious Java
                 environment--O'Reilly web site.",
  acknowledgement = ack-nhfb,
  remark =       "``Secrets of the Java masters'' --- cover.",
  subject =      "Java (Computer program language)",
}

@Book{Simmons:2004:HJS,
  author =       "Robert {Simmons, Jr.}",
  title =        "Hardcore {Java}: Secrets of the Java masters",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvii + 324",
  year =         "2004",
  ISBN =         "0-596-00568-7",
  ISBN-13 =      "978-0-596-00568-9",
  LCCN =         "QA76.73.J38 S553 2004",
  bibdate =      "Sat Apr 03 07:43:09 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "From the publisher: Focuses on the little-touched but
                 critical parts of the Java programming language that
                 the expert programmers use. Learn about extremely
                 powerful and useful programming techniques such as
                 reflection, advanced data modeling, advanced GUI
                 design, and advanced aspects of JDO, EJB, and XML-based
                 web clients. This unique book reveals the true wizardry
                 behind the complex and often mysterious Java
                 environment.",
  acknowledgement = ack-nhfb,
}

@Article{Siveroni:2004:OSJ,
  author =       "I. A. Siveroni",
  title =        "Operational semantics of the {Java Card Virtual
                 Machine}",
  journal =      j-J-LOGIC-ALG-PROG,
  volume =       "58",
  number =       "1--2",
  pages =        "3--25",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1567-8326",
  ISSN-L =       "1567-8326",
  bibdate =      "Tue Jan 27 06:08:07 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Logic and Algebraic Programming",
}

@Article{Snook:2004:ECC,
  author =       "C. F. Snook and R. Harrison",
  title =        "Experimental comparison of the comprehensibility of a
                 {Z} specification and its implementation in {Java}",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "46",
  number =       "14",
  pages =        "955--971",
  year =         "2004",
  CODEN =        "ISOTE7",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
}

@Article{Sooriamurthi:2004:JET,
  author =       "R. Sooriamurthi and S. Menzel and A. Sengupta and K.
                 Moor and S. Stamm and K. Borner",
  title =        "{Java} engagement for teacher training: an experience
                 report",
  journal =      j-FRONTIERS-EDU-CONF,
  volume =       "CONF34",
  number =       "VOL 1",
  pages =        "T2D-17",
  year =         "2004",
  CODEN =        "PFECDR",
  ISSN =         "0190-5848",
  bibdate =      "Mon May 16 14:02:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Frontiers in Education Conference",
}

@Article{Stahl:2004:DTD,
  author =       "R. Stahl and F. Catthoor and R. Lauwereins and D.
                 Verkest",
  title =        "Design-Time Data-Access Analysis for Parallel {Java}
                 Programs with Shared-Memory Communication Model",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3149",
  pages =        "206--213",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Misc{Stallman:2004:FSJ,
  author =       "Richard Stallman",
  title =        "Free But Shackled --- The {Java} Trap",
  howpublished = "World-Wide Web document",
  day =          "12",
  month =        apr,
  year =         "2004",
  bibdate =      "Sat Oct 07 10:41:21 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.gnu.org/philosophy/java-trap.html",
  acknowledgement = ack-nhfb,
  remark =       "Sun's implementation of Java is non-free. Blackdown is
                 also non-free; it is an adaptation of Sun's proprietary
                 code. The standard Java libraries are non-free also. We
                 do have free implementations of Java, such as the GNU
                 Compiler for Java (GCJ) and GNU Classpath, but they
                 don't support all the features yet. We are still
                 catching up.",
}

@Article{Stark:2004:FSC,
  author =       "Eugene W. Stark",
  title =        "Formally specifying {CARA} in {Java}",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "5",
  number =       "4",
  pages =        "331--350",
  month =        may,
  year =         "2004",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10009-003-0124-7",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Tue Nov 23 15:01:42 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
  remark =       "Special section: Analysis of requirements for a
                 medical device the computer-assisted resuscitation
                 algorithm (CARA) experience",
}

@Book{Steeb:2004:PSS,
  author =       "W.-H. Steeb and Yorick Hardy and Alexandre Hardy and
                 Ruedi Stoop",
  title =        "Problems and solutions in scientific computing: with
                 {C++} and {Java} simulations",
  publisher =    pub-WORLD-SCI,
  address =      pub-WORLD-SCI:adr,
  pages =        "ix + 420",
  year =         "2004",
  ISBN =         "981-256-112-9, 981-256-125-0 (paperback)",
  ISBN-13 =      "978-981-256-112-1, 978-981-256-125-1 (paperback)",
  LCCN =         "QA297 .P743 2004",
  bibdate =      "Tue May 27 08:40:36 MDT 2014",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/numana2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Numerical analysis; Computer programs; Problems,
                 exercises, etc.; Science; Mathematics",
}

@Article{Stenzel:2004:FVC,
  author =       "K. Stenzel",
  title =        "A Formally Verified Calculus for Full {Java} Card",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3116",
  pages =        "491--505",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Stubblebine:2004:SHD,
  author =       "Tony Stubblebine and Junko Mishima",
  title =        "Seiki hyogen desukutoppu rifarensu: regular
                 expressions for {Perl}, {C}, {PHP}, {Python}, {Java},
                 and {.NET}",
  publisher =    "Orairi Japan",
  address =      "Tokyo, Japan",
  pages =        "vi + 96",
  year =         "2004",
  ISBN =         "4-87311-170-6",
  ISBN-13 =      "978-4-87311-170-4",
  LCCN =         "????",
  bibdate =      "Wed Oct 14 08:00:43 MDT 2015",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/ora.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib",
  acknowledgement = ack-nhfb,
}

@Article{Suganuma:2004:EJJ,
  author =       "T. Suganuma and T. Ogasawara and K. Kawachiya and M.
                 Takeuchi and K. Ishizaki and A. Koseki and T. Inagaki
                 and T. Yasue and M. Kawahito and T. Onodera",
  title =        "Evolution of a {Java} just-in-time compiler for
                 {IA-32} platforms",
  journal =      j-IBM-JRD,
  volume =       "48",
  number =       "5/6",
  pages =        "767--796",
  year =         "2004",
  CODEN =        "IBMJAE",
  ISSN =         "0018-8646 (print), 2151-8556 (electronic)",
  ISSN-L =       "0018-8646",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Journal of Research and Development",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520",
}

@Article{Sun:2004:JBA,
  author =       "H. Sun and R. V. Davuluri",
  title =        "{Java}-based application framework for visualization
                 of gene regulatory region annotations",
  journal =      j-BIOINFORMATICS,
  volume =       "20",
  number =       "5",
  pages =        "727--734",
  day =          "22",
  month =        mar,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "8",
}

@Article{Sung:2004:JBC,
  author =       "M. Y. Sung and D. H. Lee",
  title =        "A {Java}-Based Collaborative Authoring System for
                 Multimedia Presentation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3332",
  pages =        "96--103",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jan 4 05:03:45 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Suokas:2004:JHS,
  author =       "J. Suokas",
  title =        "{JAVA ALS HANDY-STANDARD}?",
  journal =      "Telekompraxis",
  volume =       "BAND81",
  number =       "NUMB 11/12",
  pages =        "22--23",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0938-5460",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Surveyer:2004:SAO,
  author =       "J. Surveyer",
  title =        "{Sun} adds to opensource {Java IDE} roster: a review
                 of {NetBeans Java IDE}",
  journal =      "Application Development Trends",
  volume =       "11",
  number =       "9",
  pages =        "48--48",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Surveyer:2004:SJS,
  author =       "J. Surveyer",
  title =        "{Sun Java Studio Creator}: The {VB} of {Java}?",
  journal =      "Application Development Trends",
  volume =       "11",
  number =       "11",
  pages =        "46--47",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Mon Dec 6 06:44:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Talpin:2004:HRT,
  author =       "J. P. Talpin and A. Gamatie and D. Berner and B. LeDez
                 and P. LeGuernic",
  title =        "Hard Real-Time Implementation of Embedded Software in
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2952",
  pages =        "33--47",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Tan:2004:EEE,
  author =       "Roy Patrick Tan and Stephen H. Edwards",
  title =        "Experiences evaluating the effectiveness of
                 {JML}-{JUnit} testing",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "5",
  pages =        "1--4",
  month =        sep,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1022494.1022545",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:37 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "This paper reports on the issues the authors
                 encountered while evaluating the JML-JUnit unit testing
                 strategy. Given a predefined set of parameter values,
                 JML-JUnit can automatically provide unit tests for Java
                 programs that have specifications. We present a
                 mutation testing experiment that evaluates the
                 effectiveness of this testing strategy, and the lessons
                 learned from doing this experiment. We conclude that a
                 benchmark will enable the testing research community to
                 meaningfully assess testing approaches.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Tanaka:2004:DCR,
  author =       "S. Tanaka and T. Yamada and S. Shiraishi",
  title =        "Dynamic Code Repositioning for {Java}",
  journal =      "IEICE Transactions on Information and Systems E Series
                 D",
  volume =       "87",
  number =       "7",
  pages =        "1737--1742",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0916-8532",
  bibdate =      "Wed Aug 18 06:22:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Tangermann:2004:EIF,
  author =       "M. Tangermann and C. Schwab and A. Luder and L.
                 Ferrarini and C. Veber",
  title =        "Encapsulation of {IEC 61499} Function Blocks Using
                 Real-Time {Java} According to the {RTSJ}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "346--358",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Tate:2004:BFL,
  author =       "Bruce Tate and Justin Gehtland",
  title =        "Better, Faster, Lighter {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 243",
  year =         "2004",
  ISBN =         "0-596-00676-4",
  ISBN-13 =      "978-0-596-00676-1",
  LCCN =         "QA76.73.J38 T36 2004",
  bibdate =      "Fri Jul 09 11:23:09 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$34.95, CAN\$50.95, UK\pounds 24.95",
  URL =          "http://www.oreilly.com/catalog/bfljava/",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Java (Computer
                 program language); Handbooks, manuals, etc",
}

@Article{Tellis:2004:IMC,
  author =       "W. M. Tellis and K. P. Andriole",
  title =        "Integrating Multiple Clinical Information Systems
                 using the {Java Message Service Framework}",
  journal =      j-J-DIGITAL-IMAGING,
  volume =       "17",
  number =       "2",
  pages =        "80--86",
  year =         "2004",
  CODEN =        "JDIMEW",
  ISSN =         "0897-1889",
  ISSN-L =       "0897-1889",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Digital Imaging",
}

@Article{Tilevich:2004:PED,
  author =       "Eli Tilevich and Yannis Smaragdakis",
  title =        "Portable and Efficient Distributed Threads for
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3231",
  pages =        "478--492",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 18 08:11:17 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ton:2004:SHC,
  author =       "Lee-Ren Ton and Lung-Chung Chang and Jyh-Jiun Shann
                 and Chung-Ping Chung",
  title =        "A software\slash hardware cooperated stack operations
                 folding model for {Java} processors",
  journal =      j-J-SYST-SOFTW,
  volume =       "72",
  number =       "3",
  pages =        "377--387",
  month =        aug,
  year =         "2004",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Wed May 18 10:27:25 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Tonella:2004:ETC,
  author =       "Paolo Tonella",
  title =        "Evolutionary testing of classes",
  journal =      j-SIGSOFT,
  volume =       "29",
  number =       "4",
  pages =        "119--128",
  month =        jul,
  year =         "2004",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1013886.1007528",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:35 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Object oriented programming promotes reuse of classes
                 in multiple contexts. Thus, a class is designed and
                 implemented with several usage scenarios in mind, some
                 of which possibly open and generic. Correspondingly,
                 the unit testing of classes cannot make too strict
                 assumptions on the actual method invocation sequences,
                 since these vary from application to application. In
                 this paper, a genetic algorithm is exploited to
                 automatically produce test cases for the unit testing
                 of classes in a generic usage scenario. Test cases are
                 described by chromosomes, which include information on
                 which objects to create, which methods to invoke and
                 which values to use as inputs. The proposed algorithm
                 mutates them with the aim of maximizing a given
                 coverage measure. The implementation of the algorithm
                 and its application to classes from the Java standard
                 library are described.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Tran:2004:TCB,
  author =       "F. D. Tran and J. P. Fassino and O. Lobry and J. Pulou
                 and N. Rivierre",
  title =        "Toward a Component-Based Embedded {Java}-Oriented
                 Operating System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3292",
  pages =        "256--267",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Tremblett:2004:JME,
  author =       "P. Tremblett",
  title =        "{Java} Management Extensions",
  journal =      j-DDJ,
  volume =       "29",
  number =       "7",
  pages =        "14--21",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Trofin:2004:FRRa,
  author =       "Mircea Trofin",
  title =        "A framework for removing redundant context management
                 services in {Enterprise JavaBeans} application
                 servers",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "58--59",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Trofin:2004:FRRb,
  author =       "Mircea Trofin",
  title =        "A framework for removing redundant context management
                 services in enterprise {JavaBeans} application
                 servers",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "312--313",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Tsang:2004:OPB,
  author =       "A. C. W. Tsang and N. Chan",
  title =        "An Online Problem-Based Model for the Learning of
                 {Java}",
  journal =      "Journal of Electronic Commerce in Organizations",
  volume =       "2",
  number =       "2",
  pages =        "55--64",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1539-2937",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Tuisku:2004:WJE,
  author =       "M. Tuisku",
  title =        "Wireless {Java}-Enabled {MIDP} Devices as Peers in a
                 {Grid} Infrastructure",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2970",
  pages =        "273--281",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Umphress:2004:BJI,
  author =       "David A. Umphress and James H. {Cross II} and Jhilmil
                 Jain and Nischita Meda and Larry A. Barowski",
  title =        "Bringing {J2ME} industry practice into the classroom",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "301--305",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971407",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes efforts to use industry wireless
                 software development practices in the classroom.
                 Nokia's OK Java 2 Platform Micro Edition (J2ME)
                 application certification program was chosen for use in
                 a core set of wireless software engineering courses.
                 The adaptation process included (1) modifying Nokia OK
                 application standards for classroom use as examples of
                 what is expected of industry-quality software; (2)
                 incorporating Nokia OK software development tools into
                 a student-friendly software development environment;
                 and (3) implementing in-house Nokia OK certification
                 procedures as a basis for assessing student projects
                 and providing feedback.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{VanCamp:2004:TNS,
  author =       "S. VanCamp",
  title =        "Tech-nically Speaking: {Sun Microsystems} is banking
                 on its {Java} platform to restore a measure of
                 respectability",
  journal =      "Brandweek",
  volume =       "45",
  number =       "30",
  pages =        "14--19",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1064-4318",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Vieira:2004:LEH,
  author =       "Luiz Filipe M. Vieira and Marcos Augusto M. Vieira and
                 Newton J. Vieira",
  title =        "Language emulator, a helpful toolkit in the learning
                 process of computer theory",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "135--139",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971348",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Language Emulator, written in Java, is a toolkit to
                 help undergraduate students to understand the concepts
                 of Automata Theory. The software allows the
                 manipulation of regular expressions, regular grammars,
                 deterministic finite automata, nondeterministic finite
                 automata with and without lambda transitions, and Moore
                 and Mealy machines. Language Emulator introduces
                 error-detecting and internationalization
                 functionalities into automata tools. It has been
                 accepted by 95\% of students in a recent survey,
                 indicating that it is a helpful toolkit in learning
                 Automata Theory.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Visser:2004:TIG,
  author =       "W. Visser and C. S. Pasareanu and S. Khurshid",
  title =        "Test Input Generation with {Java PathFinder}",
  journal =      "Software Engineering Notes",
  volume =       "29",
  number =       "4",
  pages =        "97--107",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0163-5948",
  bibdate =      "Wed Sep 22 17:19:17 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{vonDincklage:2004:CJC,
  author =       "D. vonDincklage and A. Diwan",
  title =        "Converting {Java} Classes to Use Generics",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "1--14",
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Wahli:2004:WSJ,
  editor =       "Ueli Wahli and others",
  title =        "{WebSphere Studio 5.1.2 JavaServer Faces and Service
                 Data Objects}",
  publisher =    "IBM International Technical Support Organization",
  address =      "????",
  pages =        "xxiv + 566",
  month =        jul,
  year =         "2004",
  ISBN =         "0-7384-9041-5",
  ISBN-13 =      "978-0-7384-9041-0",
  LCCN =         "TK5105.8885.W43 W4322 2004",
  bibdate =      "Wed Nov 15 10:37:03 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  note =         "Publication number SG24-6361-00",
  series =       "IBM redbooks",
  acknowledgement = ack-nhfb,
  subject =      "WebSphere; Application software; Development; Web site
                 development",
}

@Book{Walls:2004:XA,
  author =       "Craig Walls and Norman Richards and Rickard Oberg",
  title =        "{XDoclet} in Action",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxxii + 591",
  year =         "2004",
  ISBN =         "1-932394-05-2",
  ISBN-13 =      "978-1-932394-05-4",
  LCCN =         "QA76.73.J38 W343 2004",
  bibdate =      "Sat Jan 10 12:52:35 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.95",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/bios/ipg051/2004271287.html;
                 http://www.loc.gov/catdir/description/ipg051/2004271287.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
  xxauthor =     "Craig Walls and Norman Richards",
}

@Article{Wang:2004:UJL,
  author =       "H. Wang",
  title =        "Use of {Java} Language on the {Web} of Real-Time
                 Observed Tide Data",
  journal =      "Marine Science Bulletin",
  volume =       "23",
  number =       "2",
  pages =        "51--55",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1001-6392",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Washizaki:2004:SSJ,
  author =       "Hironori Washizaki and Yoshiaki Fukazawa",
  title =        "A search system for {Java} programs by using extracted
                 {JavaBeans} components",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "200--201",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Weatherly:2004:EPI,
  author =       "R. M. Weatherly and E. H. Page",
  title =        "Efficient Process Interaction Simulation in {Java}:
                 Implementing Co-Routines Within a Single {Java}
                 Thread",
  journal =      "Winter Simulation Conference",
  volume =       "2",
  pages =        "1437--1443",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0743-1902 (print), 2160-9276 (electronic)",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Weaver:2004:BJN,
  author =       "James L. Weaver and Kevin Mukhar and Jim Crume",
  title =        "Beginning {J2EE 1.4}: From Novice to Professional: The
                 Essentials of the Platform",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "700 (est.)",
  year =         "2004",
  ISBN =         "1-59059-341-3",
  ISBN-13 =      "978-1-59059-341-7",
  LCCN =         "????",
  bibdate =      "Sat Apr 03 07:31:47 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Weaver:2004:ECS,
  author =       "Alfred C. Weaver",
  title =        "Electronic commerce software laboratory",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "453--456",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971455",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "With NSF support we developed a hands-on laboratory to
                 augment our CS453 Electronic Commerce Technologies
                 course. We conducted weekly lab sessions that covered
                 HTML, CSS, JavaScript, Perl, CGI, SQL, ASP, and Flash
                 programming. Each topic was covered over a period of
                 one to three weeks and each topic was supported by 10
                 to 26 individual programming exercises. Four teaching
                 assistants provided real-time support during the
                 laboratory period. Answers to all exercises were
                 accessible on-line so that no student would be
                 needlessly delayed by any particular problem. In this
                 paper we discuss the laboratory's design goals, topical
                 content, and the students' performance, reactions, and
                 suggestions for improvement.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Webb:2004:LJB,
  author =       "S. C. Webb and A. Attwood and T. Brooks and T. Freeman
                 and P. Gardner and C. Pritchard and D. Williams and P.
                 Underhill and M. A. Strivens and A. Greenfield",
  title =        "{LIMaS}: the {JAVA}-based application and database for
                 microarray experiment tracking",
  journal =      "Mammalian Genome",
  volume =       "15",
  number =       "9",
  pages =        "740--747",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0938-8990",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Weiss:2004:JCE,
  author =       "Jason Weiss",
  title =        "{Java} Cryptography Extensions: Practical Guide for
                 Programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xv + 158",
  year =         "2004",
  ISBN =         "0-12-742751-1",
  ISBN-13 =      "978-0-12-742751-5",
  LCCN =         "QA76.73.J38 W445 2004",
  bibdate =      "Tue Jul 27 05:22:17 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$21.95",
  acknowledgement = ack-nhfb,
}

@Book{Wellings:2004:CRT,
  author =       "Andrew J. Wellings",
  title =        "Concurrent and real-time programming in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xiv + 431",
  year =         "2004",
  ISBN =         "0-470-84437-X (paperback)",
  ISBN-13 =      "978-0-470-84437-3 (paperback)",
  LCCN =         "QA76.73.J38 W465 2004",
  bibdate =      "Thu Mar 23 07:09:46 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0616/2004008522-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0616/2004008522-d.html;
                 http://www.loc.gov/catdir/toc/ecip0417/2004008522.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Parallel programming
                 (Computer science); Real-time programming",
}

@Article{Wells:2004:LIJ,
  author =       "G. C. Wells and A. G. Chalmers and P. G. Clayton",
  title =        "{Linda} implementations in {Java} for concurrent
                 systems",
  journal =      j-CCPE,
  volume =       "16",
  number =       "10",
  pages =        "1005--1022",
  day =          "25",
  month =        aug,
  year =         "2004",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.794",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:55 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "10 Jun 2004",
}

@Article{Wen:2004:IDE,
  author =       "Y. Wen and X. Liu",
  title =        "Intelligence Data Extraction Based on {Java XML} and
                 {Web}",
  journal =      "Journal- Sichuan University Natural Science Edition",
  volume =       "41",
  number =       "2",
  pages =        "318--321",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0490-6756",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Williams:2004:MAJ,
  author =       "A. Williams",
  title =        "Mixing {ActiveX} with {Java}",
  journal =      j-DDJ,
  volume =       "29",
  number =       "7",
  pages =        "64--70",
  year =         "2004",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 28 15:27:39 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Williams:2004:WLC,
  author =       "T. Williams and J. Anderson",
  title =        "Write Less Code and Deliver {Java} Apps Faster With
                 {Eclipse 3.0}",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "52",
  number =       "21",
  pages =        "71--72",
  year =         "2004",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Willsey:2004:BLD,
  author =       "J. W. Willsey",
  title =        "{Browsersoft} lets developers write a little {Java}",
  journal =      "Application Development Trends",
  volume =       "11",
  number =       "10",
  pages =        "46--47",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Winkler:2004:CCJ,
  author =       "J. F. H. Winkler",
  title =        "{C\#}: a Competitor of {Java}?",
  journal =      "It",
  volume =       "46",
  number =       "2",
  pages =        "85--93",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1611-2776",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Wolfe:2004:TJJ,
  author =       "Alexander Wolfe",
  title =        "Toolkit: {Java} is Jumpin'",
  journal =      j-QUEUE,
  volume =       "1",
  number =       "10",
  pages =        "16--19",
  month =        feb,
  year =         "2004",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Sat Mar 6 07:19:32 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Wong:2004:JPN,
  author =       "W. Wong",
  title =        "{Java 5.0} Perks Up With New Language Constructs",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "52",
  number =       "26",
  pages =        "44--45",
  year =         "2004",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Wed Dec 29 09:36:00 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Woo:2004:AAJ,
  author =       "J. Woo and J. L. Gaudiot and A. L. Wendelborn",
  title =        "Alias Analysis in {Java} with Reference-Set
                 Representation for High-Performance Computing",
  journal =      j-INT-J-PARALLEL-PROG,
  volume =       "32",
  number =       "1",
  pages =        "39--76",
  year =         "2004",
  CODEN =        "IJPPE5",
  ISSN =         "0885-7458 (print), 1573-7640 (electronic)",
  ISSN-L =       "0885-7458",
  bibdate =      "Mon Feb 23 16:27:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Parallel Programming",
  journal-URL =  "http://link.springer.com/journal/10766",
}

@Article{Woodward:2004:XPS,
  author =       "W. Woodward",
  title =        "{XML} persistence self-describing serialized {Java}
                 objects",
  journal =      "Research Disclosure",
  volume =       "484",
  pages =        "1134",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0374-4353",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Wutka:2004:STY,
  author =       "Mark Wutka and Alan Moffet and Kunal Mittal",
  title =        "{Sams} teach yourself {Javaserver Pages 2.0} in 24
                 hours, complete starter kit",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xvi + 527",
  year =         "2004",
  ISBN =         "0-672-32597-7",
  ISBN-13 =      "978-0-672-32597-7",
  LCCN =         "TK5105.8885.J38 W88 2004",
  bibdate =      "Sat Jan 10 12:46:07 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Apache Tomcat; Web sites; Design;
                 Web site development",
}

@Article{Xiang:2004:RWG,
  author =       "N. Xiang and H. Peng",
  title =        "A research of {WEB GIS} based on {Java} and {XML}",
  journal =      "Journal of the Hebei Institute of Technology",
  volume =       "26",
  number =       "3",
  pages =        "46--48",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1007-2829",
  bibdate =      "Tue Sep 14 07:40:46 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2004:MAO,
  author =       "B. Xu and A. Xu",
  title =        "Mobile active objects in {Java}",
  journal =      j-ADV-ENG-SOFTWARE,
  volume =       "35",
  number =       "3--4",
  pages =        "231--235",
  year =         "2004",
  CODEN =        "AESODT",
  ISSN =         "0965-9978 (print), 0141-1195 (electronic)",
  ISSN-L =       "0965-9978",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Advances in Engineering Software (1978)",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01411195",
}

@Article{Yamamoto:2004:NGM,
  author =       "T. Yamamoto",
  title =        "Next-generation Mobile Tool by {Java} for Mobile Phone
                 ``{sMobile}''",
  journal =      "Sumitomo Heavy Industries Technical Review",
  volume =       "155",
  pages =        "39--42",
  year =         "2004",
  CODEN =        "????",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Yang:2004:TWO,
  author =       "Jiahai Yang and Haixin Duan and Jianping Wu and Xing
                 Li",
  title =        "Thresholds: Workflow Oriented Network Management: a
                 {Web\slash Java} Approach",
  journal =      "Journal of Network and Systems Management",
  volume =       "12",
  number =       "4",
  pages =        "431--439",
  month =        dec,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1064-7570",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "9",
}

@Article{Yeo:2004:JBW,
  author =       "C. K. Yeo and S. C. Hui and B. S. Lee",
  title =        "{Java}-Based, {WAP-Enabled} Unified Messaging System",
  journal =      j-INT-J-COMPUT-APPL,
  volume =       "26",
  number =       "4",
  pages =        "191--198",
  year =         "2004",
  CODEN =        "IJCAFW",
  DOI =          "https://doi.org/10.1080/1206212X.2004.11441741",
  ISSN =         "1206-212X (print), 1925-7074 (electronic)",
  ISSN-L =       "1206-212X",
  bibdate =      "Sat Apr 21 17:21:54 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ijca.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "https://www.tandfonline.com/doi/full/10.1080/1206212X.2004.11441741",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Computer Applications",
  journal-URL =  "https://www.tandfonline.com/loi/tjca20",
  online-date =  "11 Jul 2015",
  xxpages =      "1--8",
}

@Article{Yilmaz:2004:IDC,
  author =       "G. Yilmaz and N. Erdogan",
  title =        "Integrating Distributed Composite Objects into {Java}
                 Environment",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3261",
  pages =        "322--331",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 18 08:11:17 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Yu:2004:EJO,
  author =       "Z. C. H. Yu and F. C. M. Lau and C. L. Wang",
  title =        "Exploiting {Java} Objects Behavior for Memory
                 Management and Optimizations",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3302",
  pages =        "437--452",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Yuan:2004:JCH,
  author =       "M. J. Yuan",
  title =        "{Java} Center: From Headless to Rich {UI}: The {OSGi}
                 framework isn't just for embedded gateway devices ---
                 this versatile set of open specifications is
                 universally useful",
  journal =      "Software Development",
  volume =       "12",
  number =       "5",
  pages =        "28--29",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Yusuf:2004:EMU,
  author =       "Kareem Yusuf",
  title =        "Enterprise Messaging Using {JMS} and {IBM WebSphere}",
  publisher =    pub-IBM-PRESS,
  address =      pub-IBM-PRESS:adr,
  pages =        "xvi + 330",
  year =         "2004",
  ISBN =         "0-13-146863-4",
  ISBN-13 =      "978-0-13-146863-4",
  LCCN =         "QA76.73.J38 Y87 2004",
  bibdate =      "Sat Apr 03 07:34:07 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "An IBM Press book",
  URL =          "http://java.sun.com/products/jms/docs.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Telecommunication;
                 Message processing; Electronic mail systems; WebSphere;
                 Application software; Development",
}

@Article{Zhang:2004:ACU,
  author =       "Lingli Zhang and Chandra Krintz",
  title =        "Adaptive code unloading for resource-constrained
                 {JVMs}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "155--164",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Zhang:2004:CAD,
  author =       "M. T. Zhang and K. Goldberg",
  title =        "A Computer-Aided Design Tool in {Java} for Planar
                 Gripper Design",
  journal =      "Journal of Computing and Information Science in
                 Engineering",
  volume =       "4",
  number =       "1",
  pages =        "43--48",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1530-9827",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2004:GJB,
  author =       "Y. Zhao and W. Chen and Y. Qiu and J. Shi",
  title =        "{GVis}: a {Java}-Based Architecture for {Grid} Enabled
                 Interactive Visualization",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3252",
  pages =        "704--711",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Zhen:2004:IBS,
  author =       "Z. Zhen and B. Fei and L. Kejun",
  title =        "The implementation of 128 bit strong encryption for
                 {SSL} by using {Java} Applet",
  journal =      "Journal --- Huazhong University of Science and
                 Technology Nature Science Chinese Edition",
  volume =       "32",
  number =       "4",
  pages =        "74--76",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1671-4512",
  bibdate =      "Fri Jun 18 08:03:35 MDT 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Zheng:2004:JBH,
  author =       "H. Zheng and J. M. Keith",
  title =        "{JAVA}-Based Heat Transfer Visualization Tools",
  journal =      "Chemical Engineering Education",
  volume =       "38",
  number =       "4",
  pages =        "282--285",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0009-2479",
  bibdate =      "Mon Dec 6 06:44:22 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Zhuk:2004:IRA,
  author =       "Jeff Zhuk",
  title =        "Integration-ready architecture and design: software
                 engineering with {XML}, {Java}, {.NET}, wireless,
                 speech, and knowledge technologies",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "xxx + 609",
  year =         "2004",
  ISBN =         "0-521-52583-7 (paperback)",
  ISBN-13 =      "978-0-521-52583-1 (paperback)",
  LCCN =         "QA76.758 .Z48 2004",
  bibdate =      "Thu Jun 23 18:36:26 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/description/cam041/2003065381.html;
                 http://www.loc.gov/catdir/toc/cam041/2003065381.html",
  acknowledgement = ack-nhfb,
  subject =      "Software engineering; Expert systems (Computer
                 science)",
}

@Article{Zuo:2004:FJD,
  author =       "T. Zuo and J. Han and P. Chen",
  title =        "Formalizing {Java} Dynamic Loading in {HOL}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3223",
  pages =        "287--304",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Abi-Antoun:2005:ISD,
  author =       "Marwan Abi-Antoun and Jonathan Aldrich and David
                 Garlan and Bradley Schmerl and Nagi Nahas and Tony
                 Tseng",
  title =        "Improving system dependability by enforcing
                 architectural intent",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--7",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083218",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Developing dependable software systems. requires
                 enforcing conformance between architecture and
                 implementation during software development and
                 evolution. We address this problem with a multi-pronged
                 approach: (a) automated refinement of a
                 component-and-connector (C\&C) architectural view into
                 an initial implementation, (b) enforcement of
                 architectural structure at the programming language
                 level, (c) automated abstraction of a C\&C view from an
                 implementation, and (d) semi-automated incremental
                 synchronization between the architectural and the
                 implementation C\&C views. We use an Architecture
                 Description Language (ADL), Acme, to describe the
                 architecture, and ArchJava, an implementation language
                 which embeds a C\&C architecture specification within
                 Java implementation code. Although both Acme and
                 ArchJava specify C\&C views, a number of structural
                 differences may arise. Our approach can detect
                 structural differences which correspond directly to
                 implementation-level violations of the well thoughtout
                 architectural intent. Furthermore, supplementing the
                 C\&C view extracted from the implementation with
                 architectural types and styles can uncover additional
                 violations.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Abraham:2005:ABP,
  author =       "Erika {\'A}brah{\'a}m and Frank S. de Boer and
                 Willem-Paul de Roever and Martin Steffen",
  title =        "An assertion-based proof system for multithreaded
                 {Java}",
  journal =      j-THEOR-COMP-SCI,
  volume =       "331",
  number =       "2--3",
  pages =        "251--290",
  day =          "25",
  month =        feb,
  year =         "2005",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Fri Jul 8 14:05:15 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Book{Adamson:2005:QJD,
  author =       "Chris Adamson",
  title =        "{QuickTime} for {Java}: a developer's notebook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xix + 233",
  year =         "2005",
  ISBN =         "0-596-00822-8",
  ISBN-13 =      "978-0-596-00822-2",
  LCCN =         "TR899 .A33 2005; TR899; TR899 .A33 2005eb",
  bibdate =      "Tue Aug 5 17:44:46 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596008222",
  acknowledgement = ack-nhfb,
  subject =      "QuickTime; Motion pictures; Editing; Data processing;
                 Java (Computer program language)",
}

@Article{Ahern:2005:FJR,
  author =       "Alexander Ahern and Nobuko Yoshida",
  title =        "Formalising {Java RMI} with explicit code mobility",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "403--422",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Al-Jaroodi:2005:JJO,
  author =       "Jameela Al-Jaroodi and Nader Mohamed and Hong Jiang
                 and David Swanson",
  title =        "{JOPI}: a {Java} object-passing interface",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "775--795",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.854",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{Alford:2005:IIJ,
  author =       "Torey Alford and Vijay P. Shah and Anthony Skjellum
                 and Nicholas H. Younan and Clayborne D. Taylor",
  title =        "{inAspect}: interfacing {Java} and {VSIPL}
                 applications",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "919--940",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.862",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{AlJaroodi:2005:JJO,
  author =       "J. AlJaroodi and N. Mohamed and H. Jiang and D.
                 Swanson",
  title =        "{JOPI}: a {Java Object-Passing Interface}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7/8",
  pages =        "775--796",
  year =         "2005",
  CODEN =        "CCPEBO",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
}

@Article{Almquist:2005:ITS,
  author =       "J. Almquist and I. Gorton and J. Haack",
  title =        "Integration of a Text Search Engine with a {Java}
                 Messaging Service",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3437",
  pages =        "19--30",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@InProceedings{Alpern:2005:PVE,
  author =       "Bowen Alpern and Joshua Auerbach and Vasanth Bala and
                 Thomas Frauenhofer and Todd Mummert and Michael
                 Pigott",
  title =        "{PDS}: a virtual execution environment for software
                 deployment",
  crossref =     "ACM:2005:PFA",
  pages =        "175--185",
  year =         "2005",
  DOI =          "https://doi.org/10.1145/1064979.1065004",
  bibdate =      "Sat Oct 14 16:55:50 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The Progressive Deployment System (PDS) is a virtual
                 execution environment and infrastructure designed
                 specifically for deploying software, or ``assets'', on
                 demand while enabling management from a central
                 location. PDS intercepts a select subset of system
                 calls on the target machine to provide a partial
                 virtualization at the operating system level. This
                 enables an asset's install-time environment to be
                 reproduced virtually while otherwise not isolating the
                 asset from peer applications on the target machine.
                 Asset components, or ``shards'', are fetched as they
                 are needed (or they may be pre-fetched), enabling the
                 asset to be progressively deployed by overlapping
                 deployment with execution. Cryptographic digests are
                 used to eliminate redundant shards within and among
                 assets, which enables more efficient deployment. A
                 framework is provided for intercepting interfaces above
                 the operating system (e.g., Java class loading),
                 enabling optimizations requiring semantic awareness not
                 present at the OS level. The paper presents the design
                 of PDS, motivates its ``porous isolation model'' with
                 respect to the challenges of software deployment, and
                 presents measurements of PDS's execution
                 characteristics.",
  acknowledgement = ack-nhfb,
}

@Article{Alt:2005:AJR,
  author =       "Martin Alt and Sergei Gorlatch",
  title =        "Adapting {Java RMI} for grid computing",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "21",
  number =       "5",
  pages =        "699--707",
  month =        may,
  year =         "2005",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Fri Jul 15 08:00:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/0167739X;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Alur:2005:SIS,
  author =       "Rajeev Alur and Pavol {\v{C}}ern{\'y} and P.
                 Madhusudan and Wonhong Nam",
  title =        "Synthesis of Interface Specifications for {Java}
                 Classes",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "98--109",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Amandi:2005:JFB,
  author =       "Anal{\'\i}a Amandi and Marcelo Campo and Alejandro
                 Zunino",
  title =        "{JavaLog}: a framework-based integration of {Java} and
                 {Prolog} for agent-oriented programming",
  journal =      j-COMP-LANGS-SYS-STRUCT,
  volume =       "31",
  number =       "1",
  pages =        "17--33",
  month =        apr,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1477-8424 (print), 1873-6866 (electronic)",
  ISSN-L =       "1477-8424",
  bibdate =      "Thu Jul 14 18:30:05 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/14778424",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Languages, Systems and Structures",
  journal-URL =  "http://www.sciencedirect.com/science/journal/14778424",
}

@Article{Ancona:2005:PBC,
  author =       "Davide Ancona and Ferruccio Damiani and Sophia
                 Drossopoulou and Elena Zucca",
  title =        "Polymorphic Bytecode: Compositional Compilation for
                 {Java}-like Languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "26--37",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Anonymous:2005:BKJ,
  author =       "Anonymous",
  title =        "{Bluetooth-Kommunikation unter Java: Ein System zur
                 Konfiguration funkbasierter Automatisierungssysteme}.
                 ({German}) [{Bluetooth} Communication under {Java}: a
                 system for the configuration of radio-based automation
                 systems]",
  journal =      j-ELECTRONIK,
  volume =       "54",
  number =       "7",
  pages =        "56--61",
  year =         "2005",
  CODEN =        "EKRKAR",
  ISSN =         "0013-5658",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Elektronik",
  language =     "German",
}

@Article{Anonymous:2005:CBE,
  author =       "Anonymous",
  title =        "{Compuware}, {Borland} Eye Development While
                 {Compuware} upgrades its {Java} development projects,
                 {Borland} buys a company",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "4",
  pages =        "17",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2005:COE,
  author =       "Anonymous",
  title =        "{C\#} offers an easy-to-use alternative to {Java}",
  journal =      "Computer Weekly",
  pages =        "30--30",
  day =          "18",
  month =        jan,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:FJI,
  author =       "Anonymous",
  title =        "Four {Java IDEs} Duke It Out",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "13",
  pages =        "32--38",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Mon Apr 18 13:33:57 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2005:JF,
  author =       "Anonymous",
  title =        "{Java} in the factory",
  journal =      j-CONTROL-ENG,
  volume =       "52",
  number =       "4",
  pages =        "46--52",
  year =         "2005",
  CODEN =        "CENGAX",
  ISSN =         "0010-8049",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Control Engineering",
}

@Article{Anonymous:2005:JGS,
  author =       "Anonymous",
  title =        "{Java} Grows Suites: {Sun}'s {Java Enterprise System}
                 is dividing into suites tailored to specific functions
                 such as identity management",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "5",
  pages =        "16--18",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2005:JND,
  author =       "Anonymous",
  title =        "{Java} and {.NET} differences remain unresolved",
  journal =      "Computer Weekly",
  pages =        "14--15",
  day =          "28",
  month =        jun,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:JPF,
  author =       "Anonymous",
  title =        "{Java} project fires up supporters, critics",
  journal =      j-ELECTRONIC-ENG-TIMES,
  volume =       "1364",
  pages =        "8--19",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0192-1541",
  bibdate =      "Mon May 16 14:02:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic engineering times",
}

@Article{Anonymous:2005:OSJ,
  author =       "Anonymous",
  title =        "{Oracle AS 1Og} Shares the {Java} Joy: Primed for
                 business, {Orcale Application Server 1Og Release 2}
                 frees {Java} apps from traditional server binds",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "15",
  pages =        "23--25",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Wed May 11 18:58:37 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2005:PHS,
  author =       "Anonymous",
  title =        "{Presentations}: Home servers: {Java} programming",
  journal =      "Av Magazine",
  volume =       "1",
  pages =        "33",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1361-3685",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:SAS,
  author =       "Anonymous",
  title =        "Security Audits for Source Code Fortify Source Code:
                 {Analysis Suite 3.0} brings deep, intelligent security
                 analysis to {C}, {C++}, {C\#}, {Java}, {JSP}, and {SQL}
                 program code",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "3",
  pages =        "24--25",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2005:SSE,
  author =       "Anonymous",
  title =        "{Sicherheitskritische Software: Echtzeittaugliches
                 Java}",
  journal =      j-ELECTRONIK,
  volume =       "54",
  number =       "HEFT1",
  pages =        "26--27",
  year =         "2005",
  CODEN =        "EKRKAR",
  ISSN =         "0013-5658",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Elektronik",
}

@Article{Anonymous:2005:SSS,
  author =       "Anonymous",
  title =        "Subscription Suites: {Sun Microsystems} seeks to
                 undercut competitors by reorganizing its {Java}
                 middleware stack into suites",
  journal =      j-INFORMATION-WEEK,
  volume =       "1025",
  pages =        "32--33",
  year =         "2005",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2005:TPI,
  author =       "Anonymous",
  title =        "Two Plug-ins Rev Up: {Eclipse M7 NitroX} and
                 {MyEclipse Enterprise Workbench} bring depth and
                 breadth to {Java Web} coding",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "6",
  pages =        "26--28",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2005:TTT,
  author =       "Anonymous",
  title =        "{TIGER}, {TIGER}: There's a new release of {Java} and
                 although {Pan Pantziarka} isn't sure what to call it,
                 he knows where to learn about it",
  journal =      "Application Development Advisor",
  volume =       "9",
  number =       "1",
  pages =        "28--29",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1369-4200",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:VBJ,
  author =       "Anonymous",
  title =        "{Vanward} Beefs Up {Java} Project Tracking",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "16",
  pages =        "32--33",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Article{Anonymous:2005:VPS,
  author =       "Anonymous",
  title =        "Visual programming: Some tips on how to make using the
                 {Java} platform easier and how to make coding simpler",
  journal =      j-PERS-COMPUT-WORLD,
  volume =       "28",
  number =       "3",
  pages =        "179--182",
  year =         "2005",
  CODEN =        "PCWODU",
  ISSN =         "0142-0232",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Personal computer world",
}

@Article{April:2005:NJP,
  author =       "C. A. April",
  title =        "{.NET-to-Java} Porting Made Easy: {Mainsoft} offers a
                 tool to alleviate the headaches {ISVs} face when
                 porting applications",
  journal =      "Varbusiness",
  volume =       "21",
  number =       "4",
  pages =        "46--46",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0894-5802",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Arnold:2005:JPL,
  author =       "Ken Arnold and James Gosling and David (David Colin)
                 Holmes",
  title =        "The {Java{\TM}} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Fourth",
  pages =        "xxviii + 891",
  year =         "2005",
  ISBN =         "0-321-34980-6",
  ISBN-13 =      "978-0-321-34980-4",
  LCCN =         "QA76.73.J38 A76 2005",
  bibdate =      "Mon Oct 03 12:27:10 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Avgustinov:2005:OA,
  author =       "Pavel Avgustinov and Aske Simon Christensen and Laurie
                 Hendren and Sascha Kuzins and Jennifer Lhot{\'a}k and
                 Ond{\v{r}}ej Lhot{\'a}k and Oege de Moor and Damien
                 Sereni and Ganesh Sittampalam and Julian Tibble",
  title =        "Optimising {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "117--128",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Avvenuti:2005:MUJ,
  author =       "Marco Avvenuti and Alessio Vecchio",
  title =        "{MobileRMI}: upgrading {Java Remote Method Invocation}
                 towards mobility",
  journal =      j-SPE,
  volume =       "35",
  number =       "10",
  pages =        "939--975",
  month =        aug,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.658",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Oct 4 05:39:37 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "14 Apr 2005",
}

@Article{Back:2005:KJR,
  author =       "Godmar Back and Wilson C. Hsieh",
  title =        "The {KaffeOS Java} runtime system",
  journal =      j-TOPLAS,
  volume =       "27",
  number =       "4",
  pages =        "583--630",
  month =        jul,
  year =         "2005",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Thu Sep 15 14:26:27 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Badjonski:2005:AJA,
  author =       "Mihal Badjonski and Mirjana Ivanovic and Zoran
                 Budimac",
  title =        "{Adaptable Java Agents (AJA)} --- a Tool for
                 Programming of Multi-Agent Systems",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "17--26",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Barabash:2005:PIM,
  author =       "Katherine Barabash and Ori Ben-Yitzhak and Irit Goft
                 and Elliot K. Kolodner and Victor Leikehman and Yoav
                 Ossia and Avi Owshanko and Erez Petrank",
  title =        "A parallel, incremental, mostly concurrent garbage
                 collector for servers",
  journal =      j-TOPLAS,
  volume =       "27",
  number =       "6",
  pages =        "1097--1146",
  month =        nov,
  year =         "2005",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1108970.1108972",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Jan 11 05:23:15 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Multithreaded applications with multigigabyte heaps
                 running on modern servers provide new challenges for
                 garbage collection (GC). The challenges for
                 ``server-oriented'' GC include: ensuring short pause
                 times on a multigigabyte heap while minimizing
                 throughput penalty, good scaling on multiprocessor
                 hardware, and keeping the number of expensive
                 multicycle fence instructions required by weak ordering
                 to a minimum. We designed and implemented a collector
                 facing these demands building on the mostly concurrent
                 garbage collector proposed by Boehm et al. [1991]. Our
                 collector incorporates new ideas into the original
                 collector. We make it parallel and incremental; we
                 employ concurrent low-priority background GC threads to
                 take advantage of processor idle time; we propose novel
                 algorithmic improvements to the basic mostly concurrent
                 algorithm improving its efficiency and shortening its
                 pause times; and finally, we use advanced techniques,
                 such as a low-overhead work packet mechanism to enable
                 full parallelism among the incremental and concurrent
                 collecting threads and ensure load balancing. We
                 compared the new collector to the mature,
                 well-optimized, parallel, stop-the-world mark-sweep
                 collector already in the IBM JVM. When allowed to run
                 aggressively, using 72\% of the CPU utilization during
                 a short concurrent phase, our collector prototype
                 reduces the maximum pause time from 161 ms to 46 ms
                 while only losing 11.5\% throughput when running the
                 SPECjbb2000 benchmark on a 600-MB heap on an 8-way
                 PowerPC 1.1-GHz processors. When the collector is
                 limited to a nonintrusive operation using only 29\% of
                 the CPU utilization, the maximum pause time obtained is
                 79 ms and the loss in throughput is 15.4\%.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Bardram:2005:JCA,
  author =       "J. E. Bardram",
  title =        "The {Java Context Awareness Framework} ({JCAF}) ---
                 {A} Service Infrastructure and Programming Framework
                 for Context-Aware Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3468",
  pages =        "98--115",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Bauer:2005:HA,
  author =       "Christian Bauer and Gavin King",
  title =        "Hibernate in Action",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxiii + 408",
  year =         "2005",
  ISBN =         "1-932394-15-X",
  ISBN-13 =      "978-1-932394-15-3",
  LCCN =         "QA76.64 .B393 2005",
  bibdate =      "Tue Aug 10 14:50:47 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.95",
  URL =          "http://www.manning.com/bauer",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Beatty:2005:FYW,
  author =       "Andrew Beatty",
  title =        "Feeling your way in {Java}: An essay on society and
                 emotion",
  journal =      "Ethnos",
  volume =       "70",
  number =       "1",
  pages =        "53--78",
  month =        mar,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0014-1844",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "26",
}

@Article{Beck:2005:CLT,
  author =       "Leland L. Beck and Alexander W. Chizhik and Amy C.
                 McElroy",
  title =        "Cooperative learning techniques in {CS1}: design and
                 experimental evaluation",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "470--474",
  month =        mar,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1047124.1047495",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:13 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "A set of cooperative learning exercises were designed
                 for use in a Java-based CS1 course. The exercises used
                 specific roles to focus students' attention on key
                 concepts of the Java language, and on key mental
                 processes of programming and problem solving. A
                 controlled experiment was conducted to evaluate the
                 effectiveness of this approach. The results show that
                 the cooperative learning experience had a significant
                 positive effect on student performance, and may have
                 been of special benefit to women and minority
                 students.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bellia:2005:HOP,
  author =       "Marco Bellia and M. Eugenia Occhiuto",
  title =        "Higher order Programming in {Java}: Introspection,
                 Subsumption and Extraction",
  journal =      j-FUND-INFO,
  volume =       "67",
  number =       "1--3",
  pages =        "29--44",
  month =        jan,
  year =         "2005",
  CODEN =        "FUMAAJ",
  ISSN =         "0169-2968 (print), 1875-8681 (electronic)",
  ISSN-L =       "0169-2968",
  bibdate =      "Sat Mar 5 17:03:23 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Fundamenta Informaticae",
  journal-URL =  "http://content.iospress.com/journals/fundamenta-informaticae",
}

@Article{Beloglavec:2005:ALM,
  author =       "Simon Beloglavec and Marjan Heri{\v{c}}ko and
                 Matja{\v{z}} B. Juri{\v{c}} and Ivan Rozman",
  title =        "Analysis of the limitations of multiple client
                 handling in a {Java} server environment",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "20--28",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Benaya:2005:APJ,
  author =       "Tamar Benaya and Ela Zur",
  title =        "Advanced programming in {Java} workshop: teaching
                 methodology",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "348--348",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067547",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes the Advanced Programming in Java
                 Workshop given in the Computer Science (CS) department
                 of the Open University of Israel (OUI). The workshop is
                 based primarily on J2EE technologies. We will describe
                 the methodology of the workshop which combines several
                 academic skills which we believe every university
                 graduate must be exposed to.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bergel:2005:CJC,
  author =       "Alexandre Bergel and St{\'e}phane Ducasse and Oscar
                 Nierstrasz",
  title =        "{Classbox\slash J}: controlling the scope of change in
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "177--189",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bergin:2005:AJ,
  author =       "Joseph Bergin",
  title =        "Academic jeopardy",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "389--389",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067592",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "A simple Java application is presented that can assist
                 an instructor to carry on a review of a linked set of
                 topics in a fun way. It encourages students to express
                 the necessary ideas in their own words. It is available
                 from the author.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bergin:2005:TPE,
  author =       "Joseph Bergin and Eugene Wallingford and Michael
                 Caspersen and Michael Goldweber and Michael Kolling",
  title =        "Teaching polymorphism early",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "342--343",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067541",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Is it possible to teach dynamic polymorphism early?
                 What techniques could facilitate teaching it in Java.
                 This panel will bring together people who have
                 considered this question and attempted to implement it
                 in various ways, some more completely than others. It
                 will also give participants an opportunity to explore
                 the topic and to share their own ideas.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bergstra:2005:NAJ,
  author =       "J. A. Bergstra and I. Bethke",
  title =        "Network algebra in {Java}",
  journal =      j-J-LOGIC-ALG-PROG,
  volume =       "62",
  number =       "2",
  pages =        "247--271",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1567-8326",
  ISSN-L =       "1567-8326",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Logic and Algebraic Programming",
}

@Article{Berzal:2005:JTF,
  author =       "F. Berzal",
  title =        "{Java} Tools and Frameworks for {Web} Application
                 Development",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "6",
  number =       "5",
  pages =        "5--5",
  month =        may,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Fri Jul 15 17:50:20 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/iel5/8968/31212/01453474.pdf?isnumber=31212&prod=JNL&arnumber=1453474&arSt=+5&ared=+5&arAuthor=+Berzal%2C+F.;
                 http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=31212&arnumber=1453474&count=4&index=2",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Bettini:2005:JPT,
  author =       "L. Bettini",
  title =        "A {Java} Package for Transparent Code Mobility",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3409",
  pages =        "112--122",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bierhoff:2005:LOS,
  author =       "Kevin Bierhoff and Jonathan Aldrich",
  title =        "Lightweight object specification with typestates",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "5",
  pages =        "217--226",
  month =        sep,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1095430.1081741",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:07 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Previous work has proven typestates to be useful for
                 modeling protocols in object-oriented languages. We
                 build on this work by addressing substitutability of
                 subtypes as well as improving precision and conciseness
                 of specifications. We propose a specification technique
                 for objects based on abstract states that incorporates
                 state refinement, method refinement, and orthogonal
                 state dimensions. Union and intersection types form the
                 underlying semantics of method specifications. The
                 approach guarantees substitutability and behavioral
                 subtyping. We designed a dynamic analysis to check
                 existing object-oriented software for protocol
                 conformance and validated our approach by specifying
                 two standard Java libraries. We provide preliminary
                 evidence for the usefulness of our approach.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Binder:2005:ESJ,
  author =       "W. Binder and J. Hulaas",
  title =        "Extending Standard {Java} Runtime Systems for Resource
                 Management",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3437",
  pages =        "154--169",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bishop:2005:EIJ,
  author =       "Judith Bishop and R. Nigel Horspool and Basil
                 Worrall",
  title =        "Experience in integrating {Java} with {C\#} and
                 {.NET}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "663--680",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.858",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
}

@Book{Bloch:2005:JPT,
  author =       "Joshua Bloch and Neal Gafter",
  title =        "{Java} puzzlers: traps, pitfalls, and corner cases",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xix + 282",
  year =         "2005",
  ISBN =         "0-321-33678-X (paperback)",
  ISBN-13 =      "978-0-321-33678-1 (paperback)",
  LCCN =         "QA76.73.J38 B58 2005",
  bibdate =      "Mon Mar 27 07:41:13 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0513/2005015278.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Boehm:2005:CRJ,
  author =       "H. J. Boehm",
  title =        "The constructive reals as a {Java} library",
  journal =      j-J-LOGIC-ALG-PROG,
  volume =       "64",
  number =       "1",
  pages =        "3--11",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1567-8326",
  ISSN-L =       "1567-8326",
  bibdate =      "Tue May 31 14:15:43 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Logic and Algebraic Programming",
}

@Article{Boldi:2005:MSJ,
  author =       "Paolo Boldi and Sebastiano Vigna",
  title =        "Mutable strings in {Java}: design, implementation and
                 lightweight text-search algorithms",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "54",
  number =       "1",
  pages =        "3--23",
  month =        jan,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:43 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Borger:2005:HLM,
  author =       "Egon B{\"o}rger and Nicu G. Fruja and Vincenzo Gervasi
                 and Robert F. St{\"a}rk",
  title =        "A high-level modular definition of the semantics of
                 {C\#}",
  journal =      j-THEOR-COMP-SCI,
  volume =       "336",
  number =       "2--3",
  pages =        "235--284",
  day =          "26",
  month =        may,
  year =         "2005",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Thu Jul 7 14:28:18 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  URL =          "http://www.only4gurus.net/miscellaneous/cs03.pdf",
  abstract =     "We propose a structured mathematical definition of the
                 semantics of C\# programs to provide a
                 platform-independent interpreter view of the language
                 for the C\# programmer, which can also be used for a
                 precise analysis of the ECMA standard of the language
                 and as a reference model for teaching. The definition
                 takes care to reflect directly and faithfully---as much
                 as possible without becoming inconsistent or
                 incomplete---the descriptions in the C\# standard to
                 become comparable with the corresponding models for
                 Java in St{\"a}rk et al. (Java and Java Virtual
                 Machine---Definition, Verification, Validation,
                 Springer, Berlin, 2001) and to provide for implementors
                 the possibility to check their basic design decisions
                 against an accurate high-level model. The model sheds
                 light on some of the dark corners of C\# and on some
                 critical differences between the ECMA standard and the
                 implementations of the language.",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
  keywords =     "C-sharp (C\#)",
}

@Article{Boroday:2005:DAJ,
  author =       "S. Boroday and A. Petrenko and J. Singh and H.
                 Hallal",
  title =        "Dynamic analysis of {Java} applications for
                 multithreaded antipatterns",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--7",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083247",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Formal verification is not always applicable to large
                 industrial software systems due to scalability issues
                 and difficulties in formal model and requirements
                 specification. The scalability and model derivation
                 problems could be alleviated by runtime trace analysis,
                 which combines both testing and formal verification. We
                 implement and compare an ad-hoc custom approach and a
                 formal approach to detect common bug patterns in
                 multithreaded Java software. We use the tracing
                 platform of the Eclipse IDE and state-of-the-art model
                 checker Spin.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Briggs:2005:TMJ,
  author =       "L. L. Briggs",
  title =        "There's more to {Java} vs. {.NET} than technology",
  journal =      "Application Development Trends",
  volume =       "12",
  number =       "5",
  pages =        "43--47",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1073-9564",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Brinkschulte:2005:ICA,
  author =       "U. Brinkschulte and M. Pacher",
  title =        "Implementing Control Algorithms Within a Multithreaded
                 {Java} Microcontroller",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3432",
  pages =        "33--49",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Brosgol:2005:CME,
  author =       "B. M. Brosgol",
  title =        "A Comparison of the Mutual Exclusion Features in {Ada}
                 and the Real-Time Specification for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3555",
  pages =        "129--143",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Bruce:2005:CHT,
  author =       "Kim B. Bruce",
  title =        "Controversy on how to teach {CS} 1: a discussion on
                 the {SIGCSE}-members mailing list",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "2",
  pages =        "111--117",
  month =        jun,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1083431.1083477",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:18 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse37.html#Bruce05;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2005.bib",
  abstract =     "A discussion took place on the SIGCSE mailing list in
                 late March of 2004 that raised important issues on how
                 to teach introductory courses using Java. This article
                 attempts to summarize several of the important points
                 raised during this discussion, among them whether or
                 how objects should be taught early or late in a CS 1
                 course, or indeed, whether object-oriented languages
                 should be postponed until a second course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bruckschlegel:2005:MCC,
  author =       "T. Bruckschlegel",
  title =        "Microbenchmarking {C++}, {C\#}, and {Java}",
  journal =      j-CCCUJ,
  volume =       "23",
  number =       "7",
  pages =        "14--21",
  year =         "2005",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Bruno:2005:JWS,
  author =       "E. J. Bruno",
  title =        "{Java Web} Services \& Application Architectures",
  journal =      j-DDJ,
  volume =       "30",
  number =       "2",
  pages =        "16--23",
  year =         "2005",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Budimlic:2005:CAW,
  author =       "Zoran Budimli{\'c} and Ken Kennedy",
  title =        "Compiling almost-whole {Java} programs",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "573--588",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.850",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
  xxpages =      "573--587",
}

@Article{Buhr:2005:ISM,
  author =       "Peter A. Buhr and Ashif S. Harji",
  title =        "Implicit-signal monitors",
  journal =      j-TOPLAS,
  volume =       "27",
  number =       "6",
  pages =        "1270--1343",
  month =        nov,
  year =         "2005",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1108970.1108975",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Jan 11 05:23:15 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "An implicit (automatic) signal monitor uses a
                 waituntil predicate statement to construct
                 synchronization, as opposed to an explicit-signal
                 monitor using condition variables and signal/wait
                 statements for synchronization. Of the two
                 synchronization approaches, the implicit-signal monitor
                 is often easier to use and prove correct, but has an
                 inherently high execution cost. Hence, its primary use
                 is for prototyping concurrent systems using monitors,
                 where speed and accuracy of software development
                 override execution performance. After a concurrent
                 system is working, any implicit-signal monitor that is
                 a performance bottleneck can be converted to an
                 explicit-signal monitor. Unfortunately, many
                 monitor-based concurrency systems provide only
                 explicit-signal monitors, precluding the design
                 benefits of implicit-signal monitors. This article
                 presents a historical look at the development of the
                 implicit-signal monitor in relation to its counterpart
                 the explicit-signal monitor. An analysis of the
                 different kinds of implicit-signal monitors shows the
                 effects certain design decisions have on the problems
                 that can be solved and the performance of the
                 solutions. Finally, an extensive discussion is
                 presented on simulating an implicit-signal monitor via
                 different explicit-signal monitors. These simulations
                 are reasonably complex, depending on the kind of
                 explicit-signal monitor available for the simulation
                 and the desired semantics required for the
                 implicit-signal monitor. Interestingly, the complexity
                 of the simulations also illustrates certain
                 deficiencies with explicit-signal monitors, which are
                 discussed in detail. Performance comparisons are made
                 among the different simulations with monitors from the
                 concurrent systems PThreads, Java, and $ \mu $C++.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{Burnette:2005:EIP,
  author =       "Ed Burnette",
  title =        "{Eclipse IDE}: pocket guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "ix + 117",
  year =         "2005",
  ISBN =         "0-596-10065-5",
  ISBN-13 =      "978-0-596-10065-0",
  LCCN =         "QA76.73.J38 B875 2005",
  bibdate =      "Thu Oct 6 07:24:49 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596100650",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Cabri:2005:ERB,
  author =       "Giacomo Cabri and Luca Ferrari and Letizia Leonardi",
  title =        "Exploiting runtime bytecode manipulation to add roles
                 to {Java} agents",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "54",
  number =       "1",
  pages =        "73--98",
  month =        jan,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:43 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Cabri:2005:IRJ,
  author =       "G. Cabri and L. Ferrari and L. Leonardi",
  title =        "Injecting roles in {Java} agents through runtime
                 bytecode manipulation",
  journal =      j-IBM-SYS-J,
  volume =       "44",
  number =       "1",
  pages =        "185--208",
  month =        "????",
  year =         "2005",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Sat Apr 16 18:29:42 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/",
  URL =          "http://www.research.ibm.com/journal/sj/441/cabri.html;
                 http://www.research.ibm.com/journal/sj/441/cabri.pdf;
                 http://www.research.ibm.com/journal/sj/441/cabri.txt",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Systems Journal",
  ordernumber =  "G321-0156",
}

@Article{Cahoon:2005:RAE,
  author =       "Brendon Cahoon and Kathryn S. McKinley",
  title =        "Recurrence analysis for effective array prefetching in
                 {Java}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "589--616",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.851",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
}

@Article{Cepa:2005:MGM,
  author =       "V. Cepa and M. Mezini",
  title =        "{MobCon}: a Generative Middleware Framework for {Java}
                 Mobile Applications",
  journal =      "Proceedings of the Annual Hawaii International
                 Conference on System Sciences",
  volume =       "CONF38",
  pages =        "283--283",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1060-3425",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Chan:2005:UXJ,
  author =       "W. L. Chan and Z. Qu",
  title =        "Using {XML\slash Java} to Enhance an Online Learning
                 Architecture for Engineering Education",
  journal =      j-INT-J-ENG-EDUC,
  volume =       "21",
  number =       "2",
  pages =        "288--296",
  year =         "2005",
  CODEN =        "IEEDEF",
  ISSN =         "0949-149X",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Engineering Education",
}

@Article{Chang:2005:EJG,
  author =       "Aaron N. Chang and Jason McDermott and Ram Samudrala",
  title =        "An enhanced {Java} graph applet interface for
                 visualizing interactomes",
  journal =      j-BIOINFORMATICS,
  volume =       "21",
  number =       "8",
  pages =        "1741--1742",
  day =          "15",
  month =        apr,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Mon Apr 18 13:33:57 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "2",
}

@Article{Chang:2005:RIR,
  author =       "R. S. Chang",
  title =        "Review of {{\em Integration-Ready Architecture and
                 Design: Software Engineering with XML, Java, .NET,
                 Wireless, Speech, and Knowledge Technologies\/} by Jeff
                 Zhuk, Cambridge University Press, 2004, \$75.00, ISBN
                 0-521-52583-7}",
  journal =      j-QUEUE,
  volume =       "3",
  number =       "2",
  pages =        "58--58",
  month =        mar,
  year =         "2005",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Thu Mar 24 17:18:57 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Chatley:2005:KLP,
  author =       "Robert Chatley and Thomas Timbul",
  title =        "{KenyaEclipse}: learning to program in eclipse",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "5",
  pages =        "245--248",
  month =        sep,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1095430.1081746",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:07 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "A fundamental part of a Computer Science degree is
                 learning to program. Rather than starting students on a
                 full commercial language, we favour using a dedicated
                 ``teaching language'' to introduce programming
                 concepts. At the same time, we want to introduce
                 students to popular tools that assist in the software
                 development process. However, up until now our teaching
                 language, Kenya, has not been supported by professional
                 IDEs. Therefore, we have been unable to progress
                 smoothly from first principles to the state of the art
                 within one environment. We present work that integrates
                 the Kenya language into the Eclipse environment.
                 Students can now become familiar with the major
                 features of a professional IDE while learning to
                 program, and experience a smooth transition to
                 commercial languages within the same environment. One
                 of the hardest things to teach students is good
                 programming style. Compilers reveal syntactic and type
                 errors, but do not analyse style. We have harnessed
                 as-you-type code checking, as seen in Eclipse's Java
                 development tools, to provide advice on program style
                 as well as correctness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Chavez:2005:JFE,
  author =       "H. Z. Chavez",
  title =        "{JavaServer Faces}: An Excellent Learning Tool",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "6",
  number =       "2",
  pages =        "6--6",
  month =        feb,
  year =         "2005",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1109/MDSO.2005.11",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Fri Jul 15 17:50:18 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/iel5/8968/30522/01407763.pdf?isnumber=30522&prod=JNL&arnumber=1407763&arSt=+6&ared=+6&arAuthor=Chavez%2C+H.Z.;
                 http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=30522&arnumber=1407763&count=5&index=4",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Che:2005:REC,
  author =       "Haoyang Che",
  title =        "Review of {{\booktitle{The Elements of C++ Style}} by
                 Trevor Misfeldt, Gregory Bumgardner, and Andrew Gray;
                 Cambridge University Press: Cambridge, 2004,
                 0-521-89308-9}",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "2",
  pages =        "29--29",
  month =        mar,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1050849.1050869",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:49 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "When we first write an article, generally speaking, we
                 may not pay a lot of attention to the style. However,
                 after a few more pieces, we will gradually find that
                 these articles need polishing not only in the contents,
                 but also in the styles, so we turn to Struck and
                 White's The Elements of Style for help. Similarly, in
                 the field of computer languages, there have many books
                 (The Elements of Java Style, The Elements of C++ Style,
                 The Elements of UML Style) furnishing a set of rules
                 for writing in a certain language like C++ or Java. To
                 some extent, conforming to style is a symbol of
                 specialty. Consistent style facilitates communication
                 and will be honored by other members in the same
                 team.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Chen:2005:IPF,
  author =       "Stephen Chen and Stephen Morris",
  title =        "Iconic programming for flowcharts, {Java}, {Turing},
                 etc",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "104--107",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067477",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "One of the largest barriers to learning programming is
                 the precise and complex syntax required to write
                 programs. This barrier is a key impediment to the
                 integration of programming into the core curriculum of
                 general high school science courses --- there is not
                 enough time to learn both syntax and programming in a
                 three-week course module. The newly developed ``Iconic
                 Programmer'' allows executable programs to be written
                 through mouse clicks and menus, includes symbol by
                 symbol translation into Java and Turing, and comes
                 complete with a three-week lesson plan suitable to new
                 programmers. To date, the new tool has been used
                 effectively with full-semester, introductory
                 programming courses at both the university and high
                 school level.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Chen:2005:JMM,
  author =       "F. Chen and G. Rosu",
  title =        "{Java-MOP}: a Monitoring Oriented Programming
                 Environment for {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3440",
  pages =        "546--550",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Choi:2005:JMA,
  author =       "Hyung-Kyu Choi and Yoo C. Chung and Soo-Mook Moon",
  title =        "{Java} Memory Allocation with Lazy Worst Fit for Small
                 Objects",
  journal =      j-COMP-J,
  volume =       "48",
  number =       "4",
  pages =        "437--442",
  month =        jul,
  year =         "2005",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/bxh101",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Nov 8 05:58:50 MST 2005",
  bibsource =    "http://comjnl.oxfordjournals.org/content/vol48/issue4/index.dtl;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://comjnl.oxfordjournals.org/cgi/content/abstract/48/4/437;
                 http://comjnl.oxfordjournals.org/cgi/reprint/48/4/437",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Article{Christensen:2005:TLJ,
  author =       "Henrik B{\ae}rbak Christensen",
  title =        "{TS-05}: 150 lines of {Java} with high architectural
                 complexity",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "396--396",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067599",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In the short time span available in a software
                 architecture course, it is difficult to find a software
                 system that is both interesting from an architectural
                 perspective and so small that it does not overwhelm the
                 students. We present TS-05 which is a bare 150 line
                 Java ``toy-system'' that never-the-less exhibits
                 architectural complexity and challenges that emphasize
                 the usefulness of architectural concepts, primarily
                 views, quality attributes and connectors.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Cimato:2005:OOJ,
  author =       "S. Cimato and A. {De Santis} and U. {Ferraro
                 Petrillo}",
  title =        "Overcoming the obfuscation of {Java} programs by
                 identifier renaming",
  journal =      j-J-SYST-SOFTW,
  volume =       "78",
  number =       "1",
  pages =        "60--72",
  month =        oct,
  year =         "2005",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Tue Sep 7 07:27:01 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Cirstea:2005:RBP,
  author =       "H. Cirstea and P. E. Moreau and A. Reilles",
  title =        "Rule-based Programming in {Java} for Protocol
                 Verification",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "117",
  number =       "??",
  pages =        "209--227",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Cohen:2005:AIC,
  author =       "Robert F. Cohen and Alexander V. Fairley and David
                 Gerry and Gustavo R. Lima",
  title =        "Accessibility in introductory computer science",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "17--21",
  month =        mar,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1047124.1047367",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:13 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes our efforts to integrate software
                 accessibility into the CS1 curriculum. Accessibility is
                 an important aspect of modern software systems for both
                 legal and ethical reasons. The acceptance of Java as
                 language for CS1 gives us the opportunity to teach
                 accessibility from the beginning, since Java
                 Accessibility is simple and integrated into Swing
                 components. We present simple guidelines on how to
                 incorporate Accessibility into a Java based CS1, and
                 describe programming projects that incorporate
                 accessibility.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Cok:2005:EJU,
  author =       "D. R. Cok and J. R. Kiniry",
  title =        "{ESC\slash Java2}: Uniting {ESC\slash Java} and {JML}
                 --- Progress and Issues in Building and Using
                 {ESC\slash Java2}, Including a Case Study Involving the
                 Use of the Tool to Verify Portions of an {Internet}
                 Voting Tally System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3362",
  pages =        "108--128",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Cook:2005:HCE,
  author =       "Robert P. Cook",
  title =        "Heuristic compression of an {English} word list",
  journal =      j-SPE,
  volume =       "35",
  number =       "6",
  pages =        "577--581",
  month =        may,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.648",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:39 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  abstract =     "The goal of the project was to design and implement an
                 English word-list representation suitable for
                 spell-checking in space-constrained environments. The
                 compression algorithm was derived by statistically
                 analyzing the word list. A compression ratio of 18\%
                 was achieved through a combination of prefix and suffix
                 encoding. The compressed file can be randomly accessed
                 by prefix marker positions. A simple spell-checker
                 based on the encoding was implemented and tested in
                 Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "compression; English word list; spell checking",
  onlinedate =   "16 Feb 2005",
}

@Book{Crane:2005:AA,
  author =       "Dave Crane and Eric Pascarello and Darren James",
  title =        "{Ajax} in Action",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "680 (est.)",
  year =         "2005",
  ISBN =         "1-932394-61-3",
  ISBN-13 =      "978-1-932394-61-0",
  LCCN =         "????",
  bibdate =      "Mon Oct 03 16:17:49 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$22.50 (electronic), US\$44.95 (print +
                 electronic)",
  URL =          "http://www.manning.com/books/crane",
  acknowledgement = ack-nhfb,
  keywords =     "Ajax (Asynchronous JavaScript and XML)",
}

@Article{Czajkowski:2005:RMI,
  author =       "Grzegorz Czajkowski and Stephen Hahn and Glenn Skinner
                 and Pete Soper and Ciar{\'a}n Bryce",
  title =        "A resource management interface for the {Java\TM{}}
                 platform",
  journal =      j-SPE,
  volume =       "35",
  number =       "2",
  pages =        "123--157",
  month =        feb,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.628",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:36 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "17 Nov 2004",
}

@Article{dAmorim:2005:EBR,
  author =       "Marcelo d'Amorim and Klaus Havelund",
  title =        "Event-based runtime verification of {Java} programs",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--7",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083249",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "We introduce the temporal logic HAWK and its
                 supporting tool for runtime verification of Java
                 programs. A monitor for a HAWK formula checks if a
                 finite trace of program events satisfies the formula.
                 HAWK is a programming-oriented extension of the
                 rule-based EAGLE logic that has been shown capable of
                 defining and implementing a range of finite trace
                 monitoring logics, including future and past time
                 temporal logic, metric (real-time) temporal logics,
                 interval logics, forms of quantified temporal logics,
                 extended regular expressions, state machines, and
                 others. Monitoring is achieved on a state-by-state
                 basis avoiding any need to store the input trace. HAWK
                 extends EAGLE with constructs for capturing
                 parameterized program events such as method calls and
                 method returns. Parameters can be executing thread, the
                 objects that methods are called upon, arguments to
                 methods, and return values. HAWK allows one to refer to
                 these in formulae. The tool synthesizes monitors from
                 formulae and automates program instrumentation.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{daSilva:2005:EEJ,
  author =       "A. Faustino da Silva and V. Santos Costa",
  title =        "An Experimental Evaluation of {JAVA JIT} Technology",
  journal =      j-J-UCS,
  volume =       "11",
  number =       "7",
  pages =        "1291--1310",
  month =        "????",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Thu Jul 10 06:41:40 MDT 2008",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_11_7/an_experimental_evaluation_of",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
}

@Book{Davison:2005:KGP,
  author =       "Andrew Davison",
  title =        "Killer game programming in {Java}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xxiv + 969",
  year =         "2005",
  ISBN =         "0-596-00730-2",
  ISBN-13 =      "978-0-596-00730-0",
  LCCN =         "QA76.76.C672 D38 22005",
  bibdate =      "Thu Oct 6 07:23:05 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  remark =       "Java gaming and graphics programming---Cover.",
  subject =      "Computer games; Programming; Handbooks, manuals, etc;
                 Computer animation; Handbooks, manuals, etc; Computer
                 drawing; Handbooks, manuals, etc; Java (Computer
                 program language); Handbooks, manuals, etc",
}

@Article{deLeeuw:2005:BRC,
  author =       "Jan de Leeuw",
  title =        "Book Review: {{\em Correspondence Analysis and Data
                 Coding with Java and R}}",
  journal =      j-J-STAT-SOFT,
  volume =       "14",
  number =       "BR-5",
  pages =        "1--2",
  month =        sep,
  year =         "2005",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Fri Jul 4 10:54:15 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jstatsoft.org/v14/b05",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  pubdates =     "Submitted 2005-09-08; Accepted 2005-09-08",
}

@Article{Deng:2005:DRE,
  author =       "A. Deng and H. Yu and S. Hu",
  title =        "Design and Realization of Embedded System Development
                 Platform Based on {Java} Technology",
  journal =      j-INF-CONTROL,
  volume =       "34",
  number =       "1",
  pages =        "96--103",
  year =         "2005",
  CODEN =        "IFCNA4",
  ISSN =         "1002-0411",
  ISSN-L =       "0019-9958",
  bibdate =      "Mon May 16 14:02:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Control",
}

@Article{Denti:2005:MPJ,
  author =       "Enrico Denti and Andrea Omicini and Alessandro Ricci",
  title =        "Multi-paradigm {Java--Prolog} integration in tu
                 {Prolog}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "57",
  number =       "2",
  pages =        "217--250",
  month =        aug,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:49 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Detlefs:2005:STP,
  author =       "David Detlefs and Greg Nelson and James B. Saxe",
  title =        "{Simplify}: a theorem prover for program checking",
  journal =      j-J-ACM,
  volume =       "52",
  number =       "3",
  pages =        "365--473",
  month =        may,
  year =         "2005",
  CODEN =        "JACOAH",
  DOI =          "https://doi.org/10.1145/1066100.1066102",
  ISSN =         "0004-5411 (print), 1557-735X (electronic)",
  ISSN-L =       "0004-5411",
  bibdate =      "Tue Jul 5 06:39:45 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This article provides a detailed description of the
                 automatic theorem prover Simplify, which is the proof
                 engine of the Extended Static Checkers ESC/Java and
                 ESC/Modula-3. Simplify uses the Nelson--Oppen method to
                 combine decision procedures for several important
                 theories, and also employs a matcher to reason about
                 quantifiers. Instead of conventional matching in a term
                 DAG, Simplify matches up to equivalence in an E-graph,
                 which detects many relevant pattern instances that
                 would be missed by the conventional approach. The
                 article describes two techniques, error context
                 reporting and error localization, for helping the user
                 to determine the reason that a false conjecture is
                 false. The article includes detailed performance
                 figures on conjectures derived from realistic
                 program-checking problems.",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J401",
}

@Article{Dietl:2005:TSC,
  author =       "W. Dietl and P. Muller and A. PoetzschHeffter",
  title =        "A Type System for Checking Applet Isolation in {Java}
                 Card",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3362",
  pages =        "129--150",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Drysdale:2005:YRC,
  author =       "S. Drysdale and J. Hromcik and D. Reed and R. Hahne",
  title =        "The Year in Review: Changes and Lessons Learned in the
                 Design and Implementation of the {AP CS Exam} in
                 {Java}",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "323--324",
  year =         "2005",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Eckerdal:2005:NJP,
  author =       "Anna Eckerdal and Michael Thun{\'e}",
  title =        "Novice {Java} programmers' conceptions of ``object''
                 and ``class'', and variation theory",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "89--93",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067473",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Problems with understanding concepts, so called
                 misconceptions, have been investigated and reported in
                 a number of studies regarding object-oriented
                 programming [4], [3]. In a first programming course
                 using an object-oriented language, it is of great
                 importance that students get a good understanding of
                 central concepts like object and class at an early
                 stage of their education. We have, with a
                 phenomenographic research approach, performed a study
                 with first year university students, investigating what
                 an understanding of the concepts object and class
                 includes from a student perspective. By applying
                 variation theory [8] to our results we are able to
                 pin-point what the students need to be able to discern
                 in order to gain a ``rich'' understanding of these
                 concepts.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Eich:2005:JTY,
  author =       "Brendan Eich",
  title =        "{JavaScript} at ten years",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "129--129",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Eichler:2005:CJT,
  author =       "M. L. Eichler and P. R. Xavier and R. C. Araujo and R.
                 C. Forte and J. C. DelPino",
  title =        "{Carbopolis}: a {Java} Technology-Based Free Software
                 for Environmental Education Installing {Carbopolis}",
  journal =      "Journal of Computers in Mathematics and Science
                 Teaching",
  volume =       "24",
  number =       "1",
  pages =        "43--72",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0731-9258",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Elsharnouby:2005:USJ,
  author =       "T. Elsharnouby and A. U. Shankar",
  title =        "Using {SeSF Java} in Teaching Introductory Network
                 Courses",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "67--71",
  year =         "2005",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Elsharnouby:2005:UST,
  author =       "Tamer Elsharnouby and A. Udaya Shankar",
  title =        "Using {SeSFJava} in teaching introductory network
                 courses",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "67--71",
  month =        mar,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1047124.1047381",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:13 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Networking course projects are usually described by an
                 informal specification and a collection of test cases.
                 Students often misunderstand the specification or
                 oversimplify it to fit just the test cases. Using
                 formal methods eliminates these misunderstandings and
                 allows the students to test their projects thoroughly,
                 but at the expense of learning a new language. SeSF
                 (Services and Systems Framework) is one way to overcome
                 this obstacle. In SeSF, both implementations and
                 services are defined by programs in conventional
                 languages, thereby, eliminating the need to teach the
                 students a new language. SeSF is a markup language that
                 can be integrated with any conventional language. The
                 integration of SeSF and Java is called SeSFJava.
                 SeSFJava provides a technique to mechanically test
                 whether student projects conform to their corresponding
                 specifications, thereby, providing the instructors with
                 a technique for semi-automated grading. We present a
                 four-phase transport protocol project, and describe how
                 SeSFJava is used in specifying, testing and grading the
                 different phases of this project. The use of SeSF
                 significantly (1) increased the percentage of students
                 who completed the projects, (2) reduced their email
                 queries about the specification, and (3) reduced the
                 grading time.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ernest:2005:WMD,
  author =       "J. C. Ernest and A. S. Bowser and S. Ghule and S.
                 Sudireddy and J. P. Porter and D. A. Talbert and M. J.
                 Kosa",
  title =        "Weathering {MindStorms} with drizzle and {DIODE} in
                 {CS0}",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "353--353",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067552",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We introduce Drizzle, our new simple object-oriented
                 scripting language for programming LEGO MindStorms
                 robots, and DIODE, the Drizzle Integrated
                 Object-Oriented Development Environment. Drizzle and
                 DIODE have evolved from a student project into useful
                 resources for our CS0 course. In this work we describe
                 Drizzle and DIODE and discuss our experiences with them
                 in our CS0 course. We are dismayed by the low retention
                 rates of undergraduate majors in CS1 and CS2. To
                 attempt to alleviate this problem, we introduced a new
                 required CS0 course in Fall 2004. Its goals are to give
                 students a breadth-first overview of CS and to expose
                 them to algorithmic problem solving before immersing
                 them in Java. We decided to use the MindStorms robots
                 to accommodate student diversity, to introduce a fun
                 element to the course, and to force the students to
                 focus on problem analysis instead of detailed syntax.
                 Our approach complements [2].Drizzle is a simple
                 object-oriented scripting language. It supports
                 repetition, selection, simple assignment statements,
                 logical operators, numeric variables, and predefined
                 objects representing components of a robot, i.e.,
                 sensors, motors, and the LCD display. Drizzle is
                 purposely minimal to be suitable for students without
                 prior programming experience. To encourage
                 documentation, Drizzle supports comments. DIODE is the
                 IDE that allows a MindStorms robot to be programmed in
                 Drizzle. To achieve this, we used the leJOS API [3] to
                 implement method call abstractions supporting the
                 predefined objects. The IDE includes an intuitive GUI.
                 It allows for automatic compilation of Drizzle code,
                 including a translator from Drizzle to Java utilizing
                 the predefined MindStorms objects. DIODE also directly
                 interfaces to the robot's IR device. We provided these
                 features because our typical user was familiar with
                 text editing but was not familiar with command-line
                 tools. Our CS0 course is currently taught in one
                 120-student section and meets 3 hours per week for 14
                 weeks. At least 3 hours are spent on each of
                 algorithmic thinking and concepts of programming
                 languages before Drizzle and DIODE are formally
                 presented. The students see an actual problem with
                 pseudocode and the corresponding Drizzle solution. A
                 problem is then posed as a ``Drizzle Team Challenge''.
                 Students must complete individual solution plans. The
                 instructor then forms the student groups. Next, the
                 teams produce solution plans. Finally, they are allowed
                 to program with the actual robot. The lab has 3
                 computers with DIODE installed and 6 robots with 6
                 tracks. During the Fall 2004 offering, the 14 teams
                 consisted of between 5 and 8 students. The large class
                 size and small number of robots made smaller groups
                 infeasible. No team solved the problem totally
                 correctly during the first lab session. Not
                 surprisingly, the smaller groups were more effective.
                 All teams submitted at least a partial solution to the
                 problem; 12 completed the solution. Students were
                 excited about working with the robots. We are using
                 Drizzle (and DIODE) again during Spring 2005. We expect
                 to have smaller groups. We hope to evaluate the
                 effectiveness of Drizzle; some possible approaches are
                 additional questions in the course evaluation, surveys
                 at the beginning and end of CS1, and analyses of
                 CS1/CS2 retention rates. We may also compare the usage
                 of Drizzle with the standard MindStorms approach and
                 Alice [1].",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Eubanks:2005:WCJ,
  author =       "Brian D. Eubanks",
  title =        "Wicked cool {Java}: code bits, open-source libraries,
                 and project ideas",
  publisher =    pub-NO-STARCH,
  address =      pub-NO-STARCH:adr,
  pages =        "????",
  year =         "2005",
  ISBN =         "1-59327-061-5",
  ISBN-13 =      "978-1-59327-061-2",
  LCCN =         "QA76.73.J38 E92 2005",
  bibdate =      "Mon Dec 5 14:57:31 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/toc/ecip0518/2005024341.html",
  acknowledgement = ack-nhfb,
  remark =       "Java language and core API --- String utilities ---
                 Processing XML and HTML --- Crawling the semantic Web
                 --- Math and science --- Graphics and visualization ---
                 Multimedia and synchronization --- Fun and games ---
                 Integration",
  subject =      "Java (Computer program language); Object-oriented
                 programming (Computer science)",
}

@Article{Fahringer:2005:JNP,
  author =       "Thomas Fahringer and Alexandru Jugravu",
  title =        "{JavaSymphony}: a new programming paradigm to control
                 and synchronize locality, parallelism and load
                 balancing for parallel and distributed computing",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "1005--1025",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.840",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@TechReport{Farzan:2005:FJC,
  author =       "Azadeh Farzan and Jos{\'e} Meseguer and Grigore
                 Ro{\c{s}}u",
  title =        "Formal {JVM} Code Analysis in {JavaFAN}",
  type =         "Technical Report",
  institution =  "Department of Computer Science, University of Illinois
                 at Urbana-Champaign",
  address =      "Urbana-Champaign, IL, USA",
  day =          "19",
  month =        jan,
  year =         "2005",
  bibdate =      "Thu Dec 01 07:26:36 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.cs.toronto.edu/~azadeh/papers/amast04.pdf",
  abstract =     "JavaFAN uses a Maude rewriting logic specification of
                 the JVM semantics as the basis of a software analysis
                 tool with competitive performance. It supports formal
                 analysis of concurrent JVM programs by means of
                 symbolic simulation, breadth-first search, and LTL
                 model checking. We discuss JavaFAN's executable formal
                 specification of the JVM, illustrate its formal
                 analysis capabilities using several case studies, and
                 compare its performance with similar Java analysis
                 tools.",
  acknowledgement = ack-nhfb,
}

@Article{Fiedler:2005:TMT,
  author =       "Daniel Fiedler and Kristen Walcott and Thomas
                 Richardson and Gregory M. Kapfhammer and Ahmed Amer and
                 Panos K. Chrysanthis",
  title =        "Towards the measurement of tuple space performance",
  journal =      j-SIGMETRICS,
  volume =       "33",
  number =       "3",
  pages =        "51--62",
  month =        dec,
  year =         "2005",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1111572.1111574",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Fri Jun 27 09:21:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Many applications rely upon a tuple space within
                 distributed system middleware to provide loosely
                 coupled communication and service coordination. This
                 paper describes an approach for measuring the
                 throughput and response time of a tuple space when it
                 handles concurrent local space interactions.
                 Furthermore, it discusses a technique that populates a
                 tuple space with tuples before the execution of a
                 benchmark in order to age the tuple space and provide a
                 worst-case measurement of space performance. We apply
                 the tuple space benchmarking and aging methods to the
                 measurement of the performance of a JavaSpace, a
                 current example of a tuple space that integrates with
                 the Jini network technology. The experiment results
                 indicate that: (i) the JavaSpace exhibits limited
                 scalability as the number of concurrent interactions
                 from local space clients increases, (ii) the aging
                 technique can operate with acceptable time overhead,
                 and (iii) the aging technique does ensure that the
                 results from benchmarking capture the worst-case
                 performance of a tuple space.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
}

@Book{Flanagan:2005:JN,
  author =       "David Flanagan",
  title =        "{Java} in a nutshell",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  edition =      "Fifth",
  pages =        "xxiv + 1224",
  year =         "2005",
  ISBN =         "0-596-00773-6",
  ISBN-13 =      "978-0-596-00773-7",
  LCCN =         "QA76.73.J38 F553 2005",
  bibdate =      "Tue Aug 2 10:55:45 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Covers Java 5.0. Contains an accelerated introduction
                 to Java for C and C++ programmers who want to learn the
                 language fast.",
  subject =      "Java (Computer program language); Web servers;
                 Object-oriented programming (Computer science)",
}

@Book{Flanagan:2005:JND,
  author =       "David Flanagan",
  title =        "{Java} in a nutshell: [a desktop quick reference]",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fifth",
  pages =        "xxiv + 1224",
  year =         "2005",
  ISBN =         "0-596-00773-6",
  ISBN-13 =      "978-0-596-00773-7",
  LCCN =         "QA76.73.J38 F553 2005",
  bibdate =      "Thu Oct 6 07:23:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596007737",
  acknowledgement = ack-nhfb,
  remark =       "Covers Java 5.0---Cover.",
  subject =      "Java (Computer program language); Web servers;
                 Object-oriented programming (Computer science)",
}

@Book{Forman:2005:JRA,
  author =       "Ira Forman and Nate Forman",
  title =        "{Java} Reflection in Action",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxii + 273",
  year =         "2005",
  ISBN =         "1-932394-18-4",
  ISBN-13 =      "978-1-932394-18-4",
  LCCN =         "QA76.73.J38 F674 2005",
  bibdate =      "Fri Jul 09 11:24:38 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$44.95",
  URL =          "http://www.manning.com/catalog/view.php?book=forman",
  acknowledgement = ack-nhfb,
}

@Article{Fox:2005:SIA,
  author =       "Geoffrey Fox",
  title =        "Special Issue: {ACM 2002 Java Grande-ISCOPE
                 Conference}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "419--422",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.933",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
}

@Book{Franciscus:2005:SR,
  author =       "George Franciscus and Danilo Gurovich",
  title =        "Struts recipes",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxix + 489",
  year =         "2005",
  ISBN =         "1-932394-24-9 (paperback)",
  ISBN-13 =      "978-1-932394-24-5 (paperback)",
  LCCN =         "TK5105.8885.S76 F73 2005",
  bibdate =      "Fri Oct 21 06:43:56 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Struts framework; Java (Computer program language)",
}

@Article{Fredlund:2005:GCP,
  author =       "L. A. Fredlund",
  title =        "Guaranteeing Correctness Properties of a {Java} Card
                 Applet",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "113",
  number =       "??",
  pages =        "217--233",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Fu:2005:RTJ,
  author =       "C. Fu and A. Milanova and B. G. Ryder and D. G.
                 Wonnacott",
  title =        "Robustness testing of {Java} server applications",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "31",
  number =       "4",
  pages =        "292--311",
  month =        apr,
  year =         "2005",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2005.51",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1435351",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Funika:2005:PIJ,
  author =       "W. Funika and A. Janik",
  title =        "Providing Interoperability for {Java}-Oriented
                 Monitoring Tools with {JINEXT}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3515",
  pages =        "158--165",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gal:2005:IJB,
  author =       "A. Gal and C. W. Probst and M. Franz",
  title =        "Integrated {Java} Bytecode Verification",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "131",
  number =       "",
  pages =        "27--38",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Garbervetsky:2005:PIR,
  author =       "D. Garbervetsky and C. Nakhli and S. Yovine and H.
                 Zorgati",
  title =        "Program Instrumentation and Run-Time Analysis of
                 Scoped Memory in {Java}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "113",
  number =       "??",
  pages =        "105--121",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Geer:2005:EBD,
  author =       "David Geer",
  title =        "{Eclipse} Becomes the Dominant {Java IDE}",
  journal =      j-COMPUTER,
  volume =       "38",
  number =       "7",
  pages =        "16--18",
  month =        jul,
  year =         "2005",
  CODEN =        "CPTRB4",
  DOI =          "https://doi.org/10.1109/MC.2005.228",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Jul 4 17:16:17 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/co/2005/07/r7016.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Book{Gehtland:2005:SDN,
  author =       "Justin Gehtland and Bruce A. Tate",
  title =        "{Spring}: a developer's notebook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xv + 184",
  year =         "2005",
  ISBN =         "0-596-00910-0",
  ISBN-13 =      "978-0-596-00910-6",
  LCCN =         "QA76.73.S67 T38 2005",
  bibdate =      "Mon Mar 27 08:51:58 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
  subject =      "Spring (Computer program language); Application
                 software; Development",
}

@Article{Geller:2005:TME,
  author =       "Viktor Geller and Christelle Scharff",
  title =        "Traditional and more ``exotic'' {.NET} languages: {VB
                 .NET}, {J\#}, {C\#} and {SML .NET}",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "406--406",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067610",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We study the .NET platform, various .NET languages and
                 their interoperability (with an emphasis on C\# and SML
                 .NET), compare C\# and Java 1.5, and develop related
                 educational material to be used in a Programming
                 Paradigms course. Introducing .NET --- one platform
                 supporting different paradigms --- in such a course
                 seems to be a unique experience in Computer Science
                 Education. It may be a motivating factor for students
                 to learn new programming languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Genaim:2005:IFA,
  author =       "S. Genaim and F. Spoto",
  title =        "Information Flow Analysis for {Java} Bytecode",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3385",
  pages =        "346--362",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gerth:2005:JTD,
  author =       "V. E. Gerth and P. D. Vize",
  title =        "A {Java} tool for dynamic {Web}-based {$3$D}
                 visualization of anatomy and overlapping gene or
                 protein expression patterns",
  journal =      j-BIOINFORMATICS,
  volume =       "21",
  number =       "7",
  pages =        "1278--1279",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
}

@Article{GerthVictor:2005:JTD,
  author =       "E. {Gerth Victor} and D. Vize Peter",
  title =        "A {Java} tool for dynamic web-based {$3$D}
                 visualization of anatomy and overlapping gene or
                 protein expression patterns",
  journal =      j-BIOINFORMATICS,
  volume =       "21",
  number =       "7",
  pages =        "1278--1279",
  day =          "01",
  month =        apr,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "2",
}

@Article{Gil:2005:MPJ,
  author =       "Joseph (Yossi) Gil and Itay Maman",
  title =        "Micro patterns in {Java} code",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "97--116",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Goldovsky:2005:BVN,
  author =       "Leon Goldovsky and Ildefonso Cases and J. {Enright,
                 Anton} and A. {Ouzounis, Christos}",
  title =        "{BioLayoutJava}: Versatile Network Visualisation of
                 Structural and Functional Relationships",
  journal =      "Appl Bioinformatics",
  volume =       "4",
  number =       "1",
  pages =        "71--74",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1175-5636",
  bibdate =      "Mon Jul 11 08:12:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  pagecount =    "4",
}

@Book{Gosling:2005:JLS,
  author =       "James Gosling and Bill Joy and Guy L. Steele and Gilad
                 Bracha",
  title =        "The {Java} language specification",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "xxxii + 651",
  year =         "2005",
  ISBN =         "0-321-24678-0 (paperback)",
  ISBN-13 =      "978-0-321-24678-3 (paperback)",
  bibdate =      "Tue Nov 1 16:16:00 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "The Java series",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Greenhouse:2005:OAE,
  author =       "Aaron Greenhouse and T. J. Halloran and William L.
                 Scherlis",
  title =        "Observations on the assured evolution of concurrent
                 {Java} programs",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "58",
  number =       "3",
  pages =        "384--411",
  month =        dec,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:52 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Gregg:2005:MLC,
  author =       "David Gregg and James Power and John Waldron",
  title =        "A method-level comparison of the {Java Grande} and
                 {SPEC JVM98} benchmark suites",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "757--773",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.846",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{Griffin:2005:EEG,
  author =       "Paul Griffin and Witawas Srisa-an and J. Morris
                 Chang",
  title =        "An energy efficient garbage collector for {Java}
                 embedded devices",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "230--238",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Griffith:2005:MME,
  author =       "Rean Griffith and Gail Kaiser",
  title =        "Manipulating managed execution runtimes to support
                 self-healing systems",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--7",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083066",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "Self-healing systems require that repair mechanisms
                 are available to resolve problems that arise while the
                 system executes. Managed execution environments such as
                 the Common Language Runtime (CLR) and Java Virtual
                 Machine (JVM) provide a number of application services
                 (application isolation, security sandboxing, garbage
                 collection and structured exception handling) which are
                 geared primarily at making managed applications more
                 robust. However, none of these services directly
                 enables applications to perform repairs or consistency
                 checks of their components. From a design and
                 implementation standpoint, the preferred way to enable
                 repair in a self-healing system is to use an
                 externalized repair/adaptation architecture rather than
                 hardwiring adaptation logic inside the system where it
                 is harder to analyze, reuse and extend. We present a
                 framework that allows a repair engine to dynamically
                 attach and detach to/from a managed application while
                 it executes essentially adding repair mechanisms as
                 another application service provided in the execution
                 environment.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Grigorenko:2005:VTG,
  author =       "Pavel Grigorenko and Ando Saabas and Enn Tyugu",
  title =        "Visual tool for generative programming",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "5",
  pages =        "249--252",
  month =        sep,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1095430.1081747",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:07 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "A way of combining object-oriented and structural
                 paradigms of software composition is demonstrated in a
                 tool for generative programming. Metaclasses are
                 introduced that are components with specifications
                 called metainterfaces. Automatic code generation is
                 used that is based on structural synthesis of programs.
                 This guarantees that problems of handling data
                 dependencies, order of application of components, usage
                 of higher-order control structures etc are handled
                 automatically. Specifications can be written either in
                 a specification language or given visually on an
                 architectural level. The tool is Java-based and
                 portable.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Guinness:2005:SMM,
  author =       "David Mc Guinness and Liam Murphy",
  title =        "A simulation model of a multi-server {EJB} system",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--7",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083278",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Despite the fact that EJB (Enterprise Java Beans) is a
                 widely used technology, research in the area of
                 performance modelling of EJB application servers is
                 quite sparse. This paper will describe how
                 Workbench{\TM}, an advanced simulation modelling tool,
                 can be used to build a scalable model of a multi-server
                 EJB system that allows users to input variables that
                 describe interactions and their constituent methods, as
                 well as system parameters. The model will output the
                 average time for each given user interaction and allow
                 users to seek system improvements by changing the
                 system parameters and workloads.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Gutterman:2005:HYS,
  author =       "Z. Gutterman and D. Malkhi",
  title =        "Hold Your Sessions: An Attack on {Java} Session-{ID}
                 Generation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3376",
  pages =        "44--57",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Han:2005:RCK,
  author =       "Y. Han",
  title =        "Representing Configuration Knowledge for
                 Port-and-Connector Model with {Java}",
  journal =      "Journal of Computer Aided Design and Computer
                 Graphics",
  volume =       "17",
  number =       "3",
  pages =        "511--516",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1003-9775",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Hansen:2005:IJP,
  author =       "S. Hansen",
  title =        "Interpreting {Java} Program Runtimes",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "36--40",
  year =         "2005",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hatcher:2005:CCJ,
  author =       "Philip Hatcher and Mathew Reno and Gabriel Antoniu and
                 Luc Boug{\'e}",
  title =        "Cluster Computing with {Java}",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "7",
  number =       "2",
  pages =        "34--39",
  month =        mar # "\slash " # apr,
  year =         "2005",
  CODEN =        "CSENFA",
  DOI =          "https://doi.org/10.1109/MCSE.2005.28",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Sat May 14 13:11:45 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "http://csdl.computer.org/dl/mags/cs/2005/02/c2034.htm;
                 http://csdl.computer.org/dl/mags/cs/2005/02/c2034.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Article{Herzog:2005:PJS,
  author =       "A. Herzog and N. Shahmehri",
  title =        "Performance of the {Java} security manager",
  journal =      j-COMPUT-SECUR,
  volume =       "24",
  number =       "3",
  pages =        "192--207",
  year =         "2005",
  CODEN =        "CPSEDU",
  ISSN =         "0167-4048",
  ISSN-L =       "0167-4048",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers and Security",
}

@Article{Hibbard:2005:JDC,
  author =       "W. Hibbard and C. Rueden and S. Emmerson and T. Rink
                 and D. Glowacki and T. Whittaker and D. Murray and D.
                 Fulker and J. Anderson",
  title =        "{Java} Distributed Components for Numerical
                 Visualization in {VisAD}",
  journal =      j-CACM,
  volume =       "48",
  number =       "3",
  pages =        "98--104",
  year =         "2005",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Book{Holzner:2005:ADG,
  author =       "Steven Holzner",
  title =        "{Ant}: the definitive guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xv + 316",
  year =         "2005",
  ISBN =         "0-596-00609-8",
  ISBN-13 =      "978-0-596-00609-9",
  LCCN =         "QA76.73.J38 T57 2005",
  bibdate =      "Thu Oct 6 07:22:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  remark =       "Covers Ant 1.6---Cover.",
  subject =      "Ant (Computer file); Java (Computer program
                 language)",
}

@Article{Hong:2005:CAG,
  author =       "S. Hong",
  title =        "Construction and Application of {GPS} Location-based
                 Services System Based on {JAVA}",
  journal =      "Journal --- Chongqing Jianzhu University",
  volume =       "27",
  number =       "2",
  pages =        "116--120",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1006-7329",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Hook:2005:BCP,
  author =       "David Hook",
  title =        "Beginning cryptography and {PKI} in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxvi + 448",
  year =         "2005",
  ISBN =         "0-7645-9633-0",
  ISBN-13 =      "978-0-7645-9633-9",
  LCCN =         "QA76.9.A25 H645 2005",
  bibdate =      "Tue Oct 11 05:21:48 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/toc/ecip0511/2005011272.html",
  acknowledgement = ack-nhfb,
  subject =      "Computer security; Cryptography; Public key
                 infrastructure (Computer security); Java (Computer
                 program language)",
}

@Book{Horstmann:2005:BJ,
  author =       "Cay S. Horstmann",
  title =        "Big {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xxxii + 1216",
  year =         "2005",
  ISBN =         "0-471-69703-6 (paperback)",
  ISBN-13 =      "978-0-471-69703-9 (paperback)",
  LCCN =         "QA76.73.J38 H674 2005",
  bibdate =      "Tue Oct 11 05:00:52 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Heavy use of color.",
  subject =      "Java (Computer program language)",
}

@Article{Hsia:2005:TJC,
  author =       "J. I. Hsia and E. Simpson and D. Smith and R.
                 Cartwright",
  title =        "Taming {Java} for the Classroom",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "327--331",
  year =         "2005",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hua:2005:CJE,
  author =       "Han Hua and Dai Yafei and Li Xiaoming",
  title =        "{CSFS}: a {Java} enabled network file storage system",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "991--1003",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.839",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{HuertaYero:2005:JIJ,
  author =       "E. J. {Huerta Yero} and F. {de Oliveira Lucchese} and
                 F. S. Sambatti and M. von Zuben and M. A. {Amaral
                 Henriques}",
  title =        "{JoiN}: The implementation of a {Java}-based massively
                 parallel grid",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "21",
  number =       "5",
  pages =        "791--810",
  year =         "2005",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Tue May 31 14:15:43 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Hunt:2005:JFE,
  author =       "K. Hunt",
  title =        "A {Java} Framework for Experimentation with
                 Steganography",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "282--286",
  year =         "2005",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hyun:2005:PDC,
  author =       "C. M. Hyun",
  title =        "Parallel and Distributed Components with {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3482",
  pages =        "927--937",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Ishikawa:2005:JOL,
  author =       "A. Ishikawa and E. Nakamura and J. J. Mahoney",
  title =        "Jurassic oceanic lithosphere beneath the southern
                 {Ontong Java Plateau}: Evidence from xenoliths in
                 alnoite, {Malaita, Solomon Islands}",
  journal =      "Geology",
  volume =       "33",
  number =       "5",
  pages =        "393--396",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0091-7613",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{ISO:2005:IDM,
  author =       "{ISO}",
  title =        "{ISO 19005-1:2005}, Document management---Electronic
                 document file format for long-term preservation---Part
                 1: Use of {PDF 1.4 (PDF/A-1)}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  year =         "2005",
  ISBN =         "",
  ISBN-13 =      "",
  LCCN =         "",
  bibdate =      "Wed Sep 21 08:32:04 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.aiim.org/documents/standards/ISO_19005-1_(E).doc;
                 http://www.aiim.org/pdf_a/",
  abstract =     "PDF/A is a constrained form of Adobe PDF version 1.4
                 intended to be suitable for long-term preservation of
                 page-oriented documents for which PDF is already being
                 used in practice. The proposed standard is being
                 developed by an ISO working group with representatives
                 from government, industry, and academia and active
                 support from Adobe Systems Incorporated.\par

                 PDF/A attempts to maximize:\\
                 * Device independence \\
                 * Self-containment \\
                 * Self-documentation The constraints include: \\
                 * Audio and video content are forbidden \\
                 * Javascript and executable file launches are
                 prohibited \\
                 * All fonts must be embedded and also must be legally
                 embeddable for unlimited, universal rendering \\
                 * Colorspaces specified in a device-independent manner
                 \\
                 * Encryption is disallowed \\
                 * Use of standards-based metadata is mandated",
  acknowledgement = ack-nhfb,
  remark =       "Not yet on ISO Web site.",
}

@Article{Jayaraman:2005:KDI,
  author =       "G. Jayaraman and V. P. Ranganath and J. Hatcliff",
  title =        "{Kaveri}: Delivering the {Indus Java Program Slicer}
                 to {Eclipse}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3442",
  pages =        "269--272",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jeffrey:2005:JJF,
  author =       "A. Jeffrey and J. Rathke",
  title =        "{Java Jr.}: Fully Abstract Trace Semantics for a Core
                 {Java} Language",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3444",
  pages =        "423--438",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Jeon:2005:JJB,
  author =       "Yoon-Seong Jeon and Hwanwon Chung and Sunyoung Park
                 and Inae Hur and Jae-Hak Lee and Jongsik Chun",
  title =        "{jPHYDIT}: a {Java}-based integrated environment for
                 molecular phylogeny of ribosomal {RNA} sequences",
  journal =      j-BIOINFORMATICS,
  volume =       "21",
  number =       "14",
  pages =        "3171--3173",
  day =          "15",
  month =        jul,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1367-4803 (print), 1367-4811 (electronic)",
  ISSN-L =       "1367-4803",
  bibdate =      "Mon Jul 11 08:12:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Bioinformatics",
  pagecount =    "3",
}

@Book{Johnson:2005:PJD,
  editor =       "Rod Johnson and Juergen Hoeller and Alef Arendsen and
                 Thomas Risberg and Colin Sampaleanu",
  title =        "Professional {Java} development with the {Spring
                 Framework}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxviii + 644",
  year =         "2005",
  ISBN =         "0-7645-7483-3 (paper)",
  ISBN-13 =      "978-0-7645-7483-2 (paper)",
  LCCN =         "QA76.73.J38 P74585 2005",
  bibdate =      "Mon Aug 1 18:33:13 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.wiley.com/WileyCDA/WileyTitle/productCd-0764574833,descCd-authorInfo.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Application
                 software; Development",
}

@Article{Jovanovic:2005:MDS,
  author =       "N. Jovanovic and R. Popovic and Z. Jovanovic",
  title =        "Modeling Distributed System Entities Which Communicate
                 Asynchronous Via Message Passing in {Java}",
  journal =      j-NEURAL-PAR-SCI-COMPUT,
  volume =       "13",
  number =       "1",
  pages =        "63--76",
  year =         "2005",
  CODEN =        "NPACEM",
  ISSN =         "1061-5369",
  bibdate =      "Tue May 31 14:15:43 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Neural, Parallel and Scientific Computations",
}

@Article{Jugravu:2005:JPM,
  author =       "Alexandru Jugravu and Thomas Fahringer",
  title =        "{JavaSymphony}, a programming model for the {Grid}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "21",
  number =       "1",
  pages =        "239--246",
  day =          "1",
  month =        jan,
  year =         "2005",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Fri Jul 15 08:00:45 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/0167739X",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Jung:2005:RTE,
  author =       "J. Y. Jung and K. S. Kim and M. S. Jung",
  title =        "Real-time Embedded Middleware System using
                 {Java}-Native Combination Model",
  journal =      "Transactions --- Korean Institute of Electrical
                 Engineers D",
  volume =       "54",
  number =       "3",
  pages =        "141--147",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1229-6287",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Kamalov:2005:JAT,
  author =       "R. Kamalov and M. Guillaud and D. Haskins and A.
                 Harrison and R. Kemp and D. Chiu and M. Follen and C.
                 MacAulay",
  title =        "A {Java} application for tissue section image
                 analysis",
  journal =      j-COMPUT-METH-PROG-BIOMED,
  volume =       "77",
  number =       "2",
  pages =        "99--113",
  year =         "2005",
  CODEN =        "CMPBEK",
  ISSN =         "0169-2607 (print), 1872-7565 (electronic)",
  ISSN-L =       "0169-2607",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Methods and Programs in Biomedicine",
}

@Article{Karaorman:2005:JJR,
  author =       "M. Karaorman and J. Freeman",
  title =        "{jMonitor}: {Java} Runtime Event Specification and
                 Monitoring Library",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "113",
  number =       "??",
  pages =        "181--200",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@InProceedings{Karlsson:2005:EPD,
  author =       "M. Karlsson and E. Hagersten and K. E. Moore and D. A.
                 Wood",
  title =        "Exploring processor design options for {Java}-based
                 middleware",
  crossref =     "Skeie:2005:PIC",
  pages =        "59--68",
  year =         "2005",
  DOI =          "https://doi.org/10.1109/ICPP.2005.38",
  bibdate =      "Tue Oct 24 09:50:30 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Klebanov:2005:JFN,
  author =       "V. Klebanov",
  title =        "A {JMM-Faithful} Non-interference Calculus for
                 {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3409",
  pages =        "101--111",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Klein:2005:VJB,
  author =       "G. Klein",
  title =        "Verified {Java}: Bytecode Verification: Verified
                 {Java} Bytecode Verification",
  journal =      "It",
  volume =       "47",
  number =       "2",
  pages =        "107--110",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1611-2776",
  bibdate =      "Mon May 16 14:02:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Klohs:2005:MRJ,
  author =       "K. Klohs and U. Kastens",
  title =        "Memory Requirements of {Java} Bytecode Verification on
                 Limited Devices",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "132",
  number =       "1",
  pages =        "95--111",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Kumar:2005:OTC,
  author =       "Amruth N. Kumar",
  title =        "Online tutors for {C++\slash Java} programming",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "387--387",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067589",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kwon:2005:RJH,
  author =       "Jagun Kwon and Andy Wellings and Steve King",
  title =        "{Ravenscar--Java}: a high integrity profile for
                 real-time {Java}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "681--714",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.843",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
  xxpages =      "681--713",
}

@Book{Landau:2005:FCS,
  author =       "Rubin H. Landau and M. J. P{\'a}ez",
  title =        "A first course in scientific computing: symbolic,
                 graphical, and numeric problem solving using {Maple},
                 {Java}, {Mathematica}, and {Fortran}",
  publisher =    pub-PRINCETON,
  address =      pub-PRINCETON:adr,
  pages =        "xxiv + 481",
  year =         "2005",
  ISBN =         "0-691-12183-4 (hardcover)",
  ISBN-13 =      "978-0-691-12183-3 (hardcover)",
  LCCN =         "Q183.9 .L36 2005",
  bibdate =      "Wed Jan 30 08:33:45 2013",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fortran3.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/maple-extract.bib;
                 http://www.math.utah.edu/pub/tex/bib/mathematica.bib;
                 http://www.math.utah.edu/pub/tex/bib/matlab.bib;
                 http://www.math.utah.edu/pub/tex/bib/numana2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Science; Data processing",
  tableofcontents = "1. Introduction \\
                 Part 1. Maple (or Mathematica) by doing \\
                 2. Getting started with Maple \\
                 3. Numbers, expressions, functions; rocket golf \\
                 4. Visualizing data, abstract types; electric fields
                 \\
                 5. Solving equations, differentiation; towers \\
                 6. Integration; power and energy usage (also 14) \\
                 7. Matrices and vectors; rotation \\
                 8. Searching, programming; dipsticks \\
                 Part 2. Java (or Fortran90) by doing \\
                 9. Getting started with Java \\
                 10. Data types, limits, methods; rocket golf \\
                 11. Visualization with Java, classes, packages \\
                 12. Flow control via logic; projectiles \\
                 13. Java input and output \\
                 14. Numerical integration; power and energy usage \\
                 15. Differential equations with Java and Maple \\
                 16. Object-oriented programming; complex currents \\
                 17. Arrays: vectors, matrices; rigid-body rotations \\
                 18. Advanced objects; baton projectiles \\
                 19. Discrete math, arrays as bins, bug dynamics \\
                 20. 2-D arrays: file I/O, PDEs; realistic capacitor \\
                 21. Web computing, applets, primitive graphics \\
                 Part 3. \LaTeX{} survival guide \\
                 22. \LaTeX{} for text \\
                 23. \LaTeX{} for mathematics \\
                 Appendix A. Glossary \\
                 Appendix B. Maple quick reference, debugging help \\
                 Appendix C. Java quick reference and installing
                 software \\
                 Bibliography \\
                 Index",
}

@Book{Langridge:2005:DUM,
  author =       "Stuart Langridge",
  title =        "{DHTML} utopia: modern {Web} design using {JavaScript}
                 and {DOM}",
  publisher =    "SitePoint",
  address =      "Collingwood, VIC, Australia",
  pages =        "xiv + 318",
  year =         "2005",
  ISBN =         "0-9579218-9-6",
  ISBN-13 =      "978-0-9579218-9-4",
  LCCN =         "TK5105.888 .L36 2005",
  bibdate =      "Thu Oct 6 07:25:02 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  remark =       "Covers remote scripting/AJAX---Cover.",
  subject =      "Web site development; HTML editors (Computer
                 programs); DHTML (Document markup language); JavaScript
                 (Computer program language)",
}

@Book{Lano:2005:ASD,
  author =       "K Lano",
  title =        "Advanced systems design with {Java}, {UML}, and
                 {MDA}",
  publisher =    "Elsevier Butterworth-Heinemann",
  address =      "Amsterdam, The Netherlands",
  pages =        "viii + 378",
  year =         "2005",
  ISBN =         "0-7506-6496-7",
  ISBN-13 =      "978-0-7506-6496-7",
  LCCN =         "QA76.76.D47 L37 2005; QA76.76.D47 L375 2005",
  bibdate =      "Fri Jun 23 12:20:56 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  subject =      "Computer software; Development; Software architecture;
                 UML (Computer science); Web services; Design; Internet;
                 Computer programs; Computer science; Textbooks",
}

@Article{Lea:2005:JUC,
  author =       "Doug Lea",
  title =        "The {{\tt java.util.concurrent}} synchronizer
                 framework",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "58",
  number =       "3",
  pages =        "293--309",
  month =        dec,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:52 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Lee:2005:DDR,
  author =       "Yueh-Feng Lee and Ruei-Chuan Chang",
  title =        "Developing dynamic-reconfigurable communication
                 protocol stacks using {Java}",
  journal =      j-SPE,
  volume =       "35",
  number =       "6",
  pages =        "601--620",
  month =        may,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.650",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:39 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "16 Feb 2005",
}

@Article{Leff:2005:EJC,
  author =       "Avraham Leff and James T. Rayfield",
  title =        "{Enterprise JavaBeans} caching in clustered
                 environments",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "1027--1051",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.841",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{Lhotak:2005:RTE,
  author =       "Ond{\v{r}}ej Lhot{\'a}k and Laurie Hendren",
  title =        "Run-time evaluation of opportunities for object
                 inlining in {Java}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "515--537",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.848",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
}

@Article{Li:2005:ABT,
  author =       "Tao Li and Ravi Bhargava and Lizy Kurian John",
  title =        "Adapting branch-target buffer to improve the target
                 predictability of {Java} code",
  journal =      j-TACO,
  volume =       "2",
  number =       "2",
  pages =        "109--130",
  month =        jun,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1544-3566 (print), 1544-3973 (electronic)",
  ISSN-L =       "1544-3566",
  bibdate =      "Thu Jul 7 14:09:53 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Architecture and Code Optimization
                 (TACO)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J924",
}

@Article{Lim:2005:CCH,
  author =       "Sang Boem Lim and Bryan Carpenter and Geoffrey Fox and
                 Han-ku Lee",
  title =        "Collective communication for the {HPJava} programming
                 language",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "867--894",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.859",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{Louridas:2005:JUT,
  author =       "Panagiotis Louridas",
  title =        "{JUnit}: Unit Testing and Coding in Tandem",
  journal =      j-IEEE-SOFTWARE,
  volume =       "22",
  number =       "4",
  pages =        "12--15",
  month =        jul # "\slash " # aug,
  year =         "2005",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2005.100",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Thu Nov 10 09:16:26 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
  keywords =     "Java",
}

@Article{Lujan:2005:EJA,
  author =       "Mikel Luj{\'a}n and John R. Gurd and T. L. Freeman and
                 Jos{\'e} Miguel",
  title =        "Elimination of {Java} array bounds checks in the
                 presence of indirection",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "489--514",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.847",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
}

@Article{Lujan:2005:SFS,
  author =       "M. Lujan and A. Usman and P. Hardie and T. L. Freeman
                 and J. R. Gurd",
  title =        "Storage Formats for Sparse Matrices in {Java}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3514",
  pages =        "364--371",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Jun 27 10:52:07 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Macvittie:2005:PAI,
  author =       "D. Macvittie",
  title =        "Product Analysis: Imported {Java}",
  journal =      j-NETWORK-COMPUTING,
  volume =       "16",
  number =       "1",
  pages =        "45--49",
  year =         "2005",
  CODEN =        "NCOMEV",
  ISSN =         "1046-4468",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Computing",
}

@Book{Mann:2005:JFA,
  author =       "Kito D. Mann",
  title =        "{JavaServer Faces} in action",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxxiv + 702",
  year =         "2005",
  ISBN =         "1-932394-12-5",
  ISBN-13 =      "978-1-932394-12-2",
  LCCN =         "TK5105.8885.J38 M35 2005",
  bibdate =      "Wed Nov 15 10:37:03 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0626/2005273936-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0626/2005273936-d.html",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Web sites; Design; Web site
                 development",
}

@Article{Manson:2005:JMM,
  author =       "Jeremy Manson and William Pugh and Sarita V. Adve",
  title =        "The {Java} Memory Model",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "378--391",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Mares:2005:BRA,
  author =       "Peter Mares",
  title =        "Book Review: {{\em Art of Java Web Development}, by N.
                 Ford}",
  journal =      j-COMP-J,
  volume =       "48",
  number =       "2",
  pages =        "253--253",
  month =        mar,
  year =         "2005",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Jun 28 17:48:36 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_48/Issue_02/",
  URL =          "http://www3.oup.co.uk/computer_journal/free_pdf/bxh071.pdf;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_48/Issue_02/bxh071.sgm.abs.html",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Book{Marinacci:2005:SHT,
  author =       "Joshua Marinacci and Chris Adamson",
  title =        "{Swing} Hacks: Tips and Tools for Killer {GUIs}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xix + 519",
  year =         "2005",
  ISBN =         "0-596-00907-0",
  ISBN-13 =      "978-0-596-00907-6",
  LCCN =         "QA76.73.J38 M37 2005",
  bibdate =      "Mon Aug 01 18:30:39 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$9.95, CAN\$41.95, UK\pounds 20.95",
  acknowledgement = ack-nhfb,
  subject =      "Swing (Computer file); Java (Computer program
                 language)",
}

@Article{Markidis:2005:IPP,
  author =       "S. Markidis and G. Lapenta and W. B. VanderHeyden and
                 Z. Budimli{\'c}",
  title =        "Implementation and performance of a particle-in-cell
                 code written in {Java}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "821--837",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.856",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{Marrero:2005:TFE,
  author =       "Will Marrero and Amber Settle",
  title =        "Testing first: emphasizing testing in early
                 programming courses",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "4--8",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067451",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The complexity of languages like Java and C++ can make
                 introductory programming classes in these languages
                 extremely challenging for many students. Part of the
                 complexity comes from the large number of concepts and
                 language features that students are expected to learn
                 while having little time for adequate practice or
                 examples. A second source of difficulty is the emphasis
                 that object-oriented programming places on abstraction.
                 We believe that by placing a larger emphasis on testing
                 in programming assignments in these introductory
                 courses, students have an opportunity for extra
                 practice with the language, and this affords them a
                 gentler transition into the abstract thinking needed
                 for programming. In this paper we describe how we
                 emphasized testing in introductory programming
                 assignments by requiring that students design and
                 implement tests before starting on the program itself.
                 We also provide some preliminary results and student
                 reactions.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Masri:2005:UDI,
  author =       "Wes Masri and Andy Podgurski",
  title =        "Using dynamic information flow analysis to detect
                 attacks against applications",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--7",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083216",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "This paper presents a new approach to using dynamic
                 information flow analysis to detect attacks against
                 application software. The approach can be used to
                 reveal and, under some conditions, to prevent attacks
                 that violate a specified information flow policy or
                 exhibit a known information flow signature. When used
                 in conjunction with automatic cluster analysis, the
                 approach can also reveal novel attacks that exhibit
                 unusual patterns of information flows. A set of
                 prototype tools implementing the approach have been
                 developed for Java byte code programs. Case studies in
                 which this approach was applied to several subject
                 programs are described.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Massol:2005:MDN,
  author =       "Vincent Massol and Timothy O'Brien and Michael Kosta
                 Loukides",
  title =        "{Maven}: a developer's notebook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxv + 191",
  year =         "2005",
  ISBN =         "0-596-00750-7",
  ISBN-13 =      "978-0-596-00750-8",
  LCCN =         "QA76.76.D47 M37 2005",
  bibdate =      "Thu Oct 6 07:23:06 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  subject =      "Maven (Computer file); Java (Computer program
                 language)",
}

@Book{Mattson:2005:PPP,
  author =       "Timothy G. Mattson and Beverly A. Sanders and Berna
                 Massingill",
  title =        "Patterns for Parallel Programming",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xiii + 355",
  year =         "2005",
  ISBN =         "0-321-22811-1 (hardcover)",
  ISBN-13 =      "978-0-321-22811-6 (hardcover)",
  LCCN =         "QA76.642 .M38 2005",
  bibdate =      "Sat Oct 5 10:09:33 MDT 2019",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0418/2004013240.html",
  abstract =     "The Parallel Programming Guide for Every Software
                 Developer From grids and clusters to next-generation
                 game consoles, parallel computing is going mainstream.
                 Innovations such as Hyper-Threading Technology,
                 HyperTransport Technology, and multicore
                 microprocessors from IBM, Intel, and Sun are
                 accelerating the movement's growth. Only one thing is
                 missing: programmers with the skills to meet the
                 soaring demand for parallel software. That's where
                 Patterns for Parallel Programming comes in. It's the
                 first parallel programming guide written specifically
                 to serve working software developers, not just computer
                 scientists. The authors introduce a complete, highly
                 accessible pattern language that will help any
                 experienced developer ``think parallel''-and start
                 writing effective parallel code almost immediately.
                 Instead of formal theory, they deliver proven solutions
                 to the challenges faced by parallel programmers, and
                 pragmatic guidance for using today's parallel APIs in
                 the real world. Coverage includes: Understanding the
                 parallel computing landscape and the challenges faced
                 by parallel developers Finding the concurrency in a
                 software design problem and decomposing it into
                 concurrent tasks Managing the use of data across tasks
                 Creating an algorithm structure that effectively
                 exploits the concurrency you've identified Connecting
                 your algorithmic structures to the APIs needed to
                 implement them Specific software constructs for
                 implementing parallel programs Working with today's
                 leading parallel programming environments: OpenMP, MPI,
                 and Java Patterns have helped thousands of programmers
                 master object-oriented development and other complex
                 programming technologies. With this book, you will
                 learn that they're the best way to master parallel
                 programming too.",
  acknowledgement = ack-nhfb,
  author-dates = "1958--",
  subject =      "Parallel programming (Computer science)",
  tableofcontents = "1: A pattern language for parallel programming \\
                 2: Background and jargon of parallel computing \\
                 3: The finding concurrency design space \\
                 4: The algorithm structure design space \\
                 5: The supporting structures design space \\
                 6: The implementation mechanisms design space \\
                 Appendix A: A brief introduction to OpenMP \\
                 Appendix B: A brief introduction to MPI \\
                 Appendix C: A brief introduction to concurrent
                 programming in Java",
}

@Article{Milanova:2005:POS,
  author =       "Ana Milanova and Atanas Rountev and Barbara G. Ryder",
  title =        "Parameterized object sensitivity for points-to
                 analysis for {Java}",
  journal =      j-TOSEM,
  volume =       "14",
  number =       "1",
  pages =        "1--41",
  month =        jan,
  year =         "2005",
  CODEN =        "ATSMER",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Thu Apr 14 10:42:22 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
}

@Book{Miles:2005:AC,
  author =       "Russ Miles",
  title =        "{AspectJ} cookbook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xix + 331",
  year =         "2005",
  ISBN =         "0-596-00654-3",
  ISBN-13 =      "978-0-596-00654-9",
  LCCN =         "QA76.64 .M54 2005 .M55 2004; QA76.64 .M55 2004;
                 QA76.64 .M54 2005; QA76.64 .M54 2005eb; QA76.64",
  bibdate =      "Tue Aug 5 17:42:19 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596006549",
  acknowledgement = ack-nhfb,
  remark =       "Real-world Aspect-oriented programming with Java.",
  subject =      "Object-oriented programming (Computer science); Java
                 (Computer program language)",
  xxnote =       "Check year: 2004 or 2005??",
}

@Article{Moir:2005:CSJ,
  author =       "Mark Moir and Nir Shavit and Jan Vitek",
  title =        "Concurrency and synchronization in {Java} programs",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "58",
  number =       "3",
  pages =        "291--292",
  month =        dec,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:52 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Moreau:2005:BDR,
  author =       "Luc Moreau and Peter Dickman and Richard Jones",
  title =        "{Birrell}'s distributed reference listing revisited",
  journal =      j-TOPLAS,
  volume =       "27",
  number =       "6",
  pages =        "1344--1395",
  month =        nov,
  year =         "2005",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1108970.1108976",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Jan 11 05:23:15 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The Java RMI collector is arguably the most widely
                 used distributed garbage collector. Its distributed
                 reference listing algorithm was introduced by Birrell
                 et al. in the context of Network Objects, where the
                 description was informal and heavily biased toward
                 implementation. In this article, we formalize this
                 algorithm in an implementation-independent manner,
                 which allows us to clarify weaknesses of the initial
                 presentation. In particular, we discover cases critical
                 to the correctness of the algorithm that were not
                 accounted for by Birrell. We use our formalization to
                 derive an invariant-based proof of correctness of the
                 algorithm that avoids notoriously difficult temporal
                 reasoning. Furthermore, we offer a novel graphical
                 representation of the state transition diagram, which
                 we use to provide intuitive explanations of the
                 algorithm and to investigate its tolerance to faults in
                 a systematic manner. Finally, we examine how the
                 algorithm may be optimized, either by placing
                 constraints on message channels or by tightening the
                 coupling between the application program and
                 distributed garbage collector.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Moritz:2005:DFC,
  author =       "Sally H. Moritz and Glenn D. Blank",
  title =        "A design-first curriculum for teaching {Java} in a
                 {CS1} course",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "2",
  pages =        "89--93",
  month =        jun,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1083431.1083471",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:18 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse37.html#MoritzB05;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2005.bib",
  abstract =     "Pedagogies for teaching object-oriented programming in
                 an introductory course are still under much debate. We
                 present a design-first approach, which teaches
                 problem-solving techniques using elements of UML.
                 Objects are still introduced early in the curriculum.
                 We also present two tools to support our curriculum:
                 multimedia courseware to help students learn the basic
                 concepts of objects and classes, and an IDE that
                 includes both a UML interface and interactive tools to
                 allow easy experimentation.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@PhdThesis{Mostowski:2005:FDS,
  author =       "W. Mostowski",
  title =        "Formal Development of Safe and Secure {Java Card}
                 Applets",
  volume =       "2257",
  type =         "{Doktorsavhandlingar}",
  school =       "Chalmers Tekniska H{\"o}gskola",
  address =      "G{\"o}teborg, Sweden",
  pages =        "??--??",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0346-718X",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Mostowski:2005:FVJ,
  author =       "W. Mostowski",
  title =        "Formalisation and Verification of {Java Card} Security
                 Properties in Dynamic Logic",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3442",
  pages =        "357--371",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Munawar:2005:BPB,
  author =       "Mohammad A. Munawar and Paul A. S. Ward",
  title =        "Better performance or better manageability?",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--4",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083072",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "Competition among software providers creates enormous
                 pressure on design and development teams to improve
                 application performance. However, increased performance
                 leads to systems whose behaviour is harder to predict.
                 This in turn makes software harder to manage, or
                 self-manage in the case of autonomic software. In this
                 paper we elaborate on this problem, first in generic
                 terms, and then taking memory-usage monitoring in a
                 Java Virtual Machine as a specific example. We motivate
                 the need for more research in developing monitoring
                 techniques that can cope with the complexity of modern
                 software systems. We finally present our own efforts in
                 this direction.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Murtagh:2005:CAD,
  author =       "Fionn Murtagh",
  title =        "Correspondence analysis and data coding with {Java}
                 and {R}",
  publisher =    pub-CHAPMAN-HALL-CRC,
  address =      pub-CHAPMAN-HALL-CRC:adr,
  pages =        "230",
  year =         "2005",
  ISBN =         "1-58488-528-9",
  ISBN-13 =      "978-1-58488-528-3",
  LCCN =         "QA76.73.J38 M877 2005",
  bibdate =      "Wed Jul 9 11:11:42 MDT 2014",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Computer science and data analysis series",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0648/2005041353-d.html",
  acknowledgement = ack-nhfb,
  remark =       "Foreword by J.-P. Benz{\'e}cri.",
  subject =      "Java (Computer program language); R (Computer program
                 language); Correspondence analysis (Statistics)",
}

@Article{Myles:2005:ETS,
  author =       "Ginger Myles and Christian Collberg and Zachary
                 Heidepriem and Armand Navabi",
  title =        "The evaluation of two software watermarking
                 algorithms",
  journal =      j-SPE,
  volume =       "35",
  number =       "10",
  pages =        "923--938",
  month =        aug,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.657",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Oct 4 05:39:37 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  abstract =     "In this paper we analyze the effectiveness of two
                 different software watermarking algorithms. The first
                 is an algorithm proposed by Akito Monden et al. and the
                 second an algorithm proposed by Robert L. Davidson and
                 Nathan Myhrvold of the Microsoft Corporation. We have
                 implemented these techniques within the SANDMARK
                 framework, a system designed to study the effectiveness
                 of software protection algorithms on Java bytecode. To
                 the best of our knowledge this is the first
                 implementation and empirical evaluation of these
                 algorithms with respect to a set of properties such as
                 bit-rate, stealth, and resilience to attack. We
                 demonstrate through the use of the SANDMARK framework
                 that both of these algorithms have a high bit-rate but
                 are unstealthy and easy to attack.",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "14 Apr 2005",
}

@Article{Narasimhan:2005:LSJ,
  author =       "Balasubramanian Narasimhan",
  title =        "{Lisp--Stat} to {Java} to {R}",
  journal =      j-J-STAT-SOFT,
  volume =       "13",
  number =       "4",
  pages =        "1--10",
  month =        "",
  year =         "2005",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Wed May 18 11:18:51 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jstatsoft.org/counter.php?id=118&url=v13/i04&ct=2;
                 http://www.jstatsoft.org/counter.php?id=118&url=v13/i04/v13i04.pdf&ct=1",
  accepted =     "0000-00-00",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  remark =       "Special Volume: Lisp--Stat, Past, Present and Future.
                 Pedro Valero-Mora and Frederic Udina, Guest Editors.",
  submitted =    "0000-00-00",
}

@Article{Neary:2005:AES,
  author =       "Michael O. Neary and Peter Cappello",
  title =        "Advanced eager scheduling for {Java}-based adaptive
                 parallel computing",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "797--819",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.855",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Book{Neward:2005:EEJ,
  author =       "Ted Neward",
  title =        "Effective {Enterprise Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xix + 470",
  year =         "2005",
  ISBN =         "0-321-13000-6 (paperback)",
  ISBN-13 =      "978-0-321-13000-6 (paperback)",
  LCCN =         "QA76.73.J38 N48 2005",
  bibdate =      "Mon Mar 27 08:56:47 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0418/2004012164.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Book{Niemeyer:2005:LJ,
  author =       "Patrick Niemeyer and Jonathan Knudsen",
  title =        "Learning {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xx + 954",
  year =         "2005",
  ISBN =         "0-596-00873-2",
  ISBN-13 =      "978-0-596-00873-4",
  LCCN =         "QA76.73.J38 N545 2005",
  bibdate =      "Thu Oct 6 07:23:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  remark =       "Accompanying disc contains Java 5 Stand Edition (also
                 known as JDK 1.5), NetBeans 4.1, Eclipse 3.1, Ant
                 1.4.1, Tomcat 4.0.3, BeanShell 2.0, and full source
                 code for all examples in the book..",
  subject =      "Java (Computer program language)",
}

@Article{Nilsen:2005:JSD,
  author =       "K. Nilsen",
  title =        "{Java} Sounds The Death Knell For {C++}",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "53",
  number =       "11",
  pages =        "22--22",
  year =         "2005",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Mon Jul 11 08:12:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Nugent:2005:DDV,
  author =       "Gwen Nugent and Leen-Kiat Soh and Ashok Samal and
                 Suzette Person and Jeff Lang",
  title =        "Design, development, and validation of a learning
                 object for {CS1}",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "370--370",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067571",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "A learning object is a structured, standalone media
                 resource that encapsulates high quality information to
                 facilitate learning and pedagogy. In this paper, we
                 describe our approach to design, develop, and validate
                 learning objects for CS1. In particular, we focus on
                 one learning object that teaches students about classes
                 and objects. SCORM (Shareable Content Object Reference
                 Model) standards and ACM/IEEE-CS Computing Curriculum
                 2001 form the basis of our design. Each learning object
                 is self-contained and by design, the length of the
                 content section is kept short to retain student
                 interest. The learning object has a glossary providing
                 definitions to key terms and a help menu. Each learning
                 object covers a core Computer Science topic addressed
                 by four components: (1) A brief tutorial or explanation
                 including definitions, rules, and principles, (2) A set
                 of real-world examples illustrates key concepts and
                 includes worked examples and problems, models, and
                 sample code, (3) A set of practice exercises provides
                 important active experiences to the student, with
                 constructive feedback to student responses, (4) A set
                 of problems graded by the computer provides a final
                 assessment. Our instructional design also incorporates
                 theories of multimedia learning, providing guidance on
                 the effective combination of text, graphics audio, and
                 Flash animation. We also report on a pilot evaluation
                 where students rated the learning object highly in
                 terms of its design, usefulness, and appropriateness.
                 We present student achievement results, comparing
                 achievement of students participating in traditional
                 face-to-face laboratory activities versus students
                 using the Web-based learning object. A between-group
                 post-test only research design showed no significant
                 achievement difference between the two groups. Results
                 confirm our belief that the use of modular, Web-based
                 learning objects can be used successfully for
                 independent learning and are a viable option for
                 distance delivery of course components. Encouraged by
                 these results, our project and research is continuing
                 Fall 2004, with the development of additional learning
                 objects and instrumentation mechanisms tracking
                 real-time dynamic activity-based data. The ``Practice
                 Exercises'' section of our ``Simple Class'' learning
                 object, for example, has four exercise modules: (1)
                 class identification, where students are asked to
                 identify whether an item is an appropriate candidate as
                 a class (Abraham Lincoln vs. President, for example),
                 (2) data members and methods, where students interact
                 with an animation (with sound) to identify the
                 appropriate data members for a dog class, (3) dissect a
                 class definition, where students are given code with
                 highlighted segments and are asked to label each
                 segment into either ``class'', ``method name'', ``data
                 member'', or ``method body'', and (4) building a class,
                 where students are given a heterogeneous set of data
                 members and methods, and must pick the appropriate ones
                 to build a class; if the selection is correct, the
                 Java-based class will be expanded accordingly with
                 specific Java code. For each exercise, we provide
                 extensive real-time feedback for each response. Figure
                 1 shows a screen shot of one of the exercises on data
                 members and methods.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Null:2005:CIM,
  author =       "Linda Null and Karishma Rao",
  title =        "{CAMERA}: introducing memory concepts via
                 visualization",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "96--100",
  month =        mar,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1047124.1047389",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:13 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "CAMERA, Cache and Memory Resource Allocation, is a
                 collection of workbenches for cache mapping schemes
                 (including direct, fully associative, and set
                 associative) and virtual memory (including paging and
                 TLBs). Its goals are to provide users with interactive
                 tutorials and simulations to help them better
                 understand the fundamental concepts of memory
                 management. Implemented in Java Swing, these
                 workbenches allow users to observe the processes of
                 memory to cache mapping, and virtual memory using
                 paging. The workbenches have proven useful in both
                 introductory architecture classes and operating system
                 classes. Students find CAMERA easy to use, even without
                 the supplied user's guide. In the paper, we compare
                 CAMERA to various existing systems and explore the
                 software's features in detail in addition to discussing
                 future enhancements.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{OBrien:2005:BBW,
  author =       "L. OBrien",
  title =        "Best of Both Worlds? Morphing the productivity of
                 {ASP.NET} into a deployment environment based on
                 {Java}, {Visual MainWin} for {J2EE} might serve as the
                 solution for your dual-platform development needs",
  journal =      "Software Development",
  volume =       "13",
  number =       "3",
  pages =        "32--35",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{OBrien:2005:JCC,
  author =       "Timothy M. O'Brien",
  title =        "{Jakarta} commons cookbook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xix + 377",
  year =         "2005",
  ISBN =         "0-596-00706-X",
  ISBN-13 =      "978-0-596-00706-5",
  LCCN =         "QA76.76.A65 O246 2005",
  bibdate =      "Sat Jun 11 09:50:33 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.oreilly.com/catalog/9780596007065",
  acknowledgement = ack-nhfb,
  subject =      "Apache (Computer file : Apache Group); Application
                 software; Development; Open source software; Java
                 (Computer program language)",
}

@Article{Oechsle:2005:DDA,
  author =       "Rainer Oechsle and Tim Gottwald",
  title =        "{DisASTer} (distributed algorithms simulation
                 terrain): a platform for the implementation of
                 distributed algorithms",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "44--48",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067461",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "DisASTer (Distributed Algorithms Simulation Terrain)
                 is a platform for the implementation of distributed
                 algorithms. It provides a Java class library that eases
                 the programming of distributed algorithms in Java.
                 Moreover, DisASTer constitutes an execution environment
                 that enables the user to specify interactively a
                 topology at runtime. It allows the user to control the
                 execution of the algorithm (start, stop, suspend,
                 resume, go back and forth). In addition, the execution
                 of a distributed algorithm can be observed through some
                 built-in visualization panels (topology view, sequence
                 view, message queue view). DisASTer supports the
                 implementation of further application-specific views.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ohira:2005:ACP,
  author =       "Masao Ohira and Naoki Ohsugi and Tetsuya Ohoka and
                 Ken-ichi Matsumoto",
  title =        "Accelerating cross-project knowledge collaboration
                 using collaborative filtering and social networks",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--5",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083163",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Vast numbers of free/open source software (F/OSS)
                 development projects use hosting sites such as Java.net
                 and Source-Forge.net. These sites provide each project
                 with a variety of software repositories (e.g.
                 repositories for source code sharing, bug tracking,
                 discussions, etc.) as a media for communication and
                 collaboration. They tend to focus on supporting rich
                 collaboration among members in each project. However, a
                 majority of hosted projects are relatively small
                 projects consisting of few developers and often need
                 more resources for solving problems. In order to
                 support cross-project knowledge collaboration in F/OSS
                 development, we have been developing tools to collect
                 data of projects and developers at SourceForge, and to
                 visualize the relationship among them using the
                 techniques of collaborative filtering and social
                 networks. The tools help a developer identify ``who
                 should I ask?'' and ``what can I ask?'' and so on. In
                 this paper, we report a case study of applying the
                 tools to F/OSS projects data collected from SourceForge
                 and how effective the tools can be used for helping
                 cross-project knowledge collaboration.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Oi:2005:DLV,
  author =       "Hitoshi Oi",
  title =        "On the design of the local variable cache in a
                 hardware translation-based {Java Virtual Machine}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "87--94",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{ONeill:2005:IAS,
  author =       "Ian O'Neill and Philip Hanna and Xingkun Liu and Des
                 Greer and Michael McTear",
  title =        "Implementing advanced spoken dialogue management in
                 {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "54",
  number =       "1",
  pages =        "99--124",
  month =        jan,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:43 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Papanikolaou:2005:BRBb,
  author =       "Nikolaos Papanikolaou",
  title =        "Book Review: {{\booktitle{Classical and Quantum
                 Computing with C++ and Java Simulations}}, by Yorick
                 Hardy and Willi-Hans Steeb, Birkh{\"a}user Verlag,
                 2001}",
  journal =      j-SIGACT,
  volume =       "36",
  number =       "3",
  pages =        "5--9",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGNDM",
  DOI =          "https://doi.org/10.1145/1086649.1086654",
  ISSN =         "0163-5700 (print), 1943-5827 (electronic)",
  ISSN-L =       "0163-5700",
  bibdate =      "Wed Mar 21 18:30:27 MDT 2012",
  bibsource =    "DBLP;
                 ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2005.bib;
                 http://dblp.uni-trier.de/db/journals/sigact/sigact36.html#Papanikolaou05a;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigact.bib",
  note =         "See \cite{Hardy:2001:CQC}.",
  URL =          "http://doi.acm.org/10.1145/1086649.1086654",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGACT News",
  journal-URL =  "http://dl.acm.org/citation.cfm?id=J697",
}

@InProceedings{Parsons:2005:JAM,
  author =       "D. Parsons",
  booktitle =    "Proceedings of the Annual Hawaii International
                 Conference on System Sciences",
  title =        "{Java} Architectures for Mobilised Enterprise
                 Systems",
  volume =       "CONF38",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "298",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1060-3425",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Paterson:2005:UBI,
  author =       "James H. Paterson and John Haddow and Miriam Birch and
                 Alex Monaghan",
  title =        "Using the {BlueJ IDE} in a data structures course",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "349--349",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067548",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This poster describes the use of the BlueJ Java IDE in
                 a data structures course. The BlueJ IDE is an excellent
                 tool for teaching programming using an objects-first
                 approach. Learners are able to create, inspect and
                 interact with instances of classes without the
                 requirement to initiate a process with a main method.
                 The ability to inspect 'live' objects can provide
                 insights in specific areas of programming beyond the
                 basic concepts. We have made use of BlueJ in an
                 introductory course on data structures for students who
                 have previously learned object oriented programming
                 using BlueJ. The course deals with stacks, queues,
                 lists, binary trees and graphs. Descriptions, diagrams,
                 animations and simulations can all play a part in
                 understanding the way in which these structures store
                 and provide access to their data. However, interacting
                 directly with actual objects which have been
                 instantiated from code which the student has written
                 can make the data structure much more tangible. The
                 capability in BlueJ to inspect an object and to
                 navigate object references to inspect associated
                 objects allows a direct visual exploration of the
                 internal representation of a data structure. For
                 example, BlueJ allows the student to write a linked
                 list class, create and populate an instance of the
                 class, and visually inspect the nodes of the list.
                 Object references can be followed from node to node to
                 traverse the list. This experiment provides strong
                 contrast with a visualization of the storage in an
                 array list. The point can be emphasized that data
                 structures with the same interface can have completely
                 different internal representations. Similarly, a graph
                 data structure is represented diagrammatically in terms
                 of vertices joined by edges. However, there are a
                 number of ways in which graphs can be represented
                 internally, including adjacency lists and adjacency
                 matrices. An adjacency list representation consists of
                 a list of vertices, each of which is associated with a
                 list of edges originating from that vertex. BlueJ
                 allows visual exploration of such a structure, which
                 can then be related back to the diagrammatic
                 representation. Since BlueJ also allows API class
                 instances to be inspected, the internal representations
                 used by the Java Collections Framework classes can be
                 explored. The poster shows examples of visual
                 exploration of data structures with BlueJ. Further
                 materials will be available at:
                 http://hamilton.bell.ac.uk/datastructures.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{PerezLopez:2005:JBL,
  author =       "S. A. {Perez Lopez} and M. J. {Gonzalez Brana} and J.
                 {Marcos Acevedo} and M. D. Valdes and E. Mandado",
  title =        "{Java}-Based Learning of Algorithms for {VLSI}
                 Physical Design Automation",
  journal =      j-INT-J-ENG-EDUC,
  volume =       "21",
  number =       "2",
  pages =        "306--317",
  year =         "2005",
  CODEN =        "IEEDEF",
  ISSN =         "0949-149X",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Engineering Education",
}

@Article{Petullo:2005:DGA,
  author =       "Mike Petullo",
  title =        "Developing {GNOME} applications with {Java}",
  journal =      j-LINUX-J,
  volume =       "2005",
  number =       "135",
  pages =        "??--??",
  month =        jul,
  year =         "2005",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Sat Dec 24 17:46:09 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Book{Pilgrim:2005:GH,
  author =       "Mark Pilgrim",
  title =        "{Greasemonkey} hacks",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "352",
  year =         "2005",
  ISBN =         "0-596-10165-1",
  ISBN-13 =      "978-0-596-10165-7",
  LCCN =         "TK5105.882eb; TK5105.882",
  bibdate =      "Tue Aug 5 17:51:18 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596101657",
  acknowledgement = ack-nhfb,
  subject =      "Greasemonkey; Firefox; Browsers (Computer programs);
                 Plug-ins (Computer programs); JavaScript (Computer
                 program language); Application software; Development",
}

@Article{Pillay:2005:ISC,
  author =       "Nelishia Pillay and Vikash R. Jugoo",
  title =        "An investigation into student characteristics
                 affecting novice programming performance",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "4",
  pages =        "107--110",
  month =        dec,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1113847.1113888",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:22 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse37.html#PillayJ05;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2005.bib",
  abstract =     "Novice programmers usually experience difficulties
                 when programming for the first time. The main aim of
                 the study presented in this paper is to identify those
                 characteristics that negatively effect procedural
                 programming performance, so that additional support can
                 be provided in the instruction of programming courses
                 for students possessing these characteristics.
                 Investigations were conducted at two South African
                 tertiary institutions. At both institutions a first
                 course in Java programming, focussing on procedural
                 programming aspects, was used for purposes of the
                 study. The characteristics investigated were the
                 student's problem solving ability, gender, learning
                 style, first language and previous computer experience.
                 The study revealed that a student's problem solving
                 ability and first language definitely have an impact on
                 his or her programming performance.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Plante:2005:SJI,
  author =       "I. L. Plante and A. FilaliMouhim and J. P. JayGerin",
  title =        "{SimulRad}: a {Java} interface for a {Monte-Carlo}
                 simulation code to visualize in {$3$D} the early stages
                 of water radiolysis",
  journal =      "Radiation Physics and Chemistry",
  volume =       "72",
  number =       "2--3",
  pages =        "173--180",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0969-806X",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Pollet:2005:TCS,
  author =       "I. Pollet and B. LeCharlier",
  title =        "Towards a Complete Static Analyser for {Java}: an
                 Abstract Interpretation Framework and its
                 Implementation",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "131",
  number =       "",
  pages =        "85--98",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Prinz:2005:JBD,
  author =       "M. Prinz and G. Fischer and E. Schuster",
  title =        "The {JAVA}-based {DICOM} query interface {DicoSE}",
  journal =      "International Journal of Medical Informatics",
  volume =       "74",
  number =       "2--4",
  pages =        "325--333",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1386-5056",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Rainsberger:2005:JRP,
  author =       "J. B. (Joe B.) Rainsberger and Scott Stirling",
  title =        "{JUnit} Recipes: Practical Methods for Programmer
                 Testing",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxx + 721",
  year =         "2005",
  ISBN =         "1-932394-23-0",
  ISBN-13 =      "978-1-932394-23-8",
  LCCN =         "QA76.64 .R35 2005",
  bibdate =      "Tue Aug 10 14:47:44 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$49.95",
  URL =          "http://www.manning.com/rainsberger",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Object-oriented
                 programming (Computer science)",
}

@Article{Rajsbaum:2005:OOA,
  author =       "Sergio Rajsbaum and Elisa Viso",
  title =        "Object-oriented algorithm analysis and design with
                 {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "54",
  number =       "1",
  pages =        "25--47",
  month =        jan,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:43 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Reiss:2005:DDV,
  author =       "Steven P. Reiss",
  title =        "Dynamic detection and visualization of software
                 phases",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--6",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083254",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Software executes in phases. JIVE is a software
                 visualization tool that provides a high-level view of
                 what is occurring in a Java system as it happens,
                 offering information about both what classes are
                 executing, what classes are being allocated,
                 synchronizations, and what are the threads and what
                 state each thread is in. This paper describes how we
                 used the information available to JIVE to detect and
                 then display the current phase of execution.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Richards:2005:JDN,
  author =       "Norman Richards and Sam Griffith",
  title =        "{JBoss}: a developer's notebook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xix + 149",
  year =         "2005",
  ISBN =         "0-596-10007-8",
  ISBN-13 =      "978-0-596-10007-0",
  LCCN =         "TK5105.8885.J43 R53 2005",
  bibdate =      "Thu Oct 6 11:06:41 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "The developer's notebook series",
  acknowledgement = ack-nhfb,
  subject =      "JBoss; Handbooks, manuals, etc; Web servers;
                 Management; Handbooks, manuals, etc; Java (Computer
                 program language); Handbooks, manuals, etc; Open source
                 software; Handbooks, manuals, etc; Application
                 software; Development; Handbooks, manuals, etc;
                 Client/server computing; Handbooks, manuals, etc",
}

@Article{Roberts:2005:AJT,
  author =       "E. Roberts and K. Bruce and R. Cutler and J. H. Cross
                 and S. Grissom and K. Klee and S. Rodger and F. Trees
                 and I. Utting and F. Yellin",
  title =        "The {ACM Java Task Force}: Status Report",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "46--47",
  year =         "2005",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rolfe:2005:LPS,
  author =       "Timothy J. Rolfe",
  title =        "List processing: sort again, naturally",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "2",
  pages =        "46--48",
  month =        jun,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1083431.1083461",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:18 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse37.html#Rolfe05;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2005.bib",
  abstract =     "This paper discusses a possible student project for
                 use within the Data Structures and Algorithms treatment
                 of linked lists. Students can explicitly compare the
                 recursive list-oriented MergeSort algorithm with
                 iterative list-oriented MergeSort algorithms (with $
                 O(n) $ space overhead) including the ``Natural
                 MergeSort.'' The author's experimental results are
                 shown for implementations in C and in Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roth:2005:SVE,
  author =       "A. Roth",
  title =        "Specification and Verification of Encapsulation in
                 {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3535",
  pages =        "195--210",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Jul 11 08:12:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Salcianu:2005:PSE,
  author =       "A. Salcianu and M. Rinard",
  title =        "Purity and Side Effect Analysis for {Java} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3385",
  pages =        "199--215",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Santone:2005:LAT,
  author =       "A. Santone and G. Vaglini",
  title =        "A local approach for temporal model checking of {Java}
                 bytecode",
  journal =      j-J-COMP-SYS-SCI,
  volume =       "70",
  number =       "2",
  pages =        "258--281",
  year =         "2005",
  CODEN =        "JCSSBM",
  ISSN =         "0022-0000 (print), 1090-2724 (electronic)",
  ISSN-L =       "0022-0000",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Computer and System Sciences",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00220000",
}

@Article{Schuppan:2005:JIR,
  author =       "V. Schuppan and M. Baur and A. Biere",
  title =        "{JVM} Independent Replay in {Java}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "113",
  number =       "??",
  pages =        "85--104",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Book{Sestoft:2005:JP,
  author =       "Peter Sestoft",
  title =        "{Java} precisely",
  publisher =    pub-MIT,
  address =      pub-MIT:adr,
  edition =      "Second",
  pages =        "168 (est.)",
  year =         "2005",
  ISBN =         "0-262-69325-9 (paperback)",
  ISBN-13 =      "978-0-262-69325-7 (paperback)",
  LCCN =         "QA76.73.J38 S435 2005",
  bibdate =      "Mon Mar 20 16:38:55 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
  tableofcontents = "1. Running Java : compilation, loading, and
                 execution\\
                 2. Names and reserved names\\
                 3. Java naming conventions\\
                 4. Comments and program layout\\
                 5. Types\\
                 6. Variables, parameters, fields, and scope\\
                 7. Strings\\
                 8. Arrays\\
                 9. Classes\\
                 10. Classes and objects in the computer\\
                 11. Expressions\\
                 12. Statements\\
                 13. Interfaces\\
                 14. Enum types (Java 5.0)\\
                 15. Exceptions, checked and unchecked\\
                 16. Threads, concurrent execution, and
                 synchronization\\
                 17. Compilation, source files, class names, and class
                 files\\
                 18. Packages and jar files\\
                 19. Mathematical functions\\
                 20. String builders and string buffers\\
                 21. Generic types and methods (Java 5.0)\\
                 22. Generic collections and maps (Java 5.0)\\
                 23. Input and output\\
                 24. Reflection\\
                 25. Metadata annotations (Java 5.0)\\
                 26. What is new in Java 5.0",
}

@Article{Shah:2005:SET,
  author =       "Vijay Shah and Nicholas Younan and Torey Alford and
                 Anthony Skjellum",
  title =        "A spectral estimation toolkit for {Java}
                 applications",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "54",
  number =       "1",
  pages =        "125--142",
  month =        jan,
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:43 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Book{Sierra:2005:HFJ,
  author =       "Kathy Sierra and Bert Bates",
  title =        "Head first {Java}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  edition =      "Second",
  pages =        "xxxii + 688",
  year =         "2005",
  ISBN =         "0-596-00920-8 (paperback)",
  ISBN-13 =      "978-0-596-00920-5 (paperback)",
  LCCN =         "QA76.73.J38 S535 2005",
  bibdate =      "Tue Aug 2 10:34:52 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Book{Sigglekow:2005:JSC,
  author =       "Bill Sigglekow",
  title =        "{Jakarta Struts} cookbook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xvi + 507",
  year =         "2005",
  ISBN =         "0-596-00771-X",
  ISBN-13 =      "978-0-596-00771-3",
  LCCN =         "QA76.73.J38 S445 2005",
  bibdate =      "Tue Aug 2 10:55:43 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "``Mastering Jakarta Struts, Solution by
                 Solution''--Cover.. ``Covers Struts 1.2 ''--Cover..",
  subject =      "Application software; Java (Computer program
                 language); Internet programming; Web site development;
                 Struts framework",
}

@Article{Skalka:2005:TES,
  author =       "C. Skalka and S. Smith and D. VanHorn",
  title =        "A Type and Effect System for Flexible Abstract
                 Interpretation of {Java}",
  journal =      j-ELECT-NOTES-THEOR-COMP-SCI,
  volume =       "131",
  number =       "",
  pages =        "111--124",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1571-0661",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Notes in Theoretical Computer Science",
}

@Article{Soomro:2005:DDH,
  author =       "H. K. Soomro and S. A. A. Shah and A. A. G. Shaikh",
  title =        "Development of Dynamic Hashing Key Generation Method
                 for {Java} Based {Sindhi} Programming Environment",
  journal =      "Mehran University Research Journal of Engineering and
                 Technology",
  volume =       "24",
  number =       "2",
  pages =        "125--130",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0254-7821",
  bibdate =      "Mon May 16 14:02:00 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Sotomayor:2005:GTP,
  author =       "Borja Sotomayor and Lisa Childers",
  title =        "{Globus Toolkit 4}: Programming {Java} Services",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "320 (est.)",
  year =         "2005",
  ISBN =         "0-12-369404-3",
  ISBN-13 =      "978-0-12-369404-1",
  LCCN =         "????",
  bibdate =      "Wed Oct 26 17:11:41 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95",
  acknowledgement = ack-nhfb,
}

@Article{Spinellis:2005:JMS,
  author =       "Diomidis Spinellis",
  title =        "{Java} Makes Scripting Languages Irrelevant?",
  journal =      j-IEEE-SOFTWARE,
  volume =       "22",
  number =       "3",
  pages =        "70--71",
  month =        may # "\slash " # jun,
  year =         "2005",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2005.67",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Thu Nov 10 09:16:25 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Sridharan:2005:DDP,
  author =       "Manu Sridharan and Denis Gopan and Lexin Shan and
                 Rastislav Bod{\'\i}k",
  title =        "Demand-driven points-to analysis for {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "59--76",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Stelting:2005:RJE,
  author =       "Stephen Stelting",
  title =        "Robust {Java}: exception handling, testing, and
                 debugging",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxii + 375",
  year =         "2005",
  ISBN =         "0-13-100852-8",
  ISBN-13 =      "978-0-13-100852-6",
  LCCN =         "QA76.73.J38 S846 2005",
  bibdate =      "Sun Nov 27 12:09:38 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@Article{Stromer:2005:JHJ,
  author =       "Julie N. Stromer and Gerald T. Quon and Paul M. K.
                 Gordon and Andrei L. Turinsky and Christoph W. Sensen",
  title =        "{Jabiru}: Harnessing {Java} {$3$D} Behaviors for
                 Device and Display Portability",
  journal =      j-IEEE-CGA,
  volume =       "25",
  number =       "2",
  pages =        "70--80",
  month =        mar # "\slash " # apr,
  year =         "2005",
  CODEN =        "ICGADZ",
  DOI =          "https://doi.org/10.1109/MCG.2005.42",
  ISSN =         "0272-1716 (print), 1558-1756 (electronic)",
  ISSN-L =       "0272-1716",
  bibdate =      "Thu Jan 12 07:18:39 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Computer Graphics and Applications",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/cga",
}

@Article{Su:2005:CBJ,
  author =       "D. Su and Z. Chen and L. Huo",
  title =        "Communication between {Java} and other advance
                 language based on {JNI}",
  journal =      "Journal --- Guangxi University Natural Science
                 Edition",
  volume =       "30",
  number =       "1",
  pages =        "6--9",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1001-7445",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Sucurovic:2005:JCX,
  author =       "S. Sucurovic and Z. Jovanovic",
  title =        "{Java} Cryptography \& {X.509} Authentication",
  journal =      j-DDJ,
  volume =       "30",
  number =       "2",
  pages =        "40--42",
  year =         "2005",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Suganuma:2005:DED,
  author =       "Toshio Suganuma and Toshiaki Yasue and Motohiro
                 Kawahito and Hideaki Komatsu and Toshio Nakatani",
  title =        "Design and evaluation of dynamic optimizations for a
                 {Java} just-in-time compiler",
  journal =      j-TOPLAS,
  volume =       "27",
  number =       "4",
  pages =        "732--785",
  month =        jul,
  year =         "2005",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Thu Sep 15 14:26:27 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Suwimonteerabuth:2005:JJB,
  author =       "D. Suwimonteerabuth and S. Schwoon and J. Esparza",
  title =        "{jMoped}: a {Java} Bytecode Checker Based on {Moped}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3440",
  pages =        "541--545",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Sweedyk:2005:CGC,
  author =       "Elizabeth Sweedyk and Marianne deLaet and Michael C.
                 Slattery and James Kuffner",
  title =        "Computer games and {CS} education: why and how",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "256--257",
  month =        mar,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1047124.1047433",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:13 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Computer and video games have grown to be a major
                 industry but, until recently, have largely been ignored
                 by academia. The last couple of years, however, have
                 seen the emergence of new academic programs,
                 conferences, and journals dedicated to games studies.
                 This panel discusses a variety of ways, and whys, for
                 introducing games into computer science curricula.
                 Panelists discuss their experiences in designing a
                 broad range of courses including a games course for
                 women, a software development course that uses games as
                 projects, an introductory games programming course in
                 Java, and an advanced graphics course that focuses on
                 games.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@InProceedings{Tarau:2005:SDE,
  author =       "Paul Tarau and Rada Mihalcea and Elizabeth Figa",
  editor =       "{ACM}",
  booktitle =    "Proceedings of the 2005 ACM Symposium on Applied
                 computing",
  title =        "Semantic document engineering with {WordNet} and
                 {PageRank}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "782--786",
  year =         "2005",
  DOI =          "https://doi.org/10.3115/981658.981684",
  ISBN =         "1-58113-964-0",
  ISBN-13 =      "978-1-58113-964-8",
  bibdate =      "Sat May 8 18:33:04 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper describes Natural Language Processing
                 techniques for document engineering in combination with
                 graph algorithms and statistical methods. Google's
                 PageRank and similar fast-converging recursive graph
                 algorithms have provided practical means to statically
                 rank vertices of large graphs like the World Wide Web.
                 By combining a fast Java-based PageRank implementation
                 with a Prolog base inferential layer, running on top of
                 an optimized WordNet graph, we describe applications to
                 word sense disambiguation and evaluate their accuracy
                 on standard benchmarks.",
  acknowledgement = ack-nhfb,
  keywords =     "logic programming; natural language processing;
                 PageRank-style graph algorithms; semantics-based
                 document processing; word sense disambiguation;
                 WordNet",
}

@Book{Tate:2005:BJ,
  author =       "Bruce Tate",
  title =        "Beyond {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xii + 185",
  year =         "2005",
  ISBN =         "0-596-10094-9",
  ISBN-13 =      "978-0-596-10094-0",
  LCCN =         "QA76.73.J38 T38 2005; QA76.73.J38 T38 2005eb;
                 QA76.73.J38",
  bibdate =      "Tue Aug 5 17:49:17 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596100940",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Computer
                 programming",
}

@Book{Tate:2005:SDN,
  author =       "Bruce Tate and Justin Gehtland and Michael Kosta
                 Loukides",
  title =        "{Spring}: a developer's notebook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xv + 184",
  year =         "2005",
  ISBN =         "0-596-00910-0",
  ISBN-13 =      "978-0-596-00910-6",
  LCCN =         "QA76.73.S67 T38 2005",
  bibdate =      "Thu Oct 6 07:24:01 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "A developer's notebook",
  acknowledgement = ack-nhfb,
  subject =      "Spring (Computer program language); Application
                 software; Development; Java",
}

@Article{Thomas:2005:BFJ,
  author =       "G. Thomas and F. Ogel and A. Galland and B. Folliot
                 and I. Piumarta",
  title =        "Building a Flexible {Java} Runtime Upon a Flexible
                 Compiler",
  journal =      j-INT-J-COMPUT-APPL,
  volume =       "27",
  number =       "1",
  pages =        "27--34",
  year =         "2005",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1080/1206212X.2005.11441753",
  ISSN =         "1206-212X (print), 1925-7074 (electronic)",
  ISSN-L =       "1206-212X",
  bibdate =      "Sat Apr 21 17:22:06 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ijca.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  URL =          "https://www.tandfonline.com/doi/full/10.1080/1206212X.2005.11441753",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Computer Applications",
  journal-URL =  "https://www.tandfonline.com/loi/tjca20",
  online-date =  "11 Jul 2015",
}

@Article{Tree:2005:NBC,
  author =       "Tree",
  title =        "{NoodleGlue}: Bridging {C\slash C++} and {Java}",
  journal =      j-CCCUJ,
  volume =       "23",
  number =       "7",
  pages =        "6--13",
  year =         "2005",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
  xxnote =       "From a footnote in the article, Tree is a pseudonym.",
}

@Article{Tschantz:2005:JAR,
  author =       "Matthew S. Tschantz and Michael D. Ernst",
  title =        "{Javari}: adding reference immutability to {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "211--230",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@InProceedings{VahaSipila:2005:BCC,
  author =       "A. VahaSipila and T. Virtanen",
  booktitle =    "Proceedings of the Annual Hawaii International
                 Conference on System Sciences",
  title =        "{BT-Crowds}: Crowds-Style Anonymity with {Bluetooth}
                 and {Java}",
  volume =       "CONF38",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "320",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1060-3425",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{VanDenBossche:2005:OCI,
  author =       "B. VanDenBossche and K. VanBoxstael and N. Goeminne
                 and F. Gielen and P. Demeester",
  title =        "An {OSGi}-compatible implementation of a {Java}
                 resource monitor [5684-20]",
  journal =      "Proceedings- Spie the International Society for
                 Optical Engineering",
  volume =       "5684",
  number =       "",
  pages =        "181--189",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0277-786X (print), 1996-756X (electronic)",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{vandenBrand:2005:GES,
  author =       "M. vandenBrand and P. E. Moreau and J. Vinju",
  title =        "Generator of efficient strongly typed abstract syntax
                 trees in {Java}",
  journal =      "IEE Proceedings Software",
  volume =       "152",
  number =       "2",
  pages =        "70--78",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1462-5970",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{vanderSpek:2005:SER,
  author =       "P. van der Spek and N. Plat and C. Pronk",
  title =        "Syntax error repair for a {Java}-based parser
                 generator",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "47--50",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{VanHoof:2005:MES,
  author =       "V. VanHoof and A. Wormek and S. Schleutermann and T.
                 Schumacher and O. Lothaire and C. Trendelenburg",
  title =        "Medical Expert Systems Developed in {j.MD}, a {Java}
                 Based Expert System Shell Application in Clinical
                 Laboratories",
  journal =      "Studies in Health Technology and Informatics",
  volume =       "107",
  number =       "1",
  pages =        "89--93",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0926-9630",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{vanNieuwpoort:2005:IFE,
  author =       "Rob V. van Nieuwpoort and Jason Maassen and Gosia
                 Wrzesi{\'n}ska and Rutger F. H. Hofman and Ceriel J. H.
                 Jacobs and Thilo Kielmann and Henri E. Bal",
  title =        "{Ibis}: a flexible and efficient {Java}-based {Grid}
                 programming environment",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "1079--1107",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.860",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{vanNieuwpoort:2005:SSE,
  author =       "Rob van Nieuwpoort and Jason Maassen and Thilo
                 Kielmann and Henri E. Bal",
  title =        "{Satin}: Simple and Efficient {Java}-based {Grid}
                 Programming",
  journal =      j-SCPE,
  volume =       "6",
  number =       "3",
  pages =        "19--32",
  month =        sep,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1895-1767",
  bibdate =      "Thu Sep 2 11:55:11 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/6/3.toc",
  URL =          "http://www.scpe.org/vols/vol06/no3/SCPE_6_3_03.pdf;
                 http://www.scpe.org/vols/vol06/no3/SCPE_6_3_03.zip",
  acknowledgement = ack-nhfb,
}

@Article{vanReeuwijk:2005:ATJ,
  author =       "C. van Reeuwijk and H. J. Sips",
  title =        "Adding tuples to {Java}: a study in lightweight data
                 structures",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "423--438",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.835",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
}

@Article{Vincenzi:2005:CTJ,
  author =       "A. M. Vincenzi and J. C. Maldonado and W. E. Wong and
                 M. E. Delamaro",
  title =        "Coverage testing of {Java} programs and components",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "56",
  number =       "1--2",
  pages =        "211--230",
  year =         "2005",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Book{Virkus:2005:PJP,
  author =       "Robert Virkus",
  title =        "{Pro J2ME Polish}: open source wireless {Java} tools
                 suite",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxi + 450",
  year =         "2005",
  ISBN =         "1-59059-503-3",
  ISBN-13 =      "978-1-59059-503-9",
  LCCN =         "QA76.73.J38 V57 2005",
  bibdate =      "Mon Mar 5 09:39:44 MST 2007",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0663/2005016571-d.html;
                 http://www.springerlink.com/content/p7059524m76vj817/",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Wireless
                 communication systems; Programming",
}

@Article{Vivanco:2005:SCJ,
  author =       "Rodrigo A. Vivanco and Nicolino J. Pizzi",
  title =        "Scientific computing with {Java} and {C++}: a case
                 study using functional magnetic resonance neuroimages",
  journal =      j-SPE,
  volume =       "35",
  number =       "3",
  pages =        "237--254",
  month =        mar,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.633",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:37 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "3 Dec 2004",
}

@Article{vonLaszewski:2005:WCJ,
  author =       "Gregor von Laszewski and Mike Hategan",
  title =        "Workflow Concepts of the {Java CoG Kit}",
  journal =      j-J-GRID-COMP,
  volume =       "3",
  number =       "3--4",
  pages =        "239--258",
  month =        sep,
  year =         "2005",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10723-005-9013-5",
  ISSN =         "1570-7873 (print), 1572-9184 (electronic)",
  ISSN-L =       "1570-7873",
  bibdate =      "Wed Jul 9 17:01:29 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1570-7873&volume=3&issue=3;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1570-7873&volume=3&issue=3&spage=239",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Grid Computing",
  journal-URL =  "http://link.springer.com/journal/10723",
  keywords =     "Grid; Java CoG Kit; Key words; workflow",
}

@Article{Wakelin:2005:CTI,
  author =       "J. Wakelin and P. Murray-Rust and S. Tyrrell and Y.
                 Zhang and H. S. Rzepa and A. Garcia",
  title =        "{CML} tools and information flow in atomic scale
                 simulations",
  journal =      j-MOL-SIM,
  volume =       "31",
  number =       "5",
  pages =        "315--322",
  month =        apr,
  year =         "2005",
  CODEN =        "MOSIEA",
  ISSN =         "0892-7022",
  ISSN-L =       "0892-7022",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  baddate =      "April, 2005",
  fjournal =     "Molecular simulation",
  pagecount =    "8",
}

@Book{Walls:2005:SA,
  author =       "Craig Walls and Ryan Breidenbach",
  title =        "{Spring} in action",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxviii + 444",
  year =         "2005",
  ISBN =         "1-932394-35-4 (paperback)",
  ISBN-13 =      "978-1-932394-35-1 (paperback)",
  LCCN =         "QA76.73.J38 W342 2005",
  bibdate =      "Wed Nov 15 06:57:16 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0626/2005276355-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0626/2005276355-d.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Application
                 software; Development",
}

@Article{Wang:2005:JBG,
  author =       "Y. Wang and Y. Xue and J. Wang and C. Wu and Y. Hu and
                 Y. Luo and S. Zhong and J. Tang and G. Cai",
  title =        "{Java}-Based {Grid} Service Spread and Implementation
                 in Remote Sensing Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3516",
  pages =        "496--503",
  year =         "2005",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Wang:2005:MDT,
  author =       "W. Wang",
  title =        "Method of Data Transformation Between Applications in
                 {Java}",
  journal =      "Journal --- Anhui University of Technology",
  volume =       "22",
  number =       "1",
  pages =        "60--62",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1671-7872",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Wayne:2005:PYB,
  author =       "R. Wayne",
  title =        "Put Your Best {Java} Forward: Use the power of {Java}
                 and the agility of a {Web} app with {Canoo}'s
                 {UltraLightClient}, deconstruct sobriquets with
                 {Language Analysis Systems}' {Name Parser}, and craft
                 and edit with {Effexis}'s {SDE}",
  journal =      "Software Development",
  volume =       "13",
  number =       "3",
  pages =        "22--26",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Wei:2005:SOJ,
  author =       "Pu-Chen Wei and Chung-Hsin Chen and Cheng-Wei Chen and
                 Jenq-Kuen Lee",
  title =        "Support and optimization of {Java RMI} over a
                 {Bluetooth} environment",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "967--989",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.838",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Article{Weir:2005:DTJ,
  author =       "George R. S. Weir and Tamar Vilner and Ant{\'o}nio
                 Jos{\'e} Mendes and Marie Nordstr{\"o}m",
  title =        "Difficulties teaching {Java} in {CS1} and how we aim
                 to solve them",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "344--345",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067543",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In 1971 Dijkstra noted that as a teacher of
                 programming he 'feels akin to a teacher of composition
                 at a conservatory. He does not teach his pupils how to
                 compose a particular symphony, he must help his pupils
                 to find their own style and must explain to them what
                 is implied by this' [1]. In similar vein, Don Knuth
                 suggests that 'computer programming is an art, because
                 it applies accumulated knowledge to the world, because
                 it requires skill and ingenuity, and especially because
                 it produces objects of beauty' [2].Traditionally, most
                 Computer Science programs offer an introductory
                 programming methodology course (CS1). In recent years,
                 many institutions have subjected this course to major
                 changes. One common alteration has been a move from a
                 procedural paradigm to an Object Oriented (OO)
                 paradigm. In many cases, this is manifested as a change
                 to programming in Java. Emerging from this transition
                 is the apparent anomaly that many students fail to
                 understand OOP concepts, especially when required to
                 use them in problem solving. Our panel represents
                 researchers from four different countries who have all
                 encountered such problems with a CS1 course. In this
                 light, the panel focuses on CS1 difficulties and aims
                 to address solutions to the 'Java problem'. Although we
                 bring our own insights to the considered issues, we aim
                 to engage the panel audience in discussing the nature
                 of the problem and the propriety of the proposed
                 solutions.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Welc:2005:SFJ,
  author =       "Adam Welc and Suresh Jagannathan and Antony Hosking",
  title =        "Safe futures for {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "439--453",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Wenderholm:2005:EJB,
  author =       "E. Wenderholm",
  title =        "{Eclpss}: a {Java}-based framework for parallel
                 ecosystem simulation and modeling",
  journal =      "Environmental Modelling and Software",
  volume =       "20",
  number =       "9",
  pages =        "1081--1100",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1364-8152",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Weyns:2005:SDT,
  author =       "Danny Weyns and Eddy Truyen and Pierre Verbaeten",
  title =        "Serialization of Distributed Threads in {Java}",
  journal =      j-SCPE,
  volume =       "6",
  number =       "1",
  pages =        "81--98",
  month =        mar,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1895-1767",
  bibdate =      "Thu Sep 2 11:55:11 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/6/1.toc",
  URL =          "http://www.scpe.org/vols/vol06/SCPE_6_1_07.pdf;
                 http://www.scpe.org/vols/vol06/SCPE_6_1_07.zip",
  acknowledgement = ack-nhfb,
}

@Article{Wicentowski:2005:UIP,
  author =       "Richard Wicentowski and Tia Newhall",
  title =        "Using image processing projects to teach {CS1}
                 topics",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "1",
  pages =        "287--291",
  month =        mar,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1047124.1047445",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:13 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "As Computer Science educators, we know that students
                 learn more from projects that are fun and challenging,
                 that seem ``real'' to them, and that allow them to be
                 creative in designing their solutions. When we have
                 students beating down our office doors wanting to show
                 us what they've done, we know we have designed a
                 project that truly meets its pedagogical goals. In CS1
                 courses, it is often difficult to come up with large,
                 real-world programming projects that are at an
                 appropriate level and that really excite students. This
                 is particularly true in the first half of the course
                 when students are learning basic programming and
                 problem solving skills. We found that assignments based
                 on image processing are an effective way to teach many
                 CS1 topics. Because students enjoy working on the
                 projects, they come away with a solid understanding of
                 the topics reinforced by the projects. In this paper,
                 we discuss many ways in which image processing could be
                 used to teach CS1 topics. As an example, we present two
                 image processing projects that we use in our CS1
                 course. These large, real-world programs are designed
                 so that students can successfully master them early in
                 their first semester of programming. Even though our
                 CS1 course is taught using the C programming language,
                 these projects could easily be used by a CS1 course in
                 C, C++, or Java. We provide starting point code for
                 Java and C versions of the projects, and provide sample
                 assignment write-ups on our project webpage [12].",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Wilson:2005:DCS,
  author =       "Greg Wilson",
  title =        "Data crunching: solve everyday problems using {Java},
                 {Python} and more",
  publisher =    "Pragmatic Bookshelf",
  address =      "Raleigh, NC, USA",
  pages =        "viii + 193",
  year =         "2005",
  ISBN =         "0-9745140-7-1",
  ISBN-13 =      "978-0-9745140-7-9",
  LCCN =         "QA63 .W55 2005",
  bibdate =      "Thu Oct 6 07:25:06 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "The pragmatic programmers",
  acknowledgement = ack-nhfb,
  subject =      "Problem solving; Data processing; Java (Computer
                 program language); Python (Computer program language)",
}

@Article{Wittmer:2005:EPC,
  author =       "K. Wittmer",
  title =        "{EPerl}: {Perl}, {C++}, and {Java}",
  journal =      j-CCCUJ,
  volume =       "23",
  number =       "7",
  pages =        "22--25",
  year =         "2005",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Wong:2005:RTJ,
  author =       "W. Wong",
  title =        "Real-Time {Java}, {CORBA ORB} perk up at {ESC 2005}",
  journal =      j-ELECTRONIC-DESIGN,
  volume =       "53",
  number =       "9",
  pages =        "36--37",
  year =         "2005",
  CODEN =        "ELODAW",
  ISSN =         "0013-4872",
  ISSN-L =       "0013-4872",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Electronic Design",
}

@Article{Woo:2005:SAJ,
  author =       "Jongwook Woo",
  title =        "Static Analysis for {Java} with Alias Representation
                 Reference-Set in High-Performance Computing",
  journal =      j-SCPE,
  volume =       "6",
  number =       "1",
  pages =        "125--139",
  month =        mar,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1895-1767",
  bibdate =      "Thu Sep 2 11:55:11 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/6/1.toc",
  URL =          "http://www.scpe.org/vols/vol06/SCPE_6_1_10.pdf;
                 http://www.scpe.org/vols/vol06/SCPE_6_1_10.zip",
  acknowledgement = ack-nhfb,
}

@Article{Wu:2005:PTT,
  author =       "Xiaoqing Wu and Barrett R. Bryant and Jeff Gray and
                 Marjan Mernik",
  title =        "Pattern transformation for two-dimensional separation
                 of concerns",
  journal =      j-SIGSOFT,
  volume =       "30",
  number =       "4",
  pages =        "1--5",
  month =        jul,
  year =         "2005",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1082983.1083133",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:14:51 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Design patterns are utilized in software development
                 to decouple individual concerns, so that a change in a
                 design decision is isolated to one location of the code
                 base. However, multidimensional concerns exist in
                 software development and therefore no single design
                 pattern offers a panacea toward addressing problems of
                 change evolution. By analyzing the matrix of concerns
                 during the software development process and utilizing
                 transferable aspect-orientation and object-orientation,
                 a pattern transformation based two-dimensional
                 separation of concerns is described, which integrates
                 the benefits derived from the Inheritance pattern and
                 several GoF patterns. An example implementation is
                 shown using Java and AspectJ.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Wu:2005:TGA,
  author =       "Mingshen Wu",
  title =        "Teaching graph algorithms using online {Java} package
                 {IAPPGA}",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "4",
  pages =        "64--68",
  month =        dec,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1113847.1113879",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:22 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse37.html#Wu05;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2005.bib",
  abstract =     "Teaching and learning graph algorithms is a great
                 challenge to both instructors and students. Instructors
                 are seeking software that is specifically designed to
                 demonstrate the algorithms and for students to learn
                 these algorithms efficiently. The software program
                 should be readily available and provide an environment
                 so that students are able to review the algorithm,
                 solve a practical problem, and intuitively study the
                 working process via a graphical display all together.
                 This paper presents an ``Internet Accessible Program
                 Package for Graph Algorithms'' (IAPPGA) developed by
                 the author. This package can be accessed via an
                 Internet browser at any time, anywhere without
                 downloading or installing any software.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Xu:2005:NER,
  author =       "K. Xu and L. Xin",
  title =        "Novel 32bit Embedded Reduced-Instruction-Set-Computer
                 with {Java} Extension",
  journal =      j-MINI-MICRO-SYSTEMS,
  volume =       "26",
  number =       "1",
  pages =        "90--95",
  year =         "2005",
  CODEN =        "XWJXEH",
  ISSN =         "1000-1220",
  bibdate =      "Tue Apr 26 10:50:23 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Mini-Micro Systems",
}

@Article{Xu:2005:OPJ,
  author =       "Zhigen Xu and Yusong Yan and Jim X. Chen",
  title =        "{OpenGL} Programming in {Java}",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "7",
  number =       "1",
  pages =        "51--55",
  month =        jan # "\slash " # feb,
  year =         "2005",
  CODEN =        "CSENFA",
  DOI =          "https://doi.org/10.1109/MCSE.2005.20",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Sat May 14 13:11:44 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/dl/mags/cs/2005/01/c1051.htm;
                 http://csdl.computer.org/dl/mags/cs/2005/01/c1051.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Article{Yan:2005:EPC,
  author =       "Lu Yan",
  title =        "Enable Pervasive Computing with {Java}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "6",
  number =       "6",
  pages =        "??--??",
  month =        jun,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Mon Aug 30 23:13:20 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/ds/2005/06/o6004.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Yang:2005:LMJ,
  author =       "Byung-Sun Yang and Soo-Mook Moon and Kemal
                 Ebcio{\u{g}}lu",
  title =        "Lightweight monitors for the {Java} virtual machine",
  journal =      j-SPE,
  volume =       "35",
  number =       "3",
  pages =        "281--299",
  month =        mar,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.635",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:37 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "3 Dec 2004",
}

@Article{Yero:2005:JIJ,
  author =       "Eduardo Javier Huerta Yero and Fabiano de Oliveira
                 Lucchese and Francisco S{\'e}rgio Sambatti and Miriam
                 von Zuben and Marco Aur{\'e}lio Amaral Henriques",
  title =        "{{\sc JoiN}}: The implementation of a {Java}-based
                 massively parallel grid",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "21",
  number =       "5",
  pages =        "791--810",
  month =        may,
  year =         "2005",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Fri Jul 15 08:00:46 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/0167739X",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Yiyu:2005:JPM,
  author =       "T. Yiyu and L. K. Man and L. M. Pak and Y. W. Shing
                 and S. F. Anthony",
  title =        "10.4-4: a {Java} processor for mobile devices",
  journal =      "IEEE International Conference on Consumer
                 Electronics",
  volume =       "23RD",
  publisher =    "IEEE",
  pages =        "437--438",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0747-668X",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  xxnote =       "Check last author family name??",
}

@Article{Yu:2005:MXD,
  author =       "Yijun Yu and Jianguo Lu and John Mylopoulos and Weiwei
                 Sun and Jing-Hao Xue and Erik H. D'Hollander",
  title =        "Making {XML} document markup international",
  journal =      j-SPE,
  volume =       "35",
  number =       "1",
  pages =        "1--14",
  month =        jan,
  year =         "2005",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.621",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:36 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  abstract =     "In name and in practice, the World-Wide Web (hereafter
                 Web) is used around the World beyond English-speaking
                 areas. This creates a tremendous need to
                 internationalize standard terminology used in the
                 technologies that make the Web possible. Existing
                 efforts on XML internationalization (i18n) and
                 localization (i10n) have focused on the content of XML
                 documents instead of the terms used in markup
                 (annotations) such as elements and attributes. The SGML
                 standard ISO 8879 supports the use of Unicode (ISO
                 10646) throughout a document, including markups.
                 However, most elements and attributes of XML documents
                 are still defined in English, thereby limiting their
                 use among non-English speakers. This paper presents an
                 XSLT-based method that can completely localize the
                 markup of XML documents into different natural
                 languages. We also describe how the proposed technique
                 can be applied to translation problems in programming
                 (e.g. C and Java) or documentation (e.g. \LaTeX{} or
                 other formatting languages) so that a program or a
                 document can be converted to and from an XML format",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "eXtensible Markup Language (XML); eXtensible
                 Stylesheet Language Transformations (XSLT);
                 localization (l10n) and internationalization (i18n);
                 markup; programming and documentation languages;
                 transformation",
  onlinedate =   "18 Oct 2004",
}

@Book{Zeller:2005:EOS,
  author =       "Andreas Zeller and Jens Krinke",
  title =        "Essential open source toolset: programming with
                 {Eclipse}, {JUnit}, {CVS}, {Bugzilla}, {Ant},
                 {Tcl\slash Tk} and more",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xii + 392",
  year =         "2005",
  ISBN =         "0-470-84445-0 (paperback)",
  ISBN-13 =      "978-0-470-84445-8 (paperback)",
  LCCN =         "QA76.76.D47 Z45 2005",
  bibdate =      "Tue Nov 28 14:20:32 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.loc.gov/catdir/toc/ecip053/2004026271.html",
  acknowledgement = ack-nhfb,
  subject =      "Computer software; Development; Open source software",
}

@Article{Zhang:2005:ROP,
  author =       "S. Zhang and H. Li",
  title =        "Research of Object Persistence Method Based on {Java}
                 Technologies",
  journal =      j-MINI-MICRO-SYSTEMS,
  volume =       "26",
  number =       "2",
  pages =        "264--267",
  year =         "2005",
  CODEN =        "XWJXEH",
  ISSN =         "1000-1220",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Mini-Micro Systems",
}

@Article{Zhao:2005:DMC,
  author =       "J. Zhao",
  title =        "A Dependence Model for Concurrency in {Java}
                 Programs",
  journal =      "Information",
  volume =       "8",
  number =       "1",
  pages =        "111--126",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1343-4500",
  bibdate =      "Tue May 3 17:31:21 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{ZhongQun:2005:DRM,
  author =       "W. ZhongQun and X. XiaoDong",
  title =        "Dynamic Relocation Model and Algorithm for Application
                 Components Based on {Java}",
  journal =      "Journal --- Nanjing University Natural Sciences
                 Edition",
  volume =       "41",
  number =       "2",
  pages =        "180--188",
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0469-5097",
  bibdate =      "Tue Jun 21 17:12:31 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 Ingenta database",
  note =         "Check author names: looks like confusion of family and
                 personal names??",
  acknowledgement = ack-nhfb,
}

@Article{Aaronson:2006:PPC,
  author =       "L. Aaronson",
  title =        "Parallel processor [community service]",
  journal =      j-IEEE-SPECTRUM,
  volume =       "43",
  number =       "5",
  pages =        "61--64",
  month =        may,
  year =         "2006",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2006.1628826",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "Air accidents; Austin Area Urban League; Black Family
                 Technology Awareness Week; Board of Directors; business
                 technology group; company-wide technical leadership
                 team; computing systems architect; Concurrent
                 computing; DP industry; Educational institutions;
                 electrical engineering; Electrical engineering;
                 Engineering profession; IBM senior technical staff
                 member; Java; Lakes; professional aspects; Road
                 accidents; Sandra Johnson; Scholarships; social
                 sciences",
}

@Article{Abadi:2006:TSL,
  author =       "Martin Abadi and Cormac Flanagan and Stephen N.
                 Freund",
  title =        "Types for safe locking: {Static} race detection for
                 {Java}",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "2",
  pages =        "207--255",
  month =        mar,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1119479.1119480",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Mar 10 18:46:58 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This article presents a static race-detection analysis
                 for multithreaded shared-memory programs, focusing on
                 the Java programming language. The analysis is based on
                 a type system that captures many common synchronization
                 patterns. It supports classes with internal
                 synchronization, classes that require client-side
                 synchronization, and thread-local classes. In order to
                 demonstrate the effectiveness of the type system, we
                 have implemented it in a checker and applied it to over
                 40,000 lines of hand-annotated Java code. We found a
                 number of race conditions in the standard Java
                 libraries and other test programs. The checker required
                 fewer than 20 additional type annotations per 1,000
                 lines of code. This article also describes two
                 improvements that facilitate checking much larger
                 programs: an algorithm for annotation inference and a
                 user interface that clarifies warnings generated by the
                 checker. These extensions have enabled us to use the
                 checker for identifying race conditions in large-scale
                 software systems with up to 500,000 lines of code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{Adams:2006:JAE,
  author =       "Cameron Adams and James Edwards",
  title =        "The {JavaScript} Anthology: 101 Essential Tips, Tricks
                 \& Hacks",
  publisher =    "SitePoint",
  address =      "????",
  pages =        "592 (est)",
  year =         "2006",
  ISBN =         "0-9752402-6-9",
  ISBN-13 =      "978-0-9752402-6-7",
  LCCN =         "",
  bibdate =      "Mon Mar 20 05:55:20 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95, CAN \$55.95",
  URL =          "http://www.oreilly.com/catalog/0975240269/",
  acknowledgement = ack-nhfb,
}

@Article{Adams:2006:OJP,
  author =       "Joel C. Adams",
  title =        "{OOP} and the {Janus Principle}",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "359--363",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121453",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "It is easy for computer science students and educators
                 to write software applications in Java or C++ that are
                 not object-oriented. In this paper, we present the
                 Janus Principle --- a simple software engineering
                 principle (related to the MVC design pattern) whose use
                 produces highly object-oriented code. We demonstrate
                 its effect by developing a simple Java networking
                 application, first without using the Janus Principle,
                 and then using it. Students and educators who follow
                 this principle will write programs containing highly
                 reusable code.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Allen:2006:SIG,
  author =       "Eric E. Allen and Robert Cartwright",
  title =        "Safe instantiation in {Generic Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "59",
  number =       "1--2",
  pages =        "26--37",
  month =        jan,
  year =         "2006",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:53 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Andreae:2006:FIP,
  author =       "Chris Andreae and James Noble and Shane Markstrum and
                 Todd Millstein",
  title =        "A framework for implementing pluggable type systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "57--74",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167515.1167479",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:51:58 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Pluggable types have been proposed to support multiple
                 type systems in the same programming language. We have
                 designed and implemented JavaCOP, a program constraint
                 system for implementing practical pluggable type
                 systems for Java. JavaCOP enforces user-defined typing
                 constraints written in a declarative and expressive
                 rule language. We have validated our design by
                 (re)implementing a range of type systems and program
                 checkers. By using a program constraint system to
                 implement pluggable types, programmers are able to
                 check that their programs will operate correctly in
                 restricted environments, adhere to strict programming
                 rules, avoid null pointer errors or scoped memory
                 exceptions, and meet style guidelines, while
                 programming language researchers can easily experiment
                 with novel type systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "JavaCOP; pluggable type systems",
}

@Book{Angus:2006:PST,
  author =       "Chris Angus",
  title =        "Prototype and scriptaculous: taking the pain out of
                 {JavaScript}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2006",
  ISBN =         "0-596-52919-8",
  ISBN-13 =      "978-0-596-52919-2",
  LCCN =         "QA76.73.J38 A54 2006eb; QA76.73.J38",
  bibdate =      "Tue Aug 5 18:10:39 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596529192",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language); Web sites;
                 Design; Internet publishing",
}

@Article{Azizi:2006:BRJ,
  author =       "Mostafa Azizi",
  title =        "Book Review: {John Hunt and Chris Loftus, Guide to
                 J2EE: Enterprise Java. Series Springer Professional
                 Computing. Springer (2003). ISBN 1-85233-704-4.
                 \$79.95\slash \pounds 45.00\slash \pounds 69.95. 672
                 pp}",
  journal =      j-COMP-J,
  volume =       "49",
  number =       "2",
  pages =        "250--251",
  month =        mar,
  year =         "2006",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/bxh155",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Mon Feb 27 15:50:47 MST 2006",
  bibsource =    "http://comjnl.oxfordjournals.org/content/vol49/issue2/index.dtl;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://comjnl.oxfordjournals.org/cgi/content/full/49/2/250;
                 http://comjnl.oxfordjournals.org/cgi/reprint/49/2/250",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Article{Baxter:2006:USJ,
  author =       "Gareth Baxter and Marcus Frean and James Noble and
                 Mark Rickerby and Hayden Smith and Matt Visser and
                 Hayden Melton and Ewan Tempero",
  title =        "Understanding the shape of {Java} software",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "12",
  pages =        "397--412",
  month =        dec,
  year =         "2006",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Oct 24 06:22:42 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Bentley:2006:IAB,
  author =       "Chris Bentley and Scott A. Watterson and David K.
                 Lowenthal and Barry Rountree",
  title =        "Implicit array bounds checking on 64-bit
                 architectures",
  journal =      j-TACO,
  volume =       "3",
  number =       "4",
  pages =        "502--527",
  month =        dec,
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1187976.1187982",
  ISSN =         "1544-3566 (print), 1544-3973 (electronic)",
  ISSN-L =       "1544-3566",
  bibdate =      "Sat Apr 14 10:44:57 MDT 2007",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Several programming languages guarantee that array
                 subscripts are checked to ensure they are within the
                 bounds of the array. While this guarantee improves the
                 correctness and security of array-based code, it adds
                 overhead to array references. This has been an obstacle
                 to using higher-level languages, such as Java, for
                 high-performance parallel computing, where the language
                 specification requires that all array accesses must be
                 checked to ensure they are within bounds. This is
                 because, in practice, array-bounds checking in
                 scientific applications may increase execution time by
                 more than a factor of 2. Previous research has explored
                 optimizations to statically eliminate bounds checks,
                 but the dynamic nature of many scientific codes makes
                 this difficult or impossible. Our approach is, instead,
                 to create a compiler and operating system
                 infrastructure that does not generate explicit bounds
                 checks. It instead places arrays inside of Index
                 Confinement Regions (ICRs), which are large, isolated,
                 mostly unmapped virtual memory regions. Any array
                 reference outside of its bounds will cause a protection
                 violation; this provides implicit bounds checking. Our
                 results show that when applying this infrastructure to
                 high-performance computing programs written in Java,
                 the overhead of bounds checking relative to a program
                 with no bounds checks is reduced from an average of
                 63\% to an average of 9\%.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Architecture and Code Optimization
                 (TACO)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J924",
}

@Article{Bergin:2006:KUD,
  author =       "Joe Bergin",
  title =        "{Karel} universe drag \& drop editor",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "307--307",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140212",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Karel Universe is a drag and drop editor integrated
                 with the Karel J Robot [1] simulator system. It is
                 intended for those students who wish to learn Java with
                 the absolute minimum of syntax. The editor permits the
                 student to create classes, objects, and programs by
                 dragging syntactically correct program fragments from
                 one pane to another. The resulting programs may be then
                 executed in the Karel J Robot simulator.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bierre:2006:MOB,
  author =       "Kevin Bierre and Phil Ventura and Andrew Phelps and
                 Christopher Egert",
  title =        "Motivating {OOP} by blowing things up: an exercise in
                 cooperation and competition in an introductory {Java}
                 programming course",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "354--358",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121452",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "For the introductory student, the process of learning
                 to program is an arduous task. Not only does the
                 student have to learn the syntax of a programming
                 language, he or she also has to apply concepts of
                 object-oriented design and software construction in
                 service of the projects created within the classroom.
                 Unfortunately, as students further their study of
                 programming, they often feel disconnected from the
                 examples and projects they construct as part of their
                 coursework. Projects are often perceived as toy
                 problems and do not match the graphics-rich,
                 interactive notion of programming that students bring
                 with them to class. In addition, projects and classroom
                 exercises do not convey the appropriate level of
                 complexity and fail in the task of challenging the
                 student to critically think about what they are
                 constructing. This paper discusses TankBrains, a
                 cooperative and competitive programming project
                 presented to students in the latter part of their
                 introductory programming course sequence. Students are
                 challenged to create simple tank artificial
                 intelligences as teams, which are later tested against
                 each other in head-to-head combat. Students create
                 their TankBrains within a collaborative virtual
                 environment, which enforces the physics and rules of
                 the combat simulation. Students must also present their
                 strategies and findings to each other. This paper also
                 examines how the use of the TankBrain system influences
                 the students' perception regarding achievements and
                 learning in the classroom.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Binder:2006:PAS,
  author =       "Walter Binder",
  title =        "Portable and accurate sampling profiling for {Java}",
  journal =      j-SPE,
  volume =       "36",
  number =       "6",
  pages =        "615--650",
  month =        may,
  year =         "2006",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.712",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:12 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "14 Feb 2006",
}

@Article{Binder:2006:SRJ,
  author =       "Walter Binder and Volker Roth",
  title =        "Security Risks in {Java}-based Mobile Code Systems",
  journal =      j-SCPE,
  volume =       "7",
  number =       "4",
  pages =        "1--11",
  month =        dec,
  year =         "2006",
  CODEN =        "????",
  ISSN =         "1895-1767",
  bibdate =      "Thu Sep 2 11:55:11 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/7/4.toc",
  URL =          "http://www.scpe.org/vols/vol07/no4/SCPE_7_4_01.pdf;
                 http://www.scpe.org/vols/vol07/no4/SCPE_7_4_01.zip",
  acknowledgement = ack-nhfb,
}

@Article{Blackburn:2006:DBJ,
  author =       "Stephen M. Blackburn and Robin Garner and Chris
                 Hoffmann and Asjad M. Khang and Kathryn S. McKinley and
                 Rotem Bentzur and Amer Diwan and Daniel Feinberg and
                 Daniel Frampton and Samuel Z. Guyer and Martin Hirzel
                 and Antony Hosking and Maria Jump and Han Lee and J.
                 Eliot B. Moss and B. Moss and Aashish Phansalkar and
                 Darko Stefanovi{\'c} and Thomas VanDrunen and Daniel
                 von Dincklage and Ben Wiedermann",
  title =        "The {DaCapo} benchmarks: {Java} benchmarking
                 development and analysis",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "169--190",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167515.1167488",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Since benchmarks drive computer science research and
                 industry product development, which ones we use and how
                 we evaluate them are key questions for the community.
                 Despite complex runtime tradeoffs due to dynamic
                 compilation and garbage collection required for Java
                 programs, many evaluations still use methodologies
                 developed for C, C++, and Fortran. SPEC, the dominant
                 purveyor of benchmarks, compounded this problem by
                 institutionalizing these methodologies for their Java
                 benchmark suite. This paper recommends benchmarking
                 selection and evaluation methodologies, and introduces
                 the DaCapo benchmarks, a set of open source,
                 client-side Java benchmarks. We demonstrate that the
                 complex interactions of (1) architecture, (2) compiler,
                 (3) virtual machine, (4) memory management, and (5)
                 application require more extensive evaluation than C,
                 C++, and Fortran which stress (4) much less, and do not
                 require (1). We use and introduce new value,
                 time-series, and statistical metrics for static and
                 dynamic properties such as code complexity, code size,
                 heap composition, and pointer mutations. No benchmark
                 suite is definitive, but these metrics show that DaCapo
                 improves over SPEC Java in a variety of ways, including
                 more complex code, richer object behaviors, and more
                 demanding memory system requirements. This paper takes
                 a step towards improving methodologies for choosing and
                 evaluating benchmarks to foster innovation in system
                 design and implementation for Java and other managed
                 languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "benchmark; DaCapo; Java; methodology; SPEC",
}

@Article{Bonorden:2006:WCE,
  author =       "Olaf Bonorden and Joachim Gehweiler and Friedhelm
                 Meyer auf der Heide",
  title =        "A {Web} Computing Environment for Parallel Algorithms
                 in {Java}",
  journal =      j-SCPE,
  volume =       "7",
  number =       "2",
  pages =        "1--14",
  month =        jun,
  year =         "2006",
  CODEN =        "????",
  ISSN =         "1895-1767",
  bibdate =      "Thu Sep 2 11:55:11 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/7/2.toc",
  URL =          "http://www.scpe.org/vols/vol07/no2/SCPE_7_2_01.pdf;
                 http://www.scpe.org/vols/vol07/no2/SCPE_7_2_01.zip",
  acknowledgement = ack-nhfb,
}

@Article{Bravenboer:2006:DFEa,
  author =       "Martin Bravenboer and {\'E}ric Tanter and Eelco
                 Visser",
  title =        "Declarative, formal, and extensible syntax definition
                 for {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "209--228",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167491",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Aspect-Oriented Programming (AOP) is attracting
                 attention from both research and industry, as
                 illustrated by the ever-growing popularity of AspectJ,
                 the de facto standard AOP extension of Java. From a
                 compiler construction perspective AspectJ is
                 interesting as it is a typical example of compositional
                 language, i.e., a language composed of a number of
                 separate languages with different syntactical styles:
                 in addition to plain Java, AspectJ includes a language
                 for defining pointcuts and one for defining advices.
                 Language composition represents a non-trivial challenge
                 for conventional parsing techniques. First, combining
                 several languages with different lexical syntax leads
                 to considerable complexity in the lexical states to
                 processed. Second, as new language features for AOP are
                 being explored, many research proposals are concerned
                 with further extending the AspectJ language, resulting
                 in a need for an extensible syntax definition. This
                 paper shows how scannerless parsing elegantly addresses
                 the issues encountered by conventional techniques when
                 parsing AspectJ . We present the design of a modular,
                 extensible, and formal definition of the lexical and
                 context-free aspects of the AspectJ syntax in the
                 Syntax Definition Formalism SDF, which is implemented
                 by a scannerless, generalized-LR parser (SGLR). We
                 introduce grammar mixins as a novel application of
                 SDF's modularity features, which allows the declarative
                 definition of different keyword policies and
                 combination of extensions. We illustrate the modular
                 extensibility of our definition with syntax extensions
                 taken from current research on aspect languages.
                 Finally, benchmarks show the reasonable performance of
                 scannerless generalized-LR parsing for this grammar.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aspectJ; generalized-LR parsing; grammar mixins;
                 lexical syntax; scannerless parsing; syntax definition;
                 syntax extension",
}

@Article{Brecht:2006:CGC,
  author =       "Tim Brecht and Eshrat Arjomandi and Chang Li and Hang
                 Pham",
  title =        "Controlling garbage collection and heap growth to
                 reduce the execution time of {Java} applications",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "5",
  pages =        "908--941",
  month =        sep,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1152649.1152652",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Sep 6 07:13:55 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In systems that support garbage collection, a tension
                 exists between collecting garbage too frequently and
                 not collecting it frequently enough. Garbage collection
                 that occurs too frequently may introduce unnecessary
                 overheads at the risk of not collecting much garbage
                 during each cycle. On the other hand, collecting
                 garbage too infrequently can result in applications
                 that execute with a large amount of virtual memory
                 (i.e., with a large footprint) and suffer from
                 increased execution times due to paging. In this
                 article, we use a large set of Java applications and
                 the highly tuned and widely used Boehm-Demers-Weiser
                 (BDW) conservative mark-and-sweep garbage collector to
                 experimentally examine the extent to which the
                 frequency of garbage collection impacts an
                 application's execution time, footprint, and pause
                 times. We use these results to devise some guidelines
                 for controlling garbage collection and heap growth in a
                 conservative garbage collector in order to minimize
                 application execution times. Then we describe new
                 strategies for controlling garbage collection and heap
                 growth that impact not only the frequency with which
                 garbage collection occurs but also the points at which
                 it occurs. Experimental results demonstrate that when
                 compared with the existing approach used in the
                 standard BDW collector, our new strategy can
                 significantly reduce application execution times. Our
                 goal is to obtain a better understanding of how to
                 control garbage collection and heap growth for an
                 individual application executing in isolation. These
                 results can be applied in a number of high-performance
                 computing and server environments, in addition to some
                 single-user environments. This work should also provide
                 insights into how to make better decisions that impact
                 garbage collection in multiprogrammed environments.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Briand:2006:TRE,
  author =       "L. C. Briand and Y. Labiche and J. Leduc",
  title =        "Toward the Reverse Engineering of {UML} Sequence
                 Diagrams for Distributed {Java} Software",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "32",
  number =       "9",
  pages =        "642--663",
  month =        sep,
  year =         "2006",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2006.96",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1707665",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Bringert:2006:PAC,
  author =       "Bj{\"o}rn Bringert and Aarne Ranta",
  title =        "A pattern for almost compositional functions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "216--226",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1160074.1159834",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper introduces a pattern for almost
                 compositional functions over recursive data types, and
                 over families of mutually recursive data types. Here
                 'almost compositional' means that for a number of the
                 constructors in the type(s), the result of the function
                 depends only on the constructor and the results of
                 calling the function on the constructor's arguments.
                 The pattern consists of a generic part constructed once
                 for each data type or family of data types, and a
                 task-specific part. The generic part contains the code
                 for the predictable compositional cases, leaving the
                 interesting work to the task-specific part. Examples of
                 the pattern implemented in dependent type theory with
                 inductive families, in Haskell with generalized
                 algebraic data types and rank-2 polymorphism, and in
                 Java using a variant of the Visitor design pattern are
                 given. The relationship to the 'Scrap Your Boilerplate'
                 approach to generic programming, and to general tree
                 types in dependent type theory are also investigated.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "abstract syntax; dependent type theory; Haskell; Java;
                 traversal; visitor pattern",
}

@Article{Bruce-Lockhart:2006:IEE,
  author =       "Michael Bruce-Lockhart and Theodore S. Norvell",
  title =        "Interactive embedded examples: a demonstration",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "357--357",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140267",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "A demonstration of the integration of a program
                 animation tool into a set of web based notes used by
                 instructors for lecturing and students for studying.
                 Standard, conventionally prepared C++ and Java examples
                 are dynamically incorporated into the class notes and
                 can be interactively run in the animation tool directly
                 from within the notes.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bruneton:2006:FCM,
  author =       "Eric Bruneton and Thierry Coupaye and Matthieu
                 Leclercq and Vivien Qu{\'e}ma and Jean-Bernard
                 Stefani",
  title =        "The {FRACTAL} component model and its support in
                 {Java}",
  journal =      j-SPE,
  volume =       "36",
  number =       "11--12",
  pages =        "1257--1284",
  month =        sep # "\slash " # oct,
  year =         "2006",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.767",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:13 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "17 Aug 2006",
}

@Book{Bruno:2006:JM,
  author =       "Eric J. Bruno",
  title =        "{Java} messaging",
  publisher =    pub-CHARLES-RIVER-MEDIA,
  address =      pub-CHARLES-RIVER-MEDIA:adr,
  pages =        "xiii + 466",
  year =         "2006",
  ISBN =         "1-58450-418-8",
  ISBN-13 =      "978-1-58450-418-4",
  LCCN =         "TK5105.74.J32 B78 2006",
  bibdate =      "Fri May 29 12:43:39 MDT 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Charles River Media programming series",
  URL =          "http://www.loc.gov/catdir/toc/ecip0517/2005022084.html",
  acknowledgement = ack-nhfb,
  subject =      "Instant messaging; Java (Computer program language)",
}

@Book{Burke:2006:EJ,
  author =       "Bill Burke and Richard Monson-Haefel",
  title =        "Enterprise JavaBeans 3.0",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fifth",
  pages =        "xxv + 732",
  year =         "2006",
  ISBN =         "0-596-00978-X",
  ISBN-13 =      "978-0-596-00978-6",
  LCCN =         "QA76.73.J38 M65 2006",
  bibdate =      "Fri May 29 12:43:18 MDT 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0715/2006285201-d.html",
  acknowledgement = ack-nhfb,
  remark =       "Revised edition of: Enterprise JavaBeans / Richard
                 Monson-Haefel. 2004. Covers Java Persistence.",
  subject =      "Java (Computer program language); JavaBeans",
}

@Article{Carlisle:2006:AOP,
  author =       "Martin C. Carlisle",
  title =        "Automatic {OO} parser generation using visitors for
                 {Ada 2005}",
  journal =      j-SIGADA-LETTERS,
  volume =       "26",
  number =       "3",
  pages =        "3--8",
  month =        dec,
  year =         "2006",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1185642.1185644",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 09:16:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We describe AdaGOOP 2005 (the Ada Generator of
                 Object-Oriented Parsers). AdaGOOP 2005 takes a
                 specification of tokens and an LALR(1) grammar and
                 creates a lexer, a parser that automatically creates a
                 parse tree, and a traversal of the parse tree using the
                 visitor pattern. AdaGOOP generates output that is
                 similar to that of the Java tool SableCC. It takes
                 advantage of the new interface feature available in Ada
                 2005 to create a visitor.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
  keywords =     "Ada 2005; AdaGOOP; automatic parser generation;
                 visitor pattern",
}

@Article{Carlstrom:2006:ATP,
  author =       "Brian D. Carlstrom and Austen McDonald and Hassan
                 Chafi and JaeWoong Chung and Chi Cao Minh and Christos
                 Kozyrakis and Kunle Olukotun",
  title =        "The {ATOMOS} transactional programming language",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "1--13",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133255.1133983",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Atomos is the first programming language with implicit
                 transactions, strong atomicity, and a scalable
                 multiprocessor implementation. Atomos is derived from
                 Java, but replaces its synchronization and conditional
                 waiting constructs with simpler transactional
                 alternatives. The Atomos watch statement allows
                 programmers to specify fine-grained watch sets used
                 with the Atomos retry conditional waiting statement for
                 efficient transactional conflict-driven wakeup even in
                 transactional memory systems with a limited number of
                 transactional contexts. Atomos supports open-nested
                 transactions, which are necessary for building both
                 scalable application programs and virtual machine
                 implementations. The implementation of the Atomos
                 scheduler demonstrates the use of open nesting within
                 the virtual machine and introduces the concept of
                 transactional memory violation handlers that allow
                 programs to recover from data dependency violations
                 without rolling back. Atomos programming examples are
                 given to demonstrate the usefulness of transactional
                 programming primitives. Atomos and Java are compared
                 through the use of several benchmarks. The results
                 demonstrate both the improvements in parallel
                 programming ease and parallel program performance
                 provided by Atomos.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "conditional synchronization; Java; multiprocessor
                 architecture; transactional memory",
}

@Article{Carlstrom:2006:EJP,
  author =       "Brian D. Carlstrom and JaeWoong Chung and Hassan Chafi
                 and Austen McDonald and Chi Cao Minh and Lance Hammond
                 and Christos Kozyrakis and Kunle Olukotun",
  title =        "Executing {Java} programs with transactional memory",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "63",
  number =       "2",
  pages =        "111--129",
  day =          "1",
  month =        dec,
  year =         "2006",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:02 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Cavazos:2006:MSDa,
  author =       "John Cavazos and Michael F. P. O'Boyle",
  title =        "Method-specific dynamic compilation using logistic
                 regression",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "229--240",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167492",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Determining the best set of optimizations to apply to
                 a program has been a long standing problem for compiler
                 writers. To reduce the complexity of this task,
                 existing approaches typically apply the same set of
                 optimizations to all procedures within a program,
                 without regard to their particular structure. This
                 paper develops a new method-specific approach that
                 automatically selects the best optimizations on a per
                 method basis within a dynamic compiler. Our approach
                 uses the machine learning technique of logistic
                 regression to automatically derive a predictive model
                 that determines which optimizations to apply based on
                 the features of a method. This technique is implemented
                 in the Jikes RVM Java JIT compiler. Using this approach
                 we reduce the average total execution time of the
                 SPECjvm98 benchmarks by 29\%. When the same heuristic
                 is applied to the DaCapo+ benchmark suite, we obtain an
                 average 33\% reduction over the default level O2
                 setting.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "compiler optimization; Java; Jikes RVM; logistic
                 regression; machine learning",
}

@Article{Chalin:2006:NNR,
  author =       "Patrice Chalin and Fr{\'e}d{\'e}ric Rioux",
  title =        "Non-null references by default in the {Java} modeling
                 language",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "2",
  pages =        "9:1--9:??",
  month =        mar,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1108768.1123068",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:15 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Based on our experiences and those of our peers, we
                 hypothesized that in Java code, the majority of
                 declarations that are of reference types are meant to
                 be non-null. Unfortunately, the Java Modeling Language
                 (JML), like most interface specification and
                 object-oriented programming languages, assumes that
                 such declarations are possibly-null by default. As a
                 consequence, developers need to write specifications
                 that are more verbose than necessary in order to
                 accurately document their module interfaces. In
                 practice, this results in module interfaces being left
                 incompletely and inaccurately specified. In this paper
                 we present the results of a study that confirms our
                 hypothesis. Hence, we propose an adaptation to JML that
                 preserves its language design goals and that allows
                 developers to specify that declarations of reference
                 types are to be interpreted as non-null by default. We
                 explain how this default is safer and results in less
                 writing on the part of specifiers than null-by-default.
                 The paper also reports on an implementation of the
                 proposal in some of the JML tools.",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Chang:2006:SCA,
  author =       "Byeong-Mo Chang",
  title =        "Static check analysis for {Java} stack inspection",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "3",
  pages =        "40--48",
  month =        mar,
  year =         "2006",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Aug 23 06:00:51 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Chen:2006:REP,
  author =       "Tzu-Yi Chen and Alvaro Monge and Beth Simon",
  title =        "Relationship of early programming language to novice
                 generated design",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "495--499",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121496",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "What measurable effect do the language and paradigm
                 used in early programming classes have on novice
                 programmers' ability to do design? This work
                 investigates the question by using data collected from
                 136 ``first competency'' students as part of a
                 multi-national, multi-institutional study of students'
                 approach to and attitudes toward design. Analysis of a
                 number of surface characteristics of their designs
                 found strikingly few differences between designs
                 produced by students at schools that teach using
                 objects-early, imperative-early, and functional-early
                 paradigms. A similar lack of difference was found
                 between students at C++-first and Java-first schools.
                 While statistically significant differences are found
                 for three characteristic comparisons across language
                 and paradigm, these results seem to have little meaning
                 for teaching given the complexity of the null
                 hypotheses tested in those three cases. In particular,
                 for the following design characteristics no
                 statistically significant differences across language
                 or paradigm of early instruction were found: attempt to
                 address requirements, type of design produced, number
                 of parts in design, recognition of ambiguity in design,
                 and connectedness of design.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Chilimbi:2006:CCC,
  author =       "Trishul M. Chilimbi and Ran Shaham",
  title =        "Cache-conscious coallocation of hot data streams",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "252--262",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133255.1134011",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The memory system performance of many programs can be
                 improved by coallocating contemporaneously accessed
                 heap objects in the same cache block. We present a
                 novel profile-based analysis for producing such a
                 layout. The analysis achieves cache-conscious
                 coallocation of a hot data stream H (i.e., a regular
                 data access pattern that frequently repeats) by
                 isolating and combining allocation sites of object
                 instances that appear in H such that intervening
                 allocations coming from other sites are separated. The
                 coallocation solution produced by the analysis is
                 enforced by an automatic tool, cminstr, that redirects
                 a program's heap allocations to a run-time coallocation
                 library comalloc. We also extend the analysis to
                 coallocation at object field granularity. The resulting
                 field coallocation solution generalizes common data
                 restructuring techniques, such as field reordering,
                 object splitting, and object merging, and allows their
                 combination. Furthermore, it provides insight into
                 object restructuring by breaking down the coallocation
                 benefit on a per-technique basis, which provides the
                 opportunity to pick the 'sweet spot' for each program.
                 Experimental results using a set of
                 memory-performance-limited benchmarks, including a few
                 SPECInt2000 programs, and Microsoft VisualFoxPro,
                 indicate that programs possess significant coallocation
                 opportunities. Automatic object coallocation improves
                 execution time by 13\% on average in the presence of
                 hardware prefetching. Hand-implemented field
                 coallocation solutions for two of the benchmarks
                 produced additional improvements (12\% and 22\%) but
                 the effort involved suggests implementing an automated
                 version for type-safe languages, such as Java and
                 C\#.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "cache optimization; data locality; data profiling;
                 dynamic allocation; hot data streams; memory layout",
}

@Article{Chin:2006:FBAa,
  author =       "Wei-Ngan Chin and Florin Craciun and Siau-Cheng Khoo
                 and Corneliu Popeea",
  title =        "A flow-based approach for variant parametric types",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "273--290",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167498",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "A promising approach for type-safe generic codes in
                 the object-oriented paradigm is variant parametric
                 type, which allows covariant and contravariant
                 subtyping on fields where appropriate. Previous
                 approaches formalise variant type as a special case of
                 the existential type system. In this paper, we present
                 a new framework based on flow analysis and modular type
                 checking to provide a simple but accurate model for
                 capturing generic types. Our scheme stands to benefit
                 from past (and future) advances in flow analysis and
                 subtyping constraints. Furthermore, it fully supports
                 casting for variant types with a special reflection
                 mechanism, called cast capture, to handle objects with
                 unknown types. We have built a constraint-based type
                 checker and have proven its soundness. We have also
                 successfully annotated a suite of Java libraries and
                 client code with our flow-based variant type system.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "constraints; flow analysis; genericity; subtyping;
                 variant parametric types",
}

@Article{Clifton:2006:MDR,
  author =       "Curtis Clifton and Todd Millstein and Gary T. Leavens
                 and Craig Chambers",
  title =        "{MultiJava}: {Design} rationale, compiler
                 implementation, and applications",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "3",
  pages =        "517--575",
  month =        may,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1133651.1133655",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue May 30 16:33:23 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "MultiJava is a conservative extension of the Java
                 programming language that adds symmetric multiple
                 dispatch and open classes. Among other benefits,
                 multiple dispatch provides a solution to the binary
                 method problem. Open classes provide a solution to the
                 extensibility problem of object-oriented programming
                 languages, allowing the modular addition of both new
                 types and new operations to an existing type hierarchy.
                 This article illustrates and motivates the design of
                 MultiJava and describes its modular static typechecking
                 and modular compilation strategies. Although MultiJava
                 extends Java, the key ideas of the language design are
                 applicable to other object-oriented languages, such as
                 C\# and C++, and even, with some modifications, to
                 functional languages such as ML. This article also
                 discusses the variety of application domains in which
                 MultiJava has been successfully used by others,
                 including pervasive computing, graphical user
                 interfaces, and compilers. MultiJava allows users to
                 express desired programming idioms in a way that is
                 declarative and supports static typechecking, in
                 contrast to the tedious and type-unsafe workarounds
                 required in Java. MultiJava also provides opportunities
                 for new kinds of extensibility that are not easily
                 available in Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Cohen:2006:JJTa,
  author =       "Tal Cohen and Joseph (Yossi) Gil and Itay Maman",
  title =        "{JTL}: the {Java} tools language",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "89--108",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167515.1167481",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present an overview of JTL (the Java Tools
                 Language, pronounced 'Gee-tel'), a novel language for
                 querying JAVA [8] programs. JTL was designed to serve
                 the development of source code software tools for JAVA,
                 and as a small language which to aid programming
                 language extensions to JAVA. Applications include
                 definition of pointcuts for aspect-oriented
                 programming, fixing type constraints for generic
                 programming, specification of encapsulation policies,
                 definition of micro-patterns, etc. We argue that the
                 JTL expression of each of these is systematic, concise,
                 intuitive and general. JTL relies on a simply-typed
                 relational database for program representation, rather
                 than an abstract syntax tree. The underlying semantics
                 of the language is restricted to queries formulated in
                 First Order Predicate Logic augmented with transitive
                 closure (FOPL). Special effort was taken to ensure
                 terse, yet readable expression of logical conditions.
                 The JTL pattern public abstract class, for example,
                 matches all abstract classes which are publicly
                 accessible, while class (public clone();) matches all
                 classes in which method clone is public. To this end,
                 JTL relies on a DATALOG-like syntax and semantics,
                 enriched with quantifiers and pattern matching which
                 all but entirely eliminate the need for recursive
                 calls. JTL's query analyzer gives special attention to
                 the fragility of the 'closed world assumption' in
                 examining JAVA software, and determines whether a query
                 relies on such an assumption. The performance of the
                 JTL interpreter is comparable to that of JQuery after
                 it generated its database cache, and at least an order
                 of magnitude faster when the cache has to be rebuilt.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "declarative programming; reverse engineering",
}

@Book{Craig:2006:VM,
  author =       "Iain D. Craig",
  title =        "Virtual machines",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xv + 269",
  year =         "2006",
  ISBN =         "1-85233-969-1",
  ISBN-13 =      "978-1-85233-969-2",
  LCCN =         "QA76.9.V5 C73 2006",
  bibdate =      "Thu Mar 23 07:06:45 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  keywords =     "BCPL; JVM",
  subject =      "Virtual computer systems",
}

@Article{Crescenzi:2006:ACJ,
  author =       "Pilu Crescenzi and Michele Loreti and Rosario
                 Pugliese",
  title =        "Assessing {CS1} {Java} skills: a three-year
                 experience",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "348--348",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140257",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We describe the approach that has been followed by the
                 authors while teaching the CS1 laboratory course on
                 Java programming at the University of Florence. In
                 particular, we focus on the assessment method that has
                 been utilized: by making use of specific software
                 developed by the teachers themselves, the method
                 allowed them to automatically obtain a preliminary
                 evaluation of the students' performance, which could
                 subsequently be analyzed and modified after a manual
                 exploration of the students' work.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Cross:2006:JLI,
  author =       "James H. {Cross II} and T. Dean Hendrix",
  title =        "{jGRASP}: a lightweight {IDE} with dynamic object
                 viewers for {CS1} and {CS2}",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "356--356",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140266",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The jGRASP IDE provides new object viewers that
                 automatically generate dynamic, state-based
                 visualizations of objects and primitive variables in
                 Java. Multiple synchronized visualizations of an
                 object, including complex data structures, are
                 immediately available to users from the jGRASP debugger
                 window or object workbench. Initial classroom use has
                 demonstrated the object viewers' potential as an aid to
                 student learning, while future research will explore
                 their utility through controlled experiments.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Cunningham:2006:UCP,
  author =       "H. Conrad Cunningham and Yi Liu and Cuihua Zhang",
  title =        "Using classic problems to teach {Java} framework
                 design",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "59",
  number =       "1--2",
  pages =        "147--169",
  month =        jan,
  year =         "2006",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:53 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{daSilva:2006:OEO,
  author =       "A. F. da Silva and V. S. Costa",
  title =        "Our Experiences with Optimizations in {Sun}'s {Java}
                 Just-In-Time Compilers",
  journal =      j-J-UCS,
  volume =       "12",
  number =       "7",
  pages =        "788--810",
  month =        "????",
  year =         "2006",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Thu Jul 10 06:41:40 MDT 2008",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_12_7/our_experiences_with_optimizations",
  abstract =     "Modern Java Compilers, such as Sun's HotSpot
                 compilers, implement a number of optimizations, ranging
                 from high-level program transformations to low-level
                 architecture dependent operations such as instruction
                 scheduling. In a Just-in-Time (JIT) environment, the
                 impact of each optimization must be weighed against its
                 cost in terms of total runtime. Towards better
                 understanding the usefulness of individual
                 optimizations, we study the main optimizations
                 available on Sun HotSpot compilers for a wide range of
                 scientific and non-scientific benchmarks, weighing
                 their cost and benefits in total runtime. We chose the
                 HotSpot technology because it is state of the art and
                 its source code is available.",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
  keywords =     "compiler optimizations; Dynamic compilation;
                 Just-in-Time compiler",
}

@Article{Debbabi:2006:SDC,
  author =       "Mourad Debbabi and Abdelouahed Gherbi and Azzam Mourad
                 and Hamdi Yahyaoui",
  title =        "A selective dynamic compiler for embedded {Java}
                 virtual machines targeting {ARM} processors",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "59",
  number =       "1--2",
  pages =        "38--63",
  month =        jan,
  year =         "2006",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:53 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Dekker:2006:LFP,
  author =       "Anthony H. Dekker",
  title =        "Lazy functional programming in {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "3",
  pages =        "30--39",
  month =        mar,
  year =         "2006",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Aug 23 06:00:51 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Doernhoefer:2006:J,
  author =       "Mark Doernhoefer",
  title =        "{JavaScript}",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "4",
  pages =        "16--24",
  month =        jul,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1142958.1142972",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:19 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "A whole article on JavaScript? You bet. JavaScript has
                 always been the glue that holds your HTML pages
                 together and now, in conjunction with XML, JavaScript
                 is enjoying a new wave of popularity. So I thought I'd
                 dedicate this month's column to a short exploration of
                 JavaScript and highlight some sites that will not only
                 help you write JavaScript, but also explore some of the
                 things you can do with JavaScript.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Drossopoulou:2006:FMD,
  author =       "Sophia Drossopoulou and Giovanni Lagorio and Susan
                 Eisenbach",
  title =        "A flexible model for dynamic linking in {Java} and
                 {C\#}",
  journal =      j-THEOR-COMP-SCI,
  volume =       "368",
  number =       "1--2",
  pages =        "1--29",
  day =          "5",
  month =        dec,
  year =         "2006",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Tue Mar 29 08:55:29 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  abstract =     "Dynamic linking supports flexible code deployment,
                 allowing partially linked code to link further code on
                 the fly, as needed. Thus, end-users enjoy the advantage
                 of automatically receiving any updates, without any
                 need for any explicit actions on their side, such as
                 re-compilation, or re-linking. On the down side, two
                 executions of a program may link in different versions
                 of code, which in some cases causes subtle errors, and
                 may mystify end-users.\par

                 Dynamic linking in Java and C\# are similar: the same
                 linking phases are involved, soundness is based on
                 similar ideas, and executions which do not throw
                 linking errors give the same result. They are, however,
                 not identical: the linking phases are combined
                 differently, and take place in different order.
                 Consequently, linking errors may be detected at
                 different times by Java and C\# runtime systems.\par

                 We develop a non-deterministic model, which describes
                 the behaviour of both Java and C\# program executions.
                 The non-determinism allows us to describe the design
                 space, to distill the similarities between the two
                 languages, and to use one proof of soundness for both.
                 We also prove that all execution strategies are
                 equivalent with respect to terminating executions that
                 do not throw link errors: they give the same results.",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Article{Duddy:2006:BRK,
  author =       "Keith Duddy",
  title =        "Book Review: {Kevin Lano, Advanced Systems Design with
                 Java, UML and MDA. Elsevier (2005). ISBN 0-7506-6496-7.
                 \pounds 27.99\slash US\$44.95. 378 pp. Softbound}",
  journal =      j-COMP-J,
  volume =       "49",
  number =       "4",
  pages =        "500--501",
  month =        jul,
  year =         "2006",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/bxl010",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Fri Jun 23 11:56:45 MDT 2006",
  bibsource =    "http://comjnl.oxfordjournals.org/content/vol49/issue4/index.dtl;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://comjnl.oxfordjournals.org/cgi/content/full/49/4/500;
                 http://comjnl.oxfordjournals.org/cgi/reprint/49/4/500",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Article{Dyer:2006:NPD,
  author =       "Robert Dyer and Harish Narayanappa and Hridesh Rajan",
  title =        "{Nu}: preserving design modularity in object code",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "6",
  pages =        "1--2",
  month =        nov,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1218776.1218802",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:21 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "For a number of reasons, such as to generate object
                 code that is compliant with the existing virtual
                 machines (VM), current compilers for aspect-oriented
                 languages sacrifice design modularity when transforming
                 source to object code by losing textual locality and
                 intermingling concerns in the object code. Sacrificing
                 design modularity has significant costs, especially in
                 terms of the speed of incremental compilation. We
                 present an intermediate language design that preserves
                 aspect-oriented design modularity in Java byte code. We
                 briefly describe our extensions to the Sun Hotspot VM
                 to support the new intermediate language design.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Edwards:2006:JAE,
  author =       "James Edwards and Cameron Adams",
  title =        "The {JavaScript} anthology: 101 essential tips, tricks
                 and hacks",
  publisher =    pub-SITEPOINT,
  address =      pub-SITEPOINT:adr,
  pages =        "xvi + 588",
  year =         "2006",
  ISBN =         "0-9752402-6-9",
  ISBN-13 =      "978-0-9752402-6-7",
  LCCN =         "QA76.73.J39 E392 2006",
  bibdate =      "Tue Aug 5 18:14:24 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780975240267",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language); Internet
                 programming",
}

@Book{Elliott:2006:GSH,
  author =       "James Elliott",
  title =        "Getting started with {Hibernate 3}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2006",
  ISBN =         "0-596-52818-3",
  ISBN-13 =      "978-0-596-52818-8",
  LCCN =         "QA76.73.J38 E45 2006eb; QA76.73.J38",
  bibdate =      "Tue Aug 5 18:09:08 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596528188",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Open source
                 software",
}

@Article{English:2006:CAA,
  author =       "John English",
  title =        "The checkpoint automated assessment system",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "337--337",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140245",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This presentation describes Checkpoint, an integrated
                 automated assessment system. The system manages both
                 homework assignments and formal examinations based on a
                 range of different question types, including questions
                 requiring free-text answers. It supports an interactive
                 authoring facility and provides a wide range of
                 management and auditing facilities. It is currently
                 being piloted with a cohort of 159 students on two
                 first-year Java programming modules at the author's
                 institution.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Espak:2006:JRB,
  author =       "M. Esp{\'a}k",
  title =        "{Japlo}: Rule-based Programming on {Java}",
  journal =      j-J-UCS,
  volume =       "12",
  number =       "9",
  pages =        "1177--1189",
  month =        "????",
  year =         "2006",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Thu Jul 10 06:41:41 MDT 2008",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_12_9/japlo_rule_based_programming",
  abstract =     "Imperative programming languages (such as Java) are
                 the most widespread programming languages recently.
                 Besides being quite easy to get familiar with them,
                 they are also perfectly suitable for business software
                 development. Although the productivity of imperative
                 languages is much acclaimed, some problems are much
                 easier to solve in a logical language. The paper
                 introduces a Java language extension called Japlo,
                 which fits the Prolog language constructs into Java
                 harmonically. Blurring the borders between the
                 representatives of these two paradigms, the author aims
                 at making the logical programming tools more easily
                 available for Java programmers. Japlo does not only
                 provide a foreign language interface to Prolog
                 programs, but you can write Prolog rules within the
                 language relying on some basic concepts (static typing,
                 expression orientation) and the grammatic structure of
                 Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
  keywords =     "Japlo; Java; Prolog",
}

@Article{Eugster:2006:UPJa,
  author =       "Patrick Eugster",
  title =        "Uniform proxies for {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "139--152",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167485",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The proxy abstraction has a longlasting tradition in
                 object settings. From design pattern to inherent
                 language support, from remote method invocations to
                 simple forms of behavioral reflection - incarnations as
                 well as applications of proxies are innumerable. Since
                 version 1.3, Java supports the concept of dynamic
                 proxy. Such an object conforms to a set of types
                 specified by the program and can be used wherever an
                 expression of any of these types is expected, yet
                 reifies invocations performed on it. Dynamic proxies
                 have been applied to implement paradigms as diverse as
                 behavioral reflection, structural conformance, or
                 multi-methods. Alas, these proxies are only available
                 'for interfaces'. The case of creating dynamic proxies
                 for a set of types including a class type has not been
                 considered, meaning that it is currently not possible
                 to create a dynamic proxy mimicking an instance of a
                 given class. This weakness strongly limits any
                 application of dynamic proxies. In this paper we unfold
                 the current support for dynamic proxies in Java,
                 assessing it in the light of a set of generic criteria
                 for proxy implementations. We present an approach to
                 supporting dynamic proxies 'for classes' in Java,
                 consisting in transformations performed on classes at
                 load-time, including a generic scheme for enforcing
                 encapsulation upon field accesses. These
                 transformations seemlessly extend the scope of the
                 current support for dynamic proxies. We discuss the
                 precise benefits and costs of our extension in terms of
                 the criteria introduced, and illustrate the usefulness
                 of uniformly available proxies by implementing future
                 method invocations both safely and transparently.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "future; Java; proxy; transformation",
}

@Article{Evripidou:2006:MMA,
  author =       "Paraskevas Evripidou and George Samaras",
  title =        "Metacomputing with Mobile Agents",
  journal =      j-INT-J-PARALLEL-PROG,
  volume =       "34",
  number =       "5",
  pages =        "429--458",
  month =        oct,
  year =         "2006",
  CODEN =        "IJPPE5",
  DOI =          "https://doi.org/10.1007/s10766-006-0021-2",
  ISSN =         "0885-7458 (print), 1573-7640 (electronic)",
  ISSN-L =       "0885-7458",
  bibdate =      "Wed Jul 9 16:06:10 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=34&issue=5;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=34&issue=5&spage=429",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Parallel Programming",
  journal-URL =  "http://link.springer.com/journal/10766",
  keywords =     "Java; Metacomputing; Mobile Agents; Mobile Computing;
                 Pervasive Computing",
}

@Article{Factor:2006:PID,
  author =       "Michael Factor and Assaf Schuster and Konstantin
                 Shagin",
  title =        "A Platform-Independent Distributed Runtime for
                 Standard Multithreaded {Java}",
  journal =      j-INT-J-PARALLEL-PROG,
  volume =       "34",
  number =       "2",
  pages =        "113--142",
  month =        apr,
  year =         "2006",
  CODEN =        "IJPPE5",
  DOI =          "https://doi.org/10.1007/s10766-006-0007-0",
  ISSN =         "0885-7458 (print), 1573-7640 (electronic)",
  ISSN-L =       "0885-7458",
  bibdate =      "Wed Jul 9 16:05:55 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=34&issue=2;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=34&issue=2&spage=113",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Parallel Programming",
  journal-URL =  "http://link.springer.com/journal/10766",
  keywords =     "bytecode instrumentation; distributed computing;
                 distributed shared memory; Java",
}

@Book{Farley:2006:JEN,
  author =       "Jim Farley and William Crawford",
  title =        "{Java Enterprise} in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xviii + 871",
  year =         "2006",
  ISBN =         "0-596-10142-2 (paperback)",
  ISBN-13 =      "978-0-596-10142-8 (paperback)",
  LCCN =         "QA76.73.J38 F375 2006",
  bibdate =      "Wed Nov 15 10:37:03 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "In a nutshell",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Web servers;
                 Object-oriented programming (Computer science)",
  tableofcontents = "Introduction \\
                 Application assembly and deployment \\
                 Java servlets \\
                 JavaServer pages \\
                 JavaServer faces \\
                 Enterprise JavaBeans \\
                 Java and XML \\
                 JDBC \\
                 JNDI \\
                 J2EE security \\
                 Java message service \\
                 Web services with JAX-RPC and SAAJ \\
                 Remote method invocation \\
                 Java IDL (CORBA) \\
                 JavaMail \\
                 Transactions \\
                 Ant \\
                 JUnit and Cactus \\
                 Struts \\
                 Hibernate \\
                 Annotations with XDoclet and J2SE metadata \\
                 J2EE deployment descriptor reference \\
                 JavaServer faces tag libraries \\
                 Enterprise JavaBeans query language syntax \\
                 SQL reference \\
                 JMS message selector syntax \\
                 RMI tools \\
                 IDL reference \\
                 Java IDL tools",
}

@Article{Felea:2006:DLB,
  author =       "Violeta Felea and Bernard Toursel",
  title =        "Dynamic load-balancing mechanism for distributed
                 {Java} applications",
  journal =      j-CCPE,
  volume =       "18",
  number =       "3",
  pages =        "305--331",
  month =        mar,
  year =         "2006",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.921",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:01 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "13 Sep 2005",
}

@Book{Fisher:2006:JEN,
  editor =       "Marina Fisher and Ray Lai and Laurence Moroney and
                 Sonu Sharma",
  title =        "{Java EE} and {.NET} interoperability: integration
                 strategies, patterns, and best practices",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xxxvii + 608",
  year =         "2006",
  ISBN =         "0-13-147223-2 (paperback)",
  ISBN-13 =      "978-0-13-147223-5 (paperback)",
  LCCN =         "QA76.76.M52 J23 2006",
  bibdate =      "Mon Jun 12 08:10:47 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip066/2006000235.html;
                 http://www.phptr.com/bookstore/product.asp?isbn=0131472232",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET; Java (Computer program language)",
}

@Book{Flanagan:2006:JDG,
  author =       "David Flanagan",
  title =        "{JavaScript}: the definitive guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fifth",
  pages =        "xxii + 994",
  year =         "2006",
  ISBN =         "0-596-10199-6",
  ISBN-13 =      "978-0-596-10199-2",
  LCCN =         "QA76.73.J39 F53 2006eb; QA76.73.J39 F53 2006;
                 QA76.73.J39",
  bibdate =      "Tue Aug 5 17:52:07 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596101992",
  acknowledgement = ack-nhfb,
  remark =       "Previous edition 2002. Covers Ajax and DOM
                 scripting.",
  subject =      "JavaScript (Computer program language); Web servers;
                 Object-oriented programming (Computer science)",
  tableofcontents = "Introduction to JavaScript \\
                 Lexical structure \\
                 Datatypes and values \\
                 Variables \\
                 Expressions and operators \\
                 Statements \\
                 Objects and arrays \\
                 Functions \\
                 Classes, constructors, and prototypes \\
                 Modules and namespaces \\
                 Pattern matching with regular expressions \\
                 Scripting Java \\
                 JavaScript in Web browsers \\
                 Scripting browser Windows \\
                 Scripting documents \\
                 Cascading style sheets and Dynamic HTML \\
                 Events and event handling \\
                 Forms and form elements \\
                 Cookies and client-side persistence \\
                 Scripting HTTP \\
                 JavaScript and XML \\
                 Scripted client-side graphics \\
                 Scripting Java Applets and Flash movies \\
                 Core JavaScript reference \\
                 Client-side JavaScript reference",
}

@Article{Fuller:2006:CPB,
  author =       "Ursula Fuller and Arnold Pears and June Amillo and
                 Chris Avram and Linda Mannila",
  title =        "A computing perspective on the {Bologna Process}",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "4",
  pages =        "115--131",
  month =        dec,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1189136.1189181",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:31 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse38.html#FullerPAAM06;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2006.bib",
  abstract =     "The Bologna process is intended to culminate in the
                 formation of the European Higher Education Area (EHEA)
                 by 2010. Its aim is to facilitate the mobility of
                 people, the transparency and recognition of
                 qualifications, quality and development of a European
                 dimension to higher education, and the attractiveness
                 of European institutions for third country students.
                 This paper provides an overview of progress towards
                 implementation in EHEA member states using official
                 documents and interview data from faculty teaching
                 computing in countries represented at the ITiCSE 2006
                 meeting. The key areas where the structures established
                 by the Bologna process are problematic for computing
                 education arise from the rapidly changing nature of the
                 curriculum. It seems that the maturity and capability
                 criteria, as well as the manner in which learning
                 outcomes are specified, being developed within the
                 Bologna process are too general. This endangers the
                 properties of transparency and mobility that the
                 process intends to promote. Progression and
                 prerequisite knowledge in computing degrees can be very
                 specific. For instance, generic learning outcomes for
                 an introductory programming course quite rightly will
                 not specify the programming language, or languages,
                 used to implement algorithms. However, suppose a
                 student intends to study an advanced algorithms and
                 data structures course in which Java is the language of
                 implementation which has an introductory course in
                 programming as a prerequisite. If the introductory
                 course language was Standard ML it is not clear that
                 the prerequisite course actually provides the student
                 with a suitable background. These types of complexities
                 are typical of computing, where early subject curricula
                 are not standardised nationally or internationally, and
                 create significant hurdles for realising the Bologna
                 objectives.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Gehtland:2006:PAW,
  author =       "Justin Gehtland and Dion Almaer and Ben Galbraith",
  title =        "Pragmatic {Ajax}: a {Web 2.0} primer",
  publisher =    "Pragmatic Bookshelf",
  address =      "Raleigh, NC, USA",
  pages =        "200 (est.)",
  year =         "2006",
  ISBN =         "0-9766940-8-5",
  ISBN-13 =      "978-0-9766940-8-3",
  LCCN =         "????",
  bibdate =      "Mon Mar 27 08:52:09 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Glass:2006:RCP,
  author =       "Robert L. Glass",
  title =        "Review of {{\booktitle{COBOL Programmers Swing With
                 Java}} by E. Reed Doke, Bill C. Hardgrave and Richard
                 A. Johnson, Cambridge University Press, 2005}",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "3",
  pages =        "44--45",
  month =        may,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1127878.1127907",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:17 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Goetz:2006:JCP,
  author =       "Brian Goetz and Tim Peierls and Joshua Bloch and
                 Joseph Bowbeer and Doug Lea and David Holmes",
  title =        "{Java} Concurrency in Practice",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xx + 403",
  year =         "2006",
  ISBN =         "0-321-34960-1 (paperback)",
  ISBN-13 =      "978-0-321-34960-6 (paperback)",
  LCCN =         "QA76.73.J38 G588 2006",
  bibdate =      "Tue Jan 27 16:11:07 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0612/2006012205.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Parallel programming
                 (Computer science); Threads (Computer programs)",
}

@Article{Goh:2006:DBM,
  author =       "Leng Goh and Yanfeng Shu and Zhiyong Huang and Chin
                 Ooi",
  title =        "Dynamic buffer management with extensible replacement
                 policies",
  journal =      j-VLDB-J,
  volume =       "15",
  number =       "2",
  pages =        "99--120",
  month =        jun,
  year =         "2006",
  CODEN =        "VLDBFR",
  ISSN =         "1066-8888 (print), 0949-877X (electronic)",
  ISSN-L =       "1066-8888",
  bibdate =      "Mon Jun 23 10:51:18 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The objective of extensible DBMSs is to ease the
                 construction of specialized DBMSs for nontraditional
                 applications. Although much work has been done in
                 providing various levels of extensibility (e.g.,
                 extensibility of data types and operators, query
                 language extensibility, and query optimizer
                 extensibility), there has been very limited research in
                 providing extensibility at the buffer management level.
                 Supporting extensibility at the buffer management level
                 is important as it can contribute significantly to
                 overall system performance. This paper addresses the
                 problem of supporting extensibility of buffer
                 replacement policies. The main contribution is the
                 proposal of a framework for modeling buffer replacement
                 policies. This work is novel in two aspects. First, by
                 providing a uniform and generic specification of buffer
                 replacement policies, the proposed framework unifies
                 existing work in this area. Second, our work introduces
                 a new level of extensibility. None of the existing
                 extensible DBMSs, to our knowledge, provides
                 extensibility at the buffer management level. The
                 proposed framework provides a basis for the
                 construction of an extensible buffer manager as part of
                 a 100\% Java-based storage manager. We conducted an
                 extensive performance study to investigate the
                 performance of the proposed framework. The experimental
                 results demonstrate that the proposed framework is
                 indeed feasible for existing DBMSs and improves system
                 performance significantly without costing significant
                 overhead.",
  acknowledgement = ack-nhfb,
  fjournal =     "VLDB Journal: Very Large Data Bases",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J869",
  keywords =     "buffer management; extensible DBMS; replacement
                 strategies",
}

@Book{Goodrich:2006:DSA,
  author =       "Michael T. Goodrich and Roberto Tamassia",
  title =        "Data Structures and Algorithms in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Fourth",
  pages =        "xxii + 696",
  year =         "2006",
  ISBN =         "0-471-73884-0",
  ISBN-13 =      "978-0-471-73884-8",
  LCCN =         "QA76.73.J38 G66 2006",
  bibdate =      "Thu Mar 22 12:04:32 MDT 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigact.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0627/2005282681-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0627/2005282681-d.html;
                 http://www.loc.gov/catdir/enhancements/fy0627/2005282681-t.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Data structures
                 (Computer science); Computer algorithms",
}

@Article{Goth:2006:NSN,
  author =       "Greg Goth",
  title =        "News: Not in the Script --- News of {Java}'s Demise Is
                 Premature",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "7",
  number =       "2",
  pages =        "??--??",
  month =        feb,
  year =         "2006",
  CODEN =        "????",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Mon Aug 30 23:14:33 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/ds/2006/02/o2004.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Gousie:2006:RWP,
  author =       "Michael B. Gousie",
  title =        "A robust {Web} programming and graphics course for
                 non-majors",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "72--76",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121367",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Web Programming, Graphics, and Design is a course with
                 no prerequisites that teaches non-computer science
                 majors how to create their own sophisticated web pages.
                 The course begins with the use of popular software such
                 as Dreamweaver and Fireworks and then progresses to
                 writing interactive web pages in Java. Students learn
                 how to program with Java's Abstract Window Toolkit
                 (AWT) as well as the graphics library, leading to the
                 creation of $3$D images. Solving problems involving
                 mathematics is a theme throughout much of the course.
                 Finally, following Wheaton College's curricular
                 emphasis on inter-departmental offerings, the course is
                 linked with Graphic Design I in the Art Department,
                 enabling students to learn the design portion in even
                 greater depth.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Grimm:2006:BET,
  author =       "Robert Grimm",
  title =        "Better extensibility through modular syntax",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "38--51",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133981.1133987",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We explore how to make the benefits of modularity
                 available for syntactic specifications and present
                 Rats!, a parser generator for Java that supports easily
                 extensible syntax. Our parser generator builds on
                 recent research on parsing expression grammars (PEGs),
                 which, by being closed under composition, prioritizing
                 choices, supporting unlimited lookahead, and
                 integrating lexing and parsing, offer an attractive
                 alternative to context-free grammars. PEGs are
                 implemented by so-called packrat parsers, which are
                 recursive descent parsers that memoize all intermediate
                 results (hence their name). Memoization ensures
                 linear-time performance in the presence of unlimited
                 lookahead, but also results in an essentially lazy,
                 functional parsing technique. In this paper, we explore
                 how to leverage PEGs and packrat parsers as the
                 foundation for extensible syntax. In particular, we
                 show how make packrat parsing more widely applicable by
                 implementing this lazy, functional technique in a
                 strict, imperative language, while also generating
                 better performing parsers through aggressive
                 optimizations. Next, we develop a module system for
                 organizing, modifying, and composing large-scale
                 syntactic specifications. Finally, we describe a new
                 technique for managing (global) parsing state in
                 functional parsers. Our experimental evaluation
                 demonstrates that the resulting parser generator
                 succeeds at providing extensible syntax. In particular,
                 Rats! enables other grammar writers to realize
                 real-world language extensions in little time and code,
                 and it generates parsers that consistently out-perform
                 parsers created by two GLR parser generators.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "extensible syntax; module system; packrat parsing;
                 parser generator; parsing expression grammar",
}

@Book{Harold:2006:J,
  author =       "Elliotte Rusty Harold",
  title =        "{Java I/O}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "726 (est.)",
  year =         "2006",
  ISBN =         "0-596-52750-0",
  ISBN-13 =      "978-0-596-52750-1",
  LCCN =         "????",
  bibdate =      "Mon Jun 12 08:18:16 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$49.99",
  series =       "The Java series",
  URL =          "http://www.oreilly.com/catalog/javaio2/",
  acknowledgement = ack-nhfb,
  keywords =     "Java input/output",
  subject =      "Java (Computer program language)",
}

@Book{Harrison:2006:MSP,
  author =       "Guy Harrison and Steven Feuerstein",
  title =        "{MySQL} stored procedure programming: building
                 high-performance web applications with {PHP}, {Perl},
                 {Python}, {Java} \& {.NET}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxiii + 609",
  year =         "2006",
  ISBN =         "0-596-10089-2",
  ISBN-13 =      "978-0-596-10089-6",
  LCCN =         "QA76.73.S67 H377 2006eb; QA76.73.S67",
  bibdate =      "Tue Aug 5 17:49:10 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596100896",
  acknowledgement = ack-nhfb,
  subject =      "SQL (Computer program language); Database management",
}

@Article{Haustein:2006:JDJ,
  author =       "Max Haustein and Klaus-Peter L{\"o}hr",
  title =        "{JAC}: declarative {Java} concurrency",
  journal =      j-CCPE,
  volume =       "18",
  number =       "5",
  pages =        "519--546",
  day =          "25",
  month =        apr,
  year =         "2006",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.956",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:02 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "20 Oct 2005",
}

@Article{Herlihy:2006:FFIa,
  author =       "Maurice Herlihy and Victor Luchangco and Mark Moir",
  title =        "A flexible framework for implementing software
                 transactional memory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "253--262",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167515.1167495",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We describe DSTM2, a Java{\TM} software library that
                 provides a flexible framework for implementing
                 object-based software transactional memory (STM). The
                 library uses transactional factories to transform
                 sequential (unsynchronized) classes into atomic
                 (transactionally synchronized) ones, providing a
                 substantial improvement over the awkward programming
                 interface of our previous DSTM library. Furthermore,
                 researchers can experiment with alternative STM
                 mechanisms by providing their own factories. We
                 demonstrate this flexibility by presenting two
                 factories: one that uses essentially the same
                 mechanisms as the original DSTM (with some
                 enhancements),and another that uses a completely
                 different approach. Because DSTM2 is packaged as a Java
                 library, a wide range of programmers can easily try it
                 out, and the community can begin to gain experience
                 with transactional programming. Furthermore,
                 researchers will be able to use the body of
                 transactional programs that arises from this community
                 experience to test and evaluate different STM
                 mechanisms simply by supplying new transactional
                 factories. We believe that this flexible approach will
                 help to build consensus about the best ways to
                 implement transactions, and will avoid the premature
                 'lock-in' that may arise if STM mechanisms are baked
                 into compilers before such experimentation is done.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "atomicity; concurrency; Java library; obstruction-free
                 factory; shadow factory; software transactional memory
                 (STM); transactions",
}

@Article{Hertz:2006:GOL,
  author =       "Matthew Hertz and Stephen M. Blackburn and J. Eliot B.
                 Moss and Kathryn S. McKinley and Darko Stefanovi{\'c}",
  title =        "Generating object lifetime traces with {Merlin}",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "3",
  pages =        "476--516",
  month =        may,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1133651.1133654",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue May 30 16:33:23 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Programmers are writing a rapidly growing number of
                 programs in object-oriented languages, such as Java and
                 C\#, that require garbage collection. Garbage
                 collection traces and simulation speed up research by
                 enabling deeper understandings of object lifetime
                 behavior and quick exploration and design of new
                 garbage collection algorithms. When generating perfect
                 traces, the brute-force method of computing object
                 lifetimes requires a whole-heap garbage collection at
                 every potential collection point in the program.
                 Because this process is prohibitively expensive,
                 researchers often use granulated traces by collecting
                 only periodically, for example, every 32 KB of
                 allocation. We extend the state of the art for
                 simulating garbage collection algorithms in two ways.
                 First, we develop a systematic methodology for
                 simulation studies of copying garbage collection and
                 present results showing the effects of trace
                 granularity on these simulations. We show that trace
                 granularity often distorts simulated garbage collection
                 results compared with perfect traces. Second, we
                 present and measure the performance of a new algorithm
                 called Merlin for computing object lifetimes. Merlin
                 timestamps objects and later uses the timestamps of
                 dead objects to reconstruct when they died. The Merlin
                 algorithm piggybacks on garbage collections performed
                 by the base system. Experimental results show that
                 Merlin can generate traces over two orders of magnitude
                 faster than the brute-force method which collects after
                 every object allocation. We also use Merlin to produce
                 visualizations of heap behavior that expose new object
                 lifetime behaviors.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Higuera-Toledano:2006:HSD,
  author =       "M. Teresa Higuera-Toledano",
  title =        "Hardware support for detecting illegal references in a
                 multiapplication real-time {Java} environment",
  journal =      j-TECS,
  volume =       "5",
  number =       "4",
  pages =        "753--772",
  month =        nov,
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1196636.1196638",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Jun 12 15:20:45 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Our objective is to adapt the Java memory management
                 to an embedded system, e.g., a wireless PDA executing
                 concurrent multimedia applications within a single JVM.
                 This paper provides software, and hardware-based
                 solutions detecting both illegal references across the
                 application memory spaces and dangling pointers within
                 an application space. We give an approach to
                 divide/share the memory among the applications
                 executing concurrently in the system. We introduce and
                 define application-specific memory, building upon the
                 real-time specification for Java (RTSJ) from the
                 real-time Java expert group. The memory model used in
                 RTSJ imposes strict rules for assignment between memory
                 areas, preventing the creation of dangling pointers,
                 and thus maintaining the pointer safety of Java. Our
                 implementation solution to ensure the checking of these
                 rules before each assignment inserts write barriers
                 that use a stack-based algorithm. This solution
                 adversely affects both the performance and
                 predictability of the RTSJ applications, which can be
                 improved by using an existing hardware support.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "garbage collection; memory management; write
                 barriers",
}

@Article{Hobona:2006:WBV,
  author =       "Gobe Hobona and Philip James and David Fairbairn",
  title =        "Web-Based Visualization of {$3$D} Geospatial Data
                 Using {Java3D}",
  journal =      j-IEEE-CGA,
  volume =       "26",
  number =       "4",
  pages =        "28--33",
  month =        jul # "\slash " # aug,
  year =         "2006",
  CODEN =        "ICGADZ",
  DOI =          "https://doi.org/10.1109/MCG.2006.94",
  ISSN =         "0272-1716 (print), 1558-1756 (electronic)",
  ISSN-L =       "0272-1716",
  bibdate =      "Thu Jul 3 10:16:12 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Computer Graphics and Applications",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/cga",
}

@Article{Holmes:2006:RFM,
  author =       "Susan Holmes",
  title =        "Review of {Fionn Murtagh}'s book:
                 {{\booktitle{Correspondence Analysis and Data Coding
                 with Java and R}}}",
  journal =      j-R-NEWS,
  volume =       "6",
  number =       "4",
  pages =        "41--43",
  month =        oct,
  year =         "2006",
  CODEN =        "????",
  ISSN =         "1609-3631",
  ISSN-L =       "1609-3631",
  bibdate =      "Thu Aug 13 09:25:10 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://CRAN.R-project.org/doc/Rnews/",
  acknowledgement = ack-r-project,
  fjournal =     "R News: the Newsletter of the R Project",
  journal-URL =  "http://journal.r-project.org/",
  pdf =          Rnews2006-4,
}

@Article{Igarashi:2006:VPT,
  author =       "Atsushi Igarashi and Mirko Viroli",
  title =        "Variant parametric types: a flexible subtyping scheme
                 for generics",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "5",
  pages =        "795--847",
  month =        sep,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1152649.1152650",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Sep 6 07:13:55 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We develop the mechanism of variant parametric types
                 as a means to enhance synergy between parametric and
                 inclusion polymorphism in object-oriented programming
                 languages. Variant parametric types are used to control
                 both the subtyping between different instantiations of
                 one generic class and the accessibility of their fields
                 and methods. On one hand, one parametric class can be
                 used to derive covariant types, contravariant types,
                 and bivariant types (generally called variant
                 parametric types) by attaching a variance annotation to
                 a type argument. On the other hand, the type system
                 prohibits certain method\slash field accesses,
                 according to variance annotations, when these accesses
                 may otherwise make the program unsafe. By exploiting
                 variant parametric types, a programmer can write
                 generic code abstractions that work on a wide range of
                 parametric types in a safe manner. For instance, a
                 method that only reads the elements of a container of
                 numbers can be easily modified so as to accept
                 containers of integers, floating-point numbers, or any
                 subtype of the number type. Technical subtleties in
                 typing for the proposed mechanism are addressed in
                 terms of an intuitive correspondence between variant
                 parametric and bounded existential types. Then, for a
                 rigorous argument of correctness of the proposed typing
                 rules, we extend Featherweight GJ---an existing formal
                 core calculus for Java with generics---with variant
                 parametric types and prove type soundness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Inoue:2006:PJO,
  author =       "H. Inoue and D. Stefanovic and S. Forrest",
  title =        "On the prediction of {Java} object lifetimes",
  journal =      j-IEEE-TRANS-COMPUT,
  volume =       "55",
  number =       "7",
  pages =        "880--892",
  month =        jul,
  year =         "2006",
  CODEN =        "ITCOB4",
  DOI =          "https://doi.org/10.1109/TC.2006.107",
  ISSN =         "0018-9340 (print), 1557-9956 (electronic)",
  ISSN-L =       "0018-9340",
  bibdate =      "Mon Jul 4 15:35:55 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranscomput2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1637403",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Computers",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12",
}

@Book{Jacobi:2006:PJA,
  author =       "Jonas Jacobi and John R. Fallows",
  title =        "{Pro JSF} and {Ajax}: building rich {Internet}
                 components",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxiii + 435",
  year =         "2006",
  ISBN =         "1-59059-580-7",
  ISBN-13 =      "978-1-59059-580-0",
  LCCN =         "????",
  bibdate =      "Fri Jun 20 11:56:09 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "The Expert's voice in Java",
  acknowledgement = ack-nhfb,
  subject =      "JSF; Ajax; JavaScript; asynchronous JavaScript XML",
}

@Article{Johnson:2006:JT,
  author =       "Stephen Johnson",
  title =        "{Java} in a teacup",
  journal =      j-QUEUE,
  volume =       "4",
  number =       "3",
  pages =        "36--41",
  month =        apr,
  year =         "2006",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Wed May 3 08:36:45 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Jordan:2006:SJT,
  author =       "Mick Jordan and Laurent Dayn{\`e}s and Marcin Jarzab
                 and Ciar{\'a}n Bryce and Grzegorz Czajkowski",
  title =        "Scaling {J2EE} {\TM} application servers with the
                 {Multi-tasking Virtual Machine}",
  journal =      j-SPE,
  volume =       "36",
  number =       "6",
  pages =        "557--580",
  month =        may,
  year =         "2006",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.703",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:12 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "14 Feb 2006",
}

@Book{Kahrel:2006:AIR,
  author =       "Peter Kahrel",
  title =        "Automating {InDesign} with regular expressions",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2006",
  ISBN =         "0-596-52937-6",
  ISBN-13 =      "978-0-596-52937-6",
  LCCN =         "Z253.532.A34; Z253.532.A34 K34 2006eb",
  bibdate =      "Tue Aug 5 18:11:25 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596529376",
  acknowledgement = ack-nhfb,
  subject =      "Adobe InDesign; Desktop publishing; JavaScript
                 (Computer program language)",
}

@Book{Kahrel:2006:SIJ,
  author =       "Peter Kahrel",
  title =        "Scripting {InDesign} with {JavaScript}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2006",
  ISBN =         "0-596-52817-5",
  ISBN-13 =      "978-0-596-52817-1",
  LCCN =         "Z253.532.A34",
  bibdate =      "Tue Aug 5 18:09:04 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596528171",
  acknowledgement = ack-nhfb,
  subject =      "Adobe InDesign; JavaScript (Computer program
                 language); Desktop publishing",
}

@Article{Kaiser:2006:CJC,
  author =       "Claude Kaiser and Jean-Fran{\c{c}}ois Pradat-Peyre and
                 Sami {\'E}vangelista and Pierre Rousseau",
  title =        "Comparing {Java}, {C\#} and {Ada} monitors queuing
                 policies: a case study and its {Ada} refinement",
  journal =      j-SIGADA-LETTERS,
  volume =       "26",
  number =       "2",
  pages =        "23--37",
  month =        aug,
  year =         "2006",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1165678.1165681",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 09:16:14 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Learning concurrency paradigms is necessary but it is
                 not sufficient since the choice of run-time semantics
                 may introduce subtle programming errors. It is the aim
                 of this paper to exemplify the importance of process
                 queuing and awaking policies resulting from possible
                 choices of the monitor concept implementation.The first
                 part of the paper compares the behaviour of concurrent
                 processes sharing a unique waiting queue for condition
                 synchronization when implemented in Java or in Ada. A
                 particular solution of the dining philosophers paradigm
                 will be used to show how the difference in the monitor
                 semantics may lead or not to deadlock. This comparison
                 provides insight for deriving a correct Java
                 implementation. The second part of the paper shows how
                 the implementation can be refined when using Ada entry
                 families and requeue with requeue once restriction. The
                 result is elegant, safe and fair, and deterministic.
                 This paper ends with quantitative comparisons of
                 concurrency complexity and of concurrency
                 effectiveness.We conclude that Java and C\#
                 multithreading need defensive concurrent programming
                 while Ada allows more latitude for developing correct
                 concurrent programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Kapitza:2006:FIA,
  author =       "R{\"u}diger Kapitza and J{\"o}rg Domaschka and Franz
                 J. Hauck and Hans P. Reiser and Holger Schmidt",
  title =        "{FORMI}: Integrating Adaptive Fragmented Objects into
                 {Java RMI}",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "7",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2006",
  CODEN =        "????",
  ISSN =         "1541-4922 (print), 1558-1683 (electronic)",
  ISSN-L =       "1541-4922",
  bibdate =      "Mon Aug 30 23:14:34 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/ds/2006/10/ox001.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Article{Kawahito:2006:ESE,
  author =       "Motohiro Kawahito and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Effective sign extension elimination for {Java}",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "1",
  pages =        "106--133",
  month =        jan,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1111596.1111599",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Jan 24 05:55:31 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Computer designs are shifting from 32-bit
                 architectures to 64-bit architectures, while most of
                 the programs available today are still designed for
                 32-bit architectures. Java, for example, specifies the
                 frequently used ``int'' as a 32-bit signed integer. If
                 such Java programs are executed on a 64-bit
                 architecture, many 32-bit signed integers must be
                 sign-extended to 64-bit signed integers for correct
                 operations. This causes serious performance overhead.
                 In this article, we present a fast and effective
                 algorithm for eliminating sign extensions. We
                 implemented this algorithm in the IBM Java Just-in-Time
                 (JIT) compiler for IA-64. Our experimental results show
                 that our algorithm effectively eliminates the majority
                 of sign extensions. They also show that it improves
                 performance by 6.9\% for jBYTEmark and 3.3\% for
                 SPECjvm98 over the previously known best algorithm,
                 while it increases JIT compilation time by only
                 0.11\%.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Kawahito:2006:NIR,
  author =       "Motohiro Kawahito and Hideaki Komatsu and Takao
                 Moriyama and Hiroshi Inoue and Toshio Nakatani",
  title =        "A new idiom recognition framework for exploiting
                 hardware-assist instructions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "382--393",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1168917.1168905",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Modern processors support hardware-assist instructions
                 (such as TRT and TROT instructions on IBM zSeries) to
                 accelerate certain functions such as delimiter search
                 and character conversion. Such special instructions
                 have often been used in high performance libraries, but
                 they have not been exploited well in optimizing
                 compilers except for some limited cases. We propose a
                 new idiom recognition technique derived from a
                 topological embedding algorithm [4] to detect idiom
                 patterns in the input program more aggressively than in
                 previous approaches. Our approach can detect a pattern
                 even if the code segment does not exactly match the
                 idiom. For example, we can detect a code segment that
                 includes additional code within the idiom pattern. We
                 implemented our new idiom recognition approach based on
                 the Java Just-In-Time (JIT) compiler that is part of
                 the J9 Java Virtual Machine, and we supported several
                 important idioms for special hardware-assist
                 instructions on the IBM zSeries and on some models of
                 the IBM pSeries. To demonstrate the effectiveness of
                 our technique, we performed two experiments. The first
                 one is to see how many more patterns we can detect
                 compared to the previous approach. The second one is to
                 see how much performance improvement we can achieve
                 over the previous approach. For the first experiment,
                 we used the Java Compatibility Kit (JCK) API tests. For
                 the second one we used IBM XML parser, SPECjvm98, and
                 SPCjbb2000. In summary, relative to a baseline
                 implementation using exact pattern matching, our
                 algorithm converted 75\% more loops in JCK tests. We
                 also observed significant performance improvement of
                 the XML parser by 64\%, of SPECjvm98 by 1\%, and of
                 SPECjbb2000 by 2\% on average on a z990. Finally, we
                 observed the JIT compilation time increases by only
                 0.32\% to 0.44\%.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "hardware-assist instructions; idiom recognition; Java;
                 JIT; topological embedding; VMX",
}

@Article{Kermany:2006:CCI,
  author =       "Haim Kermany and Erez Petrank",
  title =        "The {Compressor}: concurrent, incremental, and
                 parallel compaction",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "354--363",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133255.1134023",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The widely used Mark-and-Sweep garbage collector has a
                 drawback in that it does not move objects during
                 collection. As a result, large long-running realistic
                 applications, such as Web application servers,
                 frequently face the fragmentation problem. To eliminate
                 fragmentation, a heap compaction is run periodically.
                 However, compaction typically imposes very long
                 undesirable pauses in the application. While efficient
                 concurrent collectors are ubiquitous in production
                 runtime systems (such as JVMs), an efficient
                 non-intrusive compactor is still missing. In this paper
                 we present the Compressor, a novel compaction algorithm
                 that is concurrent, parallel, and incremental. The
                 Compressor compacts the entire heap to a single
                 condensed area, while preserving the objects' order,
                 but reduces pause times significantly, thereby allowing
                 acceptable runs on large heaps. Furthermore, the
                 Compressor is the first compactor that requires only a
                 single heap pass. As such, it is the most efficient
                 compactors known today, even when run in a parallel
                 Stop-the-World manner (i.e., when the program threads
                 are halted). Thus, to the best of our knowledge, the
                 Compressor is the most efficient compactor known today.
                 The Compressor was implemented on a Jikes Research RVM
                 and we provide measurements demonstrating its
                 qualities.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "compaction; concurrent garbage collection; garbage
                 collection; memory management; runtime systems",
}

@Article{Klein:2006:MCM,
  author =       "Gerwin Klein and Tobias Nipkow",
  title =        "A machine-checked model for a {Java-like} language,
                 virtual machine, and compiler",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "4",
  pages =        "619--695",
  month =        jul,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1146809.1146811",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Aug 23 15:21:57 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We introduce Jinja, a Java-like programming language
                 with a formal semantics designed to exhibit core
                 features of the Java language architecture. Jinja is a
                 compromise between the realism of the language and the
                 tractability and clarity of its formal semantics. The
                 following aspects are formalised: a big and a small
                 step operational semantics for Jinja and a proof of
                 their equivalence, a type system and a definite
                 initialisation analysis, a type safety proof of the
                 small step semantics, a virtual machine (JVM), its
                 operational semantics and its type system, a type
                 safety proof for the JVM; a bytecode verifier, that is,
                 a data flow analyser for the JVM, a correctness proof
                 of the bytecode verifier with respect to the type
                 system, and a compiler and a proof that it preserves
                 semantics and well-typedness. The emphasis of this work
                 is not on particular language features but on providing
                 a unified model of the source language, the virtual
                 machine, and the compiler. The whole development has
                 been carried out in the theorem prover Isabelle/HOL.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Kuc:2006:ROS,
  author =       "Bernard Kuc",
  title =        "Review of {``Open Source Wireless Java Tools Suite by
                 Robert Virkus,'' Apress, 2005, \$39.99, ISBN
                 1-59059-503-3}",
  journal =      j-QUEUE,
  volume =       "4",
  number =       "4",
  pages =        "48--48",
  month =        may,
  year =         "2006",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Wed Aug 23 12:29:00 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "See \cite{Virkus:2005:PJP}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Lau:2006:OPA,
  author =       "Jeremy Lau and Matthew Arnold and Michael Hind and
                 Brad Calder",
  title =        "Online performance auditing: using hot optimizations
                 without getting burned",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "239--251",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133255.1134010",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "As hardware complexity increases and virtualization is
                 added at more layers of the execution stack, predicting
                 the performance impact of optimizations becomes
                 increasingly difficult. Production compilers and
                 virtual machines invest substantial development effort
                 in performance tuning to achieve good performance for a
                 range of benchmarks. Although optimizations typically
                 perform well on average, they often have unpredictable
                 impact on running time, sometimes degrading performance
                 significantly. Today's VMs perform sophisticated
                 feedback-directed optimizations, but these techniques
                 do not address performance degradations, and they
                 actually make the situation worse by making the system
                 more unpredictable. This paper presents an online
                 framework for evaluating the effectiveness of
                 optimizations, enabling an online system to
                 automatically identify and correct performance
                 anomalies that occur at runtime. This work opens the
                 door for a fundamental shift in the way optimizations
                 are developed and tuned for online systems, and may
                 allow the body of work in offline empirical
                 optimization search to be applied automatically at
                 runtime. We present our implementation and evaluation
                 of this system in a product Java VM.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "feedback-directed optimizations; Java; virtual
                 machines",
}

@Article{Leavens:2006:PDJ,
  author =       "Gary T. Leavens and Albert L. Baker and Clyde Ruby",
  title =        "Preliminary design of {JML}: a behavioral interface
                 specification language for {Java}",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "3",
  pages =        "1--38",
  month =        may,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1127878.1127884",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:17 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "JML is a behavioral interface specification language
                 tailored to Java(TM). Besides pre- and postconditions,
                 it also allows assertions to be intermixed with Java
                 code; these aid verification and debugging. JML is
                 designed to be used by working software engineers; to
                 do this it follows Eiffel in using Java expressions in
                 assertions. JML combines this idea from Eiffel with the
                 model-based approach to specifications, typified by VDM
                 and Larch, which results in greater expressiveness.
                 Other expressiveness advantages over Eiffel include
                 quantifiers, specification-only variables, and frame
                 conditions. This paper discusses the goals of JML, the
                 overall approach, and describes the basic features of
                 the language through examples. It is intended for
                 readers who have some familiarity with both Java and
                 behavioral specification using pre- and
                 postconditions.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Levanoni:2006:FRC,
  author =       "Yossi Levanoni and Erez Petrank",
  title =        "An on-the-fly reference-counting garbage collector for
                 {Java}",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "1",
  pages =        "1--69",
  month =        jan,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1111596.1111597",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Jan 24 05:55:31 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Reference-counting is traditionally considered
                 unsuitable for multiprocessor systems. According to
                 conventional wisdom, the update of reference slots and
                 reference-counts requires atomic or synchronized
                 operations. In this work we demonstrate this is not the
                 case by presenting a novel reference-counting algorithm
                 suitable for a multiprocessor system that does not
                 require any synchronized operation in its write barrier
                 (not even a compare-and-swap type of synchronization).
                 A second novelty of this algorithm is that it allows
                 eliminating a large fraction of the reference count
                 updates, thus, drastically reducing the
                 reference-counting traditional overhead. This article
                 includes a full proof of the algorithm showing that it
                 is safe (does not reclaim live objects) and live
                 (eventually reclaims all unreachable objects).\par

                 We have implemented our algorithm on Sun Microsystems'
                 Java Virtual Machine (JVM) 1.2.2 and ran it on a
                 four-way IBM Netfinity 8500R server with 550-MHz Intel
                 Pentium III Xeon and 2 GB of physical memory. Our
                 results show that the algorithm has an extremely low
                 latency and throughput that is comparable to the
                 stop-the-world mark and sweep algorithm used in the
                 original JVM",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Lewis:2006:GGD,
  author =       "Mark C. Lewis and Berna Massingill",
  title =        "Graphical game development in {CS2}: a flexible
                 infrastructure for a semester long project",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "505--509",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121499",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper discusses a project that has been used to
                 teach CS2 for six semesters at Trinity University. The
                 project spans the full semester, and all eight of the
                 assignments students turn in are part of the project.
                 For this project, the students develop a 2-D game using
                 a framework written by one of the authors. The
                 framework is intended to allow students to produce some
                 results early in the semester before they have
                 significant knowledge without constraining them or
                 doing too much for them. It was originally written for
                 Java 1.3 and has evolved for Java 1.4 and now Java 5.
                 We discuss the details of this project, the benefits it
                 provides, and our experience with it.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Li:2006:PBH,
  author =       "W. Li and S. Mohanty and K. Kavi",
  title =        "A Page-based Hybrid (Software--Hardware) Dynamic
                 Memory Allocator",
  journal =      j-IEEE-COMPUT-ARCHIT-LETT,
  volume =       "5",
  number =       "2",
  pages =        "13--13",
  month =        feb,
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1109/L-CA.2006.13",
  ISSN =         "1556-6056 (print), 1556-6064 (electronic)",
  ISSN-L =       "1556-6056",
  bibdate =      "Fri Jun 21 05:49:19 2019",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Modern programming languages often include complex
                 mechanisms for dynamic memory allocation and garbage
                 collection. These features drive the need for more
                 efficient implementation of memory management
                 functions, both in terms of memory usage and execution
                 performance. In this paper, we introduce a software and
                 hardware co-design to improve the speed of the software
                 allocator used in free-BSD systems. The hardware
                 complexity of our design is independent of the dynamic
                 memory size, thus making the allocator suitable for any
                 memory size. Our design improves the performance of
                 memory management intensive benchmarks by as much as
                 43\%. To oar knowledge, this is the first-ever work of
                 this kind, introducing ``hybrid memory allocator''",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Computer Architecture Letters",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208",
  keywords =     "Application software; Computer languages; Computer
                 science; Costs; Delay; Dynamic programming; garbage
                 collection; Hardware; hardware complexity;
                 hardware-software codesign; hybrid dynamic memory
                 allocator; Java; memory allocator; memory architecture;
                 memory management; Memory management; modern
                 programming languages; software allocator; Software
                 performance; software-hardware co-design;
                 software/hardware co-design; storage allocation;
                 storage management",
}

@Article{Liang:2006:EIC,
  author =       "Donglin Liang and Maikel Pennings and Mary Jean
                 Harrold",
  title =        "Evaluating the impact of context-sensitivity on
                 {Andersen}'s algorithm for {Java} programs",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "1",
  pages =        "6--12",
  month =        jan,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1108768.1108797",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:12 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Program analysis and program optimization of Java
                 programs require reference information that estimates
                 the instances of classes that may be accessed through
                 dereferences. Recent work has presented several
                 approaches for adapting Andersen's algorithm [1] ---
                 the most precise flow-insensitive and
                 context-insensitive points-to analysis algorithm
                 developed for C --- for analyzing Java programs (e.g.,
                 [5, 9, 12]). Studies in our previous work [6] indicate
                 that this algorithm may compute very imprecise
                 reference information for Java programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Liu:2006:FFCa,
  author =       "Yu David Liu and Scott F. Smith",
  title =        "A formal framework for component deployment",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "325--344",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167502",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Software deployment is a complex process, and
                 industrial-strength frameworks such as .NET, Java, and
                 CORBA all provide explicit support for component
                 deployment. However, these frameworks are not built
                 around fundamental principles as much as they are
                 engineering efforts closely tied to particulars of the
                 respective systems. Here we aim to elucidate the
                 fundamental principles of software deployment, in a
                 platform-independent manner. Issues that need to be
                 addressed include deployment unit design, when, where
                 and how to wire components together, versioning,
                 version dependencies, and hot-deployment of components.
                 We define the application buildbox as the place where
                 software is developed and deployed, and define a formal
                 Labeled Transition System (LTS) on the buildbox with
                 transitions for deployment operations that include
                 build, install, ship, and update. We establish formal
                 properties of the LTS, including the fact that if a
                 component is shipped with a certain version dependency,
                 then at run time that dependency must be satisfied with
                 a compatible version. Our treatment of deployment is
                 both platform- and vendor-independent, and we show how
                 it models the core mechanisms of the
                 industrial-strength deployment frameworks.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "component; deployment; version",
}

@Article{Liu:2006:II,
  author =       "Jed Liu and Aaron Kimball and Andrew C. Myers",
  title =        "Interruptible iterators",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "283--294",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111063",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper introduces interruptible iterators, a
                 language feature that makes expressive iteration
                 abstractions much easier to implement. Iteration
                 abstractions are valuable for software design, as shown
                 by their frequent use in well-designed data structure
                 libraries such as the Java Collections Framework. While
                 Java iterators support iteration abstraction well from
                 the standpoint of client code, they are awkward to
                 implement correctly and efficiently, especially if the
                 iterator needs to support imperative update of the
                 underlying collection, such as removing the current
                 element. Some languages, such as CLU and C\# 2.0,
                 support iteration through a limited coroutine
                 mechanism, but these mechanisms do not support
                 imperative updates. Interruptible iterators are more
                 powerful coroutines in which the loop body is able to
                 interrupt the iterator with requests to perform
                 updates. Interrupts are similar to exceptions, but
                 propagate differently and have resumption semantics.
                 Interruptible iterators have been implemented as part
                 of the JMatch programming language, an extended version
                 of Java. A JMatch reimplementation of the Java
                 Collections Framework shows that implementations can be
                 made substantially shorter and simpler; performance
                 results show that this language mechanism can also be
                 implemented efficiently.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "coroutine; exception; Java; JMatch; logic
                 programming",
}

@Article{Maebe:2006:JSBa,
  author =       "Jonas Maebe and Dries Buytaert and Lieven Eeckhout and
                 Koen {De Bosschere}",
  title =        "{Javana}: a system for building customized {Java}
                 program analysis tools",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "153--168",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167487",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Understanding the behavior of applications running on
                 high-level language virtual machines, as is the case in
                 Java, is non-trivial because of the tight entanglement
                 at the lowest execution level between the application
                 and the virtual machine. This paper proposes Javana, a
                 system for building Java program analysis tools. Javana
                 provides an easy-to-use instrumentation infrastructure
                 that allows for building customized profiling tools
                 very quickly. Javana runs a dynamic binary
                 instrumentation tool underneath the virtual machine.
                 The virtual machine communicates with the
                 instrumentation layer through an event handling
                 mechanism for building a vertical map that links
                 low-level native instruction pointers and memory
                 addresses to high-level language concepts such as
                 objects, methods, threads, lines of code, etc. The
                 dynamic binary instrumentation tool then intercepts all
                 memory accesses and instructions executed and provides
                 the Javana end user with high-level language
                 information for all memory accesses and natively
                 executed instructions. We demonstrate the power of
                 Javana through a number of applications: memory address
                 tracing, vertical cache simulation and object lifetime
                 computation. For each of these applications, the
                 instrumentation specification requires only a small
                 number of lines of code. Developing similarly powerful
                 profiling tools within a virtual machine (as done in
                 current practice) is both time-consuming and
                 error-prone; in addition, the accuracy of the obtained
                 profiling results might be questionable as we show in
                 this paper.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aspect-oriented instrumentation; customized program
                 analysis tool; Java",
}

@Book{Mahemoff:2006:ADP,
  author =       "Michael Mahemoff",
  title =        "{Ajax} Design Patterns",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "352 (est.)",
  year =         "2006",
  ISBN =         "0-596-10180-5",
  ISBN-13 =      "978-0-596-10180-0",
  LCCN =         "????",
  bibdate =      "Sat Jun 17 20:11:31 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "EUR 38.00",
  acknowledgement = ack-nhfb,
}

@Article{Markov:2006:IWD,
  author =       "Zdravko Markov and Ingrid Russell",
  title =        "An introduction to the {WEKA} data mining system",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "367--368",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140127",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This is a proposal for a half day tutorial on Weka, an
                 open source Data Mining software package written in
                 Java and available from
                 www.cs.waikato.ac.nz/~ml/weka/index.html. The goal of
                 the tutorial is to introduce faculty to the package and
                 to the pedagogical possibilities for its use in the
                 undergraduate computer science and engineering
                 curricula. The Weka system provides a rich set of
                 powerful Machine Learning algorithms for Data Mining
                 tasks, some not found in commercial data mining
                 systems. These include basic statistics and
                 visualization tools, as well as tools for
                 pre-processing, classification, and clustering, all
                 available through an easy to use graphical user
                 interface.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Markow:2006:CST,
  author =       "Tanya Markow and Eugene Ressler and Jean Blair",
  title =        "Catch that speeding turtle: latching onto fun graphics
                 in {CS1}",
  journal =      j-SIGADA-LETTERS,
  volume =       "26",
  number =       "3",
  pages =        "29--34",
  month =        dec,
  year =         "2006",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1185642.1185648",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 09:16:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Graphics are a great way to keep students motivated
                 early in a computer science program. This paper
                 introduces a simple Ada graphics package that
                 simultaneously meets two goals: it provides a easy to
                 understand graphics package that leads to enjoyable
                 projects in CS1, and it is an appropriate tool for
                 teaching fundamental computer science concepts to
                 beginning programmers. The package is an Ada
                 implementation and extension of a Java TurtleGraphics
                 package used at a number of universities.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
  keywords =     "Ada; AdaGraph; CS1; graphics; GtkAda; logo; spider;
                 TurtleGraphics",
}

@Book{Marrs:2006:JWP,
  author =       "Tom Marrs and Scott Davis",
  title =        "{JBoss} at work: a practical guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 287",
  year =         "2006",
  ISBN =         "0-596-00734-5",
  ISBN-13 =      "978-0-596-00734-8",
  LCCN =         "TK5105.8885.J43; TK5105.8885.J43 M37 2006eb",
  bibdate =      "Tue Aug 5 17:43:38 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596007348",
  acknowledgement = ack-nhfb,
  subject =      "JBoss; Java (Computer program language); Application
                 software; Development",
}

@Book{McLaughlin:2006:HRA,
  author =       "Brett McLaughlin",
  title =        "Head rush {Ajax}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxxi + 413",
  year =         "2006",
  ISBN =         "0-596-10225-9",
  ISBN-13 =      "978-0-596-10225-8",
  LCCN =         "QA76.73.J39 M35 2006eb; QA76.73.J39",
  bibdate =      "Tue Aug 5 17:52:39 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596102258",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language); Asynchronous
                 transfer mode; Web site development; World Wide Web",
  tableofcontents = "Intro \\
                 Using Ajax : web applications for a new generation \\
                 Speaking the language : making Ajax requests \\
                 She blinded me with asynchrony : Asynchronous apps \\
                 Web page forestry : the document object model \\
                 A second helping : developing DOM applications \\
                 Saying more with post : Post requests \\
                 More than words can say : XML requests and responses
                 \\
                 A fight to the finish : JSON vs. XML \\
                 A few special bonus gifts : extras \\
                 It's time for a little bonus credit : Ajax and DOM
                 utilities",
}

@Book{McLaughlin:2006:JX,
  author =       "Brett McLaughlin",
  title =        "{Java} and {XML}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xii + 465",
  year =         "2006",
  ISBN =         "0-596-10149-X",
  ISBN-13 =      "978-0-596-10149-7",
  LCCN =         "QA76.73.J38 M39 2006eb; QA76.73.J38; QA76.73.J38 M39
                 2006",
  bibdate =      "Tue Aug 5 17:50:38 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596101497",
  acknowledgement = ack-nhfb,
  remark =       "Previous edition 2001.",
  subject =      "XML (Document markup language); Java (Computer program
                 language); Web site development",
  xxnote =       "Check year: 2006 or 2007??",
}

@Article{Menon:2006:VSP,
  author =       "Vijay S. Menon and Neal Glew and Brian R. Murphy and
                 Andrew McCreight and Tatiana Shpeisman and Ali-Reza
                 Adl-Tabatabai and Leaf Petersen",
  title =        "A verifiable {SSA} program representation for
                 aggressive compiler optimization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "397--408",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111072",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present a verifiable low-level program
                 representation to embed, propagate, and preserve safety
                 information in high performance compilers for safe
                 languages such as Java and C\#. Our representation
                 precisely encodes safety information via static
                 single-assignment (SSA) [11, 3] proof variables that
                 are first-class constructs in the program. We argue
                 that our representation allows a compiler to both (1)
                 express aggressively optimized machine-independent code
                 and (2) leverage existing compiler infrastructure to
                 preserve safety information during optimization. We
                 demonstrate that this approach supports standard
                 compiler optimizations, requires minimal changes to the
                 implementation of those optimizations, and does not
                 artificially impede those optimizations to preserve
                 safety. We also describe a simple type system that
                 formalizes type safety in an SSA-style control-flow
                 graph program representation. Through the types of
                 proof variables, our system enables compositional
                 verification of memory safety in optimized code.
                 Finally, we discuss experiences integrating this
                 representation into the machine-independent global
                 optimizer of STARJIT, a high-performance just-in-time
                 compiler that performs aggressive control-flow,
                 data-flow, and algebraic optimizations and is
                 competitive with top production systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "check elimination; intermediate representations; proof
                 variables; safety dependences; SSA formalization; type
                 systems; typeability preservation; typed intermediate
                 languages",
}

@Article{Menth:2006:TPP,
  author =       "Michael Menth and Robert Henjes and Christian Zepfel
                 and Sebastian Gehrsitz",
  title =        "Throughput performance of popular {JMS} servers",
  journal =      j-SIGMETRICS,
  volume =       "34",
  number =       "1",
  pages =        "367--368",
  month =        jun,
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1140277.1140323",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Fri Jun 27 09:21:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The Java Messaging Service (JMS) facilitates
                 communication among distributed software components
                 according to the publish/subscribe principle. If the
                 subscribers install filter rules on the JMS server, JMS
                 can be used as a message routing platform, but it is
                 not clear whether its message throughput is
                 sufficiently high to support large-scale systems. In
                 this paper, we investigate the capacity of three high
                 performance JMS server implementations: FioranoMQ,
                 SunMQ, and WebsphereMQ. In contrast to other studies,
                 we focus on the message throughput in the presence of
                 filters and show that filtering reduces the performance
                 significantly. We present models for the message
                 processing time of each server and validate them by
                 measurement.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
  keywords =     "java messaging service; publish/subscribe; server
                 performance",
}

@Article{Mohapatra:2006:DDS,
  author =       "Durga P. Mohapatra and Rajeev Kumar and Rajib Mall and
                 D. S. Kumar and Mayank Bhasin",
  title =        "Distributed dynamic slicing of {Java} programs",
  journal =      j-J-SYST-SOFTW,
  volume =       "79",
  number =       "12",
  pages =        "1661--1678",
  month =        dec,
  year =         "2006",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Tue Sep 7 07:27:02 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Book{Monson-Haefel:2006:EJ,
  author =       "Richard Monson-Haefel and Bill Burke",
  title =        "{Enterprise JavaBeans}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fifth",
  pages =        "760 (est.)",
  year =         "2006",
  ISBN =         "0-596-00978-X",
  ISBN-13 =      "978-0-596-00978-6",
  LCCN =         "????",
  bibdate =      "Mon Jun 12 08:18:49 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.oreilly.com/catalog/entjbeans5/",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); JavaBeans",
}

@Article{Moon:2006:TMS,
  author =       "Sewon Moon and Byeong-Mo Chang",
  title =        "A thread monitoring system for multithreaded {Java}
                 programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "5",
  pages =        "21--29",
  month =        may,
  year =         "2006",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Aug 23 06:00:51 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Moore:2006:IAO,
  author =       "J. Strother Moore",
  title =        "Inductive assertions and operational semantics",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "8",
  number =       "4--5",
  pages =        "359--371",
  month =        aug,
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10009-005-0180-2",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Wed Jul 9 18:12:22 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1433-2779&volume=8&issue=4;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1433-2779&volume=8&issue=4&spage=359",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
  keywords =     "JVM; Software verification; Theorem proving;
                 Verification condition",
}

@Article{Murphy:2006:HJS,
  author =       "Gail C. Murphy and Mik Kersten and Leah Findlater",
  title =        "How Are {Java} Software Developers Using the {Eclipse
                 IDE}?",
  journal =      j-IEEE-SOFTWARE,
  volume =       "23",
  number =       "4",
  pages =        "76--83",
  month =        jul # "\slash " # aug,
  year =         "2006",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2006.105",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Thu Jul 3 12:17:28 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Muthukumar:2006:YSG,
  author =       "R. M. Muthukumar and D. Janakiram",
  title =        "{Yama}: a Scalable Generational Garbage Collector for
                 {Java} in Multiprocessor Systems",
  journal =      j-IEEE-TRANS-PAR-DIST-SYS,
  volume =       "17",
  number =       "2",
  pages =        "148--159",
  month =        feb,
  year =         "2006",
  CODEN =        "ITDSEO",
  DOI =          "https://doi.org/10.1109/TPDS.2006.28",
  ISSN =         "1045-9219 (print), 1558-2183 (electronic)",
  ISSN-L =       "1045-9219",
  bibdate =      "Thu Jul 3 14:26:48 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Parallel and Distributed
                 Systems",
  journal-URL =  "http://www.computer.org/tpds/archives.htm",
}

@Book{Naftalin:2006:JGC,
  author =       "Maurice Naftalin and Philip Wadler",
  title =        "{Java} Generics and Collections",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "294 (est.)",
  year =         "2006",
  ISBN =         "0-596-52775-6",
  ISBN-13 =      "978-0-596-52775-4",
  LCCN =         "????",
  bibdate =      "Mon Oct 30 16:47:51 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$34.99",
  acknowledgement = ack-nhfb,
}

@Article{Nagpurkar:2006:PBV,
  author =       "Priya Nagpurkar and Chandra Krintz",
  title =        "Phase-based visualization and analysis of {Java}
                 programs",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "59",
  number =       "1--2",
  pages =        "64--81",
  month =        jan,
  year =         "2006",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:53 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Naik:2006:ESR,
  author =       "Mayur Naik and Alex Aiken and John Whaley",
  title =        "Effective static race detection for {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "308--319",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 13 17:31:46 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Nakaike:2006:PBG,
  author =       "Takuya Nakaike and Tatsushi Inagaki and Hideaki
                 Komatsu and Toshio Nakatani",
  title =        "Profile-based global live-range splitting",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "216--227",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133981.1134007",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Live-range splitting is a technique to split the live
                 range of a given variable into multiple subranges, each
                 of which can be assigned to a different register or
                 spilled out to memory in order to improve results of
                 coloring register allocation. Previous techniques, such
                 as aggressive live-range splitting, tend to produce
                 extra spill code in the frequently executed (called
                 hot) regions of the code, since they don't distinguish
                 hot regions from others. We propose a new live-range
                 splitting algorithm, which can reduce the amount of
                 spill code in hot regions by coalescing the live ranges
                 based on profile information after splitting the live
                 ranges at every join and fork point in the control-flow
                 graph. Our experimental results have shown that our new
                 algorithm improved the performance of SPECjvm98 by up
                 to 33\% over aggressive live-range splitting and 7\%
                 over the base coloring algorithm without any live-range
                 splitting.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "graph coloring; live-range splitting; register
                 allocation",
}

@Article{Nanda:2006:ISM,
  author =       "Mangala Gowri Nanda and S. Ramesh",
  title =        "Interprocedural slicing of multithreaded programs with
                 applications to {Java}",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "6",
  pages =        "1088--1144",
  month =        nov,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1186632.1186636",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Sat Apr 14 11:13:21 MDT 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Nystrom:2006:JNIa,
  author =       "Nathaniel Nystrom and Xin Qi and Andrew C. Myers",
  title =        "{J\&}: nested intersection for scalable software
                 composition",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "21--36",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167476",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper introduces a programming language that
                 makes it convenient to compose large software systems,
                 combining their features in a modular way. J\& supports
                 nested intersection, building on earlier work on nested
                 inheritance in the language Jx. Nested inheritance
                 permits modular, type-safe extension of a package
                 (including nested packages and classes), while
                 preserving existing type relationships. Nested
                 intersection enables composition and extension of two
                 or more packages, combining their types and behavior
                 while resolving conflicts with a relatively small
                 amount of code. The utility of J\& is demonstrated by
                 using it to construct two composable, extensible
                 frameworks: a compiler framework for Java, and a
                 peer-to-peer networking system. Both frameworks support
                 composition of extensions. For example, two compilers
                 adding different, domain-specific features to Java can
                 be composed to obtain a compiler for a language that
                 supports both sets of features.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "compilers; nested inheritance; nested intersection",
}

@Article{Ogasawara:2006:EED,
  author =       "Takeshi Ogasawara and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "{EDO}: {Exception-Directed Optimization} in {Java}",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "1",
  pages =        "70--105",
  month =        jan,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1111596.1111598",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Jan 24 05:55:31 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Optimizing exception handling is critical for programs
                 that frequently throw exceptions. We observed that
                 there are many such exception-intensive programs
                 written in Java. There are two commonly used exception
                 handling techniques, stack unwinding and stack cutting.
                 Stack unwinding optimizes the normal path by leaving
                 the exception handling path unoptimized, while stack
                 cutting optimizes the exception handling path by adding
                 extra work to the normal path. However, there has been
                 no single exception handling technique to optimize the
                 exception handling path without incurring any overhead
                 to the normal path.We propose a new technique called
                 {\em Exception-Directed Optimization\/} (EDO) that
                 optimizes exception-intensive programs without slowing
                 down exception-minimal programs. It is a
                 feedback-directed dynamic optimization consisting of
                 three steps: exception path profiling, exception path
                 inlining, and throw elimination. Exception path
                 profiling attempts to detect hot exception paths.
                 Exception path inlining embeds every hot exception path
                 into the corresponding catching method. Throw
                 elimination replaces a throw with a branch to the
                 corresponding handler. We implemented EDO in IBM's
                 production Just-in-Time compiler and made several
                 experiments. In summary, it improved the performance of
                 exception-intensive programs by up to 18.3\% without
                 decreasing the performance of exception-minimal
                 programs for SPECjvm98. We also found an opportunity
                 for performance improvement using EDO in the startup of
                 a Java application server.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Ogata:2006:RCIa,
  author =       "Kazunori Ogata and Tamiya Onodera and Kiyokuni
                 Kawachiya and Hideaki Komatsu and Toshio Nakatani",
  title =        "Replay compilation: improving debuggability of a
                 just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "241--252",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167493",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The performance of Java has been tremendously improved
                 by the advance of Just-in-Time (JIT) compilation
                 technologies. However, debugging such a dynamic
                 compiler is much harder than a static compiler.
                 Recompiling the problematic method to produce a
                 diagnostic output does not necessarily work as
                 expected, because the compilation of a method depends
                 on runtime information at the time of compilation. In
                 this paper, we propose a new approach, called replay
                 JIT compilation, which can reproduce the same
                 compilation remotely by using two compilers, the
                 state-saving compiler and the replaying compiler. The
                 state-saving compiler is used in a normal run, and,
                 while compiling a method, records into a log all of the
                 input for the compiler. The replaying compiler is then
                 used in a debugging run with the system dump, to
                 recompile a method with the options for diagnostic
                 output. We reduced the overhead to save the input by
                 using the system dump and by categorizing the input
                 based on how its value changes. In our experiment, the
                 increase of the compilation time for saving the input
                 was only 1\%, and the size of the additional memory
                 needed for saving the input was only 10\% of the
                 compiler-generated code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "debuggability; deterministic replay; dynamic
                 optimization; Java; JIT compiler; problem
                 determination; replay compilation",
}

@InProceedings{Oi:2006:IFH,
  author =       "Hitoshi Oi",
  title =        "Instruction folding in a hardware-translation based
                 {Java Virtual Machine}",
  crossref =     "ACM:2006:PCC",
  pages =        "139--146",
  year =         "2006",
  DOI =          "https://doi.org/10.1145/1128022.1128041",
  bibdate =      "Tue Jun 20 06:49:31 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Bytecode hardware-translation improves the performance
                 of a Java Virtual Machine (JVM) with small hardware
                 resource and complexity overhead. Instruction folding
                 is a technique to further improve the performance of a
                 JVM by reducing the redundancy in the stack-based
                 instruction execution. However, the variable
                 instruction length of the Java bytecode makes the
                 folding logic complex. In this paper, we propose a
                 folding scheme with reduced hardware complexity and
                 evaluate its performance. For seven benchmark cases,
                 the proposed scheme folded 6.6\% to 37.1\% of the
                 bytecodes which correspond to 84.2\% to 102\% of the
                 PicoJava-II's performance.",
  acknowledgement = ack-nhfb,
}

@Article{Paul:2006:CJN,
  author =       "Nathanael Paul and David Evans",
  title =        "Comparing {Java} and {.NET} security: Lessons learned
                 and missed",
  journal =      j-COMPUT-SECUR,
  volume =       "25",
  number =       "5",
  pages =        "338--350",
  month =        jul,
  year =         "2006",
  CODEN =        "CPSEDU",
  ISSN =         "0167-4048 (print), 1872-6208 (electronic)",
  ISSN-L =       "0167-4048",
  bibdate =      "Mon Sep 23 09:46:03 MDT 2019",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computsecur2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "https://www.sciencedirect.com/science/article/pii/S0167404806000290",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers \& Security",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01674048",
}

@Book{Perry:2006:AH,
  author =       "Bruce W. Perry",
  title =        "{Ajax} hacks",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxi + 414",
  year =         "2006",
  ISBN =         "0-596-10169-4",
  ISBN-13 =      "978-0-596-10169-5",
  LCCN =         "QA76.73.J39 P47 2006eb; QA76.73.J39",
  bibdate =      "Tue Aug 5 17:51:25 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596101695",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language); Web site
                 development",
}

@Article{Peterson:2006:OCI,
  author =       "Laurence I. Peterson and Dale Benham",
  title =        "Overview of the cyberTech-{ITEST} project: an
                 initiative to attract and prepare under-represented
                 students for tomorrow's careers in the computing
                 sciences",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "453--455",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121480",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes an NSF-funded initiative
                 involving 600 underrepresented high school students and
                 60 teachers designed to introduce underrepresented
                 students to the numerous and varied career
                 opportunities in the computing sciences, prepare them
                 to succeed in college degree programs, and prepare
                 their teachers to be effective in the computer science
                 class room. The initiative has five components: (1)
                 CyberTech I (Principles of Computing): An online
                 introductory course for second-semester sophomores, (2)
                 CyberTech II: A twenty day on-campus intense summer
                 programming experience between the sophomore and junior
                 year, (3) CT Games: A junior year video game
                 programming experience to apply the programming
                 knowledge gaining in CyberTech II, (4) AP Computer
                 Science (using Java 5 as the programming language)
                 taken during the senior year, and (5) training
                 workshops for teachers to prepare them to teach
                 computer programming. The overarching goal is to
                 prepare students for a college-level degree program in
                 the computing sciences by having them successfully
                 complete the AP Computer Science course and exam while
                 teaching the soft skills, such as team work, oral
                 communication and problem solving necessary in a
                 professional career. Additionally, role models from
                 various industry sectors are utilized to introduce
                 students to the exciting career opportunities in the
                 computing sciences.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Petro:2006:RMJ,
  author =       "Andrew Petro",
  title =        "Review of {{\booktitle{More Java Gems}} by Dwight
                 Deugo, Cambridge University Press, 2000, ISBN:
                 0-521-77477-2}",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "3",
  pages =        "42--42",
  month =        may,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1127878.1127904",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:17 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Pickett:2006:SSF,
  author =       "Christopher J. F. Pickett and Clark Verbrugge",
  title =        "{SableSpMT}: a software framework for analysing
                 speculative multithreading in {Java}",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "1",
  pages =        "59--66",
  month =        jan,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1108768.1108809",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:12 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "Speculative multithreading (SpMT) is a promising
                 optimisation technique for achieving faster execution
                 of sequential programs on multiprocessor hardware.
                 Analysis of and data acquisition from such systems is
                 however difficult and complex, and is typically limited
                 to a specific hardware design and simulation
                 environment. We have implemented a flexible,
                 software-based speculative multithreading architecture
                 within the context of a full-featured Java virtual
                 machine. We consider the entire Java language and
                 provide a complete set of support features for
                 speculative execution, including return value
                 prediction. Using our system we are able to generate
                 extensive dynamic analysis information, analyse the
                 effects of runtime feedback, and determine the impact
                 of incorporating static, offline information. Our
                 approach allows for accurate analysis of Java SpMT on
                 existing, commodity multiprocessor hardware, and
                 provides a vehicle for further experimentation with
                 speculative approaches and optimisations.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Potanin:2006:GOGa,
  author =       "Alex Potanin and James Noble and Dave Clarke and
                 Robert Biddle",
  title =        "Generic ownership for generic {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "311--324",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167500",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Ownership types enforce encapsulation in
                 object-oriented programs by ensuring that objects
                 cannot be leaked beyond object(s) that own them.
                 Existing ownership programming languages either do not
                 support parametric polymorphism (type genericity) or
                 attempt to add it on top of ownership restrictions.
                 Generic Ownership provides per-object ownership on top
                 of a sound generic imperative language. The resulting
                 system not only provides ownership guarantees
                 comparable to established systems, but also requires
                 few additional language mechanisms due to full reuse of
                 parametric polymorphism. We formalise the core of
                 Generic Ownership, highlighting that only restriction
                 of this calls and owner subtype preservation are
                 required to achieve deep ownership. Finally we describe
                 how Ownership Generic Java (OGJ) was implemented as a
                 minimal extension to Generic Java in the hope of
                 bringing ownership types into mainstream programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "generics; Java; ownership; type systems",
}

@Article{Radenski:2006:PFL,
  author =       "Atanas Radenski",
  title =        "``{Python} first'': a lab-based digital introduction
                 to computer science",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "197--201",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140177",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The emphasis on Java and other commercial languages in
                 CS1 has established the perception of computer science
                 as a dry and technically difficult discipline among
                 undecided students who are still seeking careers. This
                 may not be a big problem during an enrolment boom, but
                 in times of decreased enrolment such negative
                 perception may have a devastating effect on computer
                 science programs and therefore should not be ignored.
                 We have made our CS1 course offerings more attractive
                 to students (1) by introducing an easy to learn yet
                 effective scripting language --- Python, (2) by making
                 all course resources available in a comprehensive
                 online study pack, and (3) by offering an extensive set
                 of detailed and easy to follow self-guided labs. Our
                 custom-designed online study pack comprises a wealth of
                 new, original learning modules: extensive e-texts,
                 detailed self-guided labs, numerous sample programs,
                 quizzes, and slides. Our recent student survey
                 demonstrates that students like and prefer Python as a
                 first language and that they also perceive the online
                 study pack as very beneficial. Our ``Python First''
                 course, originally required for computer science
                 majors, has been so well received that it has been
                 recently approved as a general education science
                 elective, thus opening new recruitment opportunities
                 for the computer science major. Our ``Python First''
                 digital pack is published online at
                 http://studypack.com.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Raymond:2006:PQR,
  author =       "Scott Raymond and Sergio Pereira",
  title =        "Prototype quick reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2006",
  ISBN =         "0-596-51018-7",
  ISBN-13 =      "978-0-596-51018-3",
  LCCN =         "QA76.73.J38 R39 2006eb; QA76.73.J38",
  bibdate =      "Tue Aug 5 17:53:51 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596510183",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language); Web sites;
                 Design",
}

@Article{Reges:2006:BBC,
  author =       "Stuart Reges",
  title =        "Back to basics in {CS1} and {CS2}",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "293--297",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121432",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes a significant redesign of the
                 introductory courses at the University of Washington
                 that has led to increased enrollments, increased
                 student satisfaction and an increase in the number of
                 women admitted to the CS major. The new courses are
                 still taught in Java, but they represent a return to
                 the basics that were emphasized in the pre-Java era.
                 The biggest changes have occurred in the CS1 course
                 where we have replaced an ``objects early'' curriculum
                 with a more traditional procedural approach using
                 static methods in Java. The new CS1 course emphasizes
                 problem solving, procedural decomposition and mastery
                 of basic skills (e.g., loops, conditionals and arrays).
                 The new CS2 course emphasizes data structures, linked
                 lists, binary trees and recursion.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ren:2006:IFC,
  author =       "Xiaoxia Ren and O. C. Chesley and B. G. Ryder",
  title =        "Identifying Failure Causes in {Java} Programs: An
                 Application of Change Impact Analysis",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "32",
  number =       "9",
  pages =        "718--732",
  month =        sep,
  year =         "2006",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2006.90",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1707669",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Book{Richardson:2006:PAD,
  author =       "Chris Richardson",
  title =        "{POJOs} in Action: Developing Enterprise Applications
                 with Lightweight Frameworks",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxxii + 560",
  year =         "2006",
  ISBN =         "1-932394-58-3 (paperback)",
  ISBN-13 =      "978-1-932394-58-0 (paperback)",
  LCCN =         "????",
  bibdate =      "Mon Feb 27 12:02:22 MST 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$44.95 (paperback), US\$22.50 (electronic)",
  URL =          "http://java.sun.com/developer/Books/javaprogramming/pojos/;
                 http://www.manning.com/books/crichardson",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Computer software;
                 Development; Object-oriented programming (Computer
                 science)",
}

@Article{Richardson:2006:UEJ,
  author =       "Chris Richardson",
  title =        "Untangling {Enterprise Java}",
  journal =      j-QUEUE,
  volume =       "4",
  number =       "5",
  pages =        "36--44",
  month =        jun,
  year =         "2006",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Wed Aug 23 12:29:00 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Roberts:2006:AJT,
  author =       "Eric Roberts and Kim Bruce and James H. {Cross II} and
                 Robb Cutler and Scott Grissom and Karl Klee and Susan
                 Rodger and Fran Trees and Ian Utting and Frank Yellin",
  title =        "The {ACM Java Task Force}: final report",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "131--132",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121384",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roberts:2006:ITS,
  author =       "Eric Roberts",
  title =        "An interactive tutorial system for {Java}",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "334--338",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121447",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "As part of the documentation for its library packages,
                 the Java Task Force (JTF)developed an online tutorial
                 system that enables teachers and students to explore
                 the resources provided by the Task Force in a highly
                 interactive style. The individual pages that make up
                 the tutorial often include demonstration programs that
                 the reader can experiment with while remaining on the
                 same web page as the explanatory text. Although the
                 original motivation for developing that tutorial system
                 was to document the JTF packages themselves, the
                 structure is general enough for teachers to design
                 their own tutorials and interactive demonstrations.
                 This paper describes the structure of that tutorial
                 system and illustrates its use. In addition, the paper
                 describes some work-in-progress that will make it
                 possible to create interactive lecture demonstrations
                 from PowerPointTM slides.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rossling:2006:TPI,
  author =       "Guido R{\"o}{\ss}ling",
  title =        "{Translator}: a package for internationalization for
                 {Java}-based applications and {GUIs}",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "312--312",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140217",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rozman:2006:QQA,
  author =       "Ivan Rozman and Matjaz B. Juric and Izidor Golob and
                 Marjan Hericko",
  title =        "Qualitative and quantitative analysis and comparison
                 of {Java} distributed architectures",
  journal =      j-SPE,
  volume =       "36",
  number =       "14",
  pages =        "1543--1562",
  day =          "25",
  month =        nov,
  year =         "2006",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.731",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:13 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "22 Jun 2006",
}

@Article{Russell:2006:ESRa,
  author =       "Kenneth Russell and David Detlefs",
  title =        "Eliminating synchronization-related atomic operations
                 with biased locking and bulk rebiasing",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "263--272",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167515.1167496",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The Java{\TM} programming language contains built-in
                 synchronization primitives for use in constructing
                 multithreaded programs. Efficient implementation of
                 these synchronization primitives is necessary in order
                 to achieve high performance. Recent research [9, 12,
                 10, 3, 7] has focused on the run-time elimination of
                 the atomic operations required to implement object
                 monitor synchronization primitives. This paper
                 describes a novel technique called store-free biased
                 locking which eliminates all synchronization-related
                 atomic operations on uncontended object monitors. The
                 technique supports the bulk transfer of object
                 ownership from one thread to another, and the selective
                 disabling of the optimization where unprofitable, using
                 epoch-based bulk rebiasing and revocation. It has been
                 implemented in the production version of the Java
                 HotSpot{\TM}VM and has yielded significant performance
                 improvements on a range of benchmarks and applications.
                 The technique is applicable to any virtual
                 machine-based programming language implementation with
                 mostly block-structured locking primitives.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "atomic; bias; Java; lock; monitor; optimization;
                 rebias; reservation; revoke; synchronization",
}

@Article{Sally:2006:EJG,
  author =       "Gene Sally",
  title =        "Embedded {Java} with {GCJ}",
  journal =      j-LINUX-J,
  volume =       "2006",
  number =       "145",
  pages =        "??--??",
  month =        may,
  year =         "2006",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Wed Aug 23 06:09:27 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Book{Sam-Bodden:2006:BPN,
  author =       "Brian Sam-Bodden",
  title =        "Beginning {POJOs}: from novice to professional",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  year =         "2006",
  ISBN =         "1-59059-596-3 (paperback)",
  ISBN-13 =      "978-1-59059-596-1 (paperback)",
  LCCN =         "QA76.73.J38 S36 2006eb; QA76.73 .J38 INTERNET",
  bibdate =      "Fri Jun 20 12:45:48 MDT 2008",
  bibsource =    "clavis.ucalgary.ca:2200/UNICORN;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ezproxy.lib.ucalgary.ca:2048/login?url=http://library.books24x7.com/library.asp?bookid=14653",
  acknowledgement = ack-nhfb,
  remark =       "Title from title screen",
  subject =      "Java (Computer program language); Computer software;
                 Development; Object-oriented programming (Computer
                 science)",
}

@Article{Sattar:2006:DSM,
  author =       "Abdul Sattar and Torben Lorenzen",
  title =        "Develop a shopping mart {Web} application",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "4",
  pages =        "68--70",
  month =        dec,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1189136.1189173",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:31 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse38.html#SattarL06;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2006.bib",
  abstract =     "The authors' junior/senior CS class at Bridgewater
                 State College implemented a web site similar to the
                 shopping mart found at amazon.com. The application was
                 broken into four assignments which included an email
                 address verifier written in Java, a 5 page GUI
                 front-end to the web site written in Hypertext Markup
                 Language (HTML), Java Script and Cascading Style Sheet
                 (CSS), a rudimentary web browser, and a module
                 implementing server-side functionality to update an
                 Access database.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Schroeder:2006:VTO,
  author =       "Will Schroeder and Ken Martin and Bill Lorensen",
  title =        "The visualization toolkit: an object-oriented approach
                 to {3D} graphics [visualize data in {3D} --- medical,
                 engineering or scientific; build your own applications
                 with {C}++, Tcl, Java or Python; includes source code
                 for {VTK} (supports {UNIX}, Windows and Mac)]",
  publisher =    "Kitware",
  address =      "Clifton Park, NY",
  edition =      "Fourth",
  pages =        "xvi + 512",
  year =         "2006",
  ISBN =         "1-930934-19-X",
  ISBN-13 =      "978-1-930934-19-1",
  LCCN =         "????",
  bibdate =      "Thu Apr 16 09:20:47 MDT 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "Visualisering; Datamaskinassistert presentasjon;
                 Python",
}

@Article{Shalev:2006:PLS,
  author =       "Ori Shalev and Nir Shavit",
  title =        "Predictive log-synchronization",
  journal =      j-OPER-SYS-REV,
  volume =       "40",
  number =       "4",
  pages =        "305--315",
  month =        oct,
  year =         "2006",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1218063.1217965",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:14:10 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper proposes predictive log-synchronization, an
                 alternative paradigm to the software transactional
                 memory approach for simplifying the design of
                 concurrent data structures. Predictive
                 log-synchronization simplifies concurrent programming
                 and program verification by requiring programmers to
                 write only specialized sequential code. This sequential
                 code is then automatically transformed into a
                 non-blocking concurrent program in which threads
                 coordinate all data structure operations via a shared
                 lock-controlled log. The non-blocking progress property
                 is achieved by having threads that fail to acquire the
                 lock predict the outcome of their operations by reading
                 the log and state and computing the effect of these
                 operations without modifying the actual data structure.
                 Log-synchronization is founded on the belief (at this
                 point unsubstantiated by statistical data) that in many
                 concurrent data structures used in real-world
                 applications, the ratio of high level operations that
                 modify the structure to ones that simply read it,
                 greatly favors read-only operations, and what's more,
                 that many natural data structures have inherent
                 sequential bottlenecks limiting the concurrency among
                 operations that modify the structure. It follows that
                 delegating all data structure modifications to a single
                 lock-controlled thread at a time will not significantly
                 harm the throughput of modifying operations. Moreover,
                 as we show, it can boost read-only throughput by
                 significantly reducing the overhead of coordination
                 among concurrent operations, and provides a way to
                 simplify concurrent data structures. Initial
                 experimental testing using a Java-based implementation
                 of predictive log-synchronization showed that a
                 log-synchronized concurrent red-black tree is up to
                 five times faster than a simple lock-based one. This
                 paper presents our current understanding of the
                 advantages, drawbacks, and scope of predictive
                 log-synchronization.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "concurrent; monitor; prediction; synchronization",
}

@Article{Sharp:2006:SAO,
  author =       "M. Sharp and A. Rountev",
  title =        "Static Analysis of Object References in {RMI}-Based
                 {Java} Software",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "32",
  number =       "9",
  pages =        "664--681",
  month =        sep,
  year =         "2006",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2006.93",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1707666",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Spivak:2006:SPT,
  author =       "Michal Spivak and Sivan Toledo",
  title =        "Storing a persistent transactional object heap on
                 flash memory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "22--33",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1134650.1134655",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present the design and implementation of TinyStore,
                 a persistent, transactional, garbage-collected
                 memory-management system, designed to be called from
                 the Java virtual machine of a Java Card. The system is
                 designed for flash-based implementations of Java Card,
                 a variant of the Java platform for smart cards. In the
                 Java Card platform, objects are persistent by default.
                 The platform supports transactions: a sequence of
                 accesses to objects can be explicitly declared to
                 constitute a transaction. TinyStore supports explicit
                 transactions and atomically executes individual
                 accesses that are not part of transactions; it also
                 supports garbage collection, even on systems with a
                 small constant amount of ram. TinyStore uses a novel
                 approach and specialized data structures to efficiently
                 manage flash memory. We demonstrate its effectiveness
                 by comparing it to a traditional eeprom-based memory
                 management system for Java Cards.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "flash; Java Card; nor flash; persistent heaps;
                 persistent object stores; smart cards; transactions",
}

@Article{Spoonhower:2006:ESP,
  author =       "Daniel Spoonhower and Joshua Auerbach and David F.
                 Bacon and Perry Cheng and David Grove",
  title =        "{Eventrons}: a safe programming construct for
                 high-frequency hard real-time applications",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "283--294",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133981.1134015",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "While real-time garbage collection has achieved
                 worst-case latencies on the order of a millisecond,
                 this technology is approaching its practical limits.
                 For tasks requiring extremely low latency, and
                 especially periodic tasks with frequencies above 1 KHz,
                 Java programmers must currently resort to the
                 NoHeapRealtimeThread construct of the Real-Time
                 Specification for Java. This technique requires
                 expensive run-time checks, can result in unpredictable
                 low-level exceptions, and inhibits communication with
                 the rest of the garbage-collected application. We
                 present Eventrons, a programming construct that can
                 arbitrarily preempt the garbage collector, yet
                 guarantees safety and allows its data to be visible to
                 the garbage-collected heap. Eventrons are a strict
                 subset of Java, and require no run-time memory access
                 checks. Safety is enforced using a data-sensitive
                 analysis and simple run-time support with extremely low
                 overhead. We have implemented Eventrons in IBM's J9
                 Java virtual machine, and present experimental results
                 in which we ran Eventrons at frequencies up to 22 KHz
                 (a 45 $ \mu $ s period). Across 10 million periods,
                 99.997\% of the executions ran within 10 $ \mu $ ss of
                 their deadline, compared to 99.999\% of the executions
                 of the equivalent program written in C.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "allocation; real-time; scheduling",
}

@Article{Sridharan:2006:RBC,
  author =       "Manu Sridharan and Rastislav Bod{\'\i}k",
  title =        "Refinement-based context-sensitive points-to analysis
                 for {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "387--400",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 13 17:31:46 MDT 2006",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Su:2006:ECI,
  author =       "Zhendong Su and Gary Wassermann",
  title =        "The essence of command injection attacks in {Web}
                 applications",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "372--382",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111070",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Web applications typically interact with a back-end
                 database to retrieve persistent data and then present
                 the data to the user as dynamically generated output,
                 such as HTML web pages. However, this interaction is
                 commonly done through a low-level API by dynamically
                 constructing query strings within a general-purpose
                 programming language, such as Java. This low-level
                 interaction is ad hoc because it does not take into
                 account the structure of the output language.
                 Accordingly, user inputs are treated as isolated
                 lexical entities which, if not properly sanitized, can
                 cause the web application to generate unintended
                 output. This is called a command injection attack,
                 which poses a serious threat to web application
                 security. This paper presents the first formal
                 definition of command injection attacks in the context
                 of web applications, and gives a sound and complete
                 algorithm for preventing them based on context-free
                 grammars and compiler parsing techniques. Our key
                 observation is that, for an attack to succeed, the
                 input that gets propagated into the database query or
                 the output document must change the intended syntactic
                 structure of the query or document. Our definition and
                 algorithm are general and apply to many forms of
                 command injection attacks. We validate our approach
                 with SqlCheckS, an implementation for the setting of
                 SQL command injection attacks. We evaluated SqlCheckS
                 on real-world web applications with systematically
                 compiled real-world attack data as input. SqlCheckS
                 produced no false positives or false negatives,
                 incurred low runtime overhead, and applied
                 straightforwardly to web applications written in
                 different languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "command injection attacks; grammars; parsing; runtime
                 verification; web applications",
}

@Book{Subramaniam:2006:PAD,
  author =       "Venkat Subramaniam and Andy Hunt",
  title =        "Practices of an {Agile} Developer: {Working} in the
                 Real World",
  publisher =    "Pragmatic Bookshelf",
  address =      "Raleigh, NC, USA",
  pages =        "xiv + 189",
  year =         "2006",
  ISBN =         "0-9745140-8-X",
  ISBN-13 =      "978-0-9745140-8-6",
  LCCN =         "QA76.76.D47",
  bibdate =      "Mon Mar 27 09:01:10 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$29.95; CAN \$41.95; UK\pounds20.95",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Article{Suganuma:2006:RBC,
  author =       "Toshio Suganuma and Toshiaki Yasue and Toshio
                 Nakatani",
  title =        "A region-based compilation technique for dynamic
                 compilers",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "1",
  pages =        "134--174",
  month =        jan,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1111596.1111600",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Jan 24 05:55:31 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Method inlining and data flow analysis are two major
                 optimization components for effective program
                 transformations, but they often suffer from the
                 existence of rarely or never executed code contained in
                 the target method. One major problem lies in the
                 assumption that the compilation unit is partitioned at
                 method boundaries. This article describes the design
                 and implementation of a region-based compilation
                 technique in our dynamic optimization framework, in
                 which the compiled regions are selected as code
                 portions without rarely executed code. The key parts of
                 this technique are the region selection, partial
                 inlining, and region exit handling. For region
                 selection, we employ both static heuristics and dynamic
                 profiles to identify and eliminate rare sections of
                 code. The region selection process and method inlining
                 decisions are interwoven, so that method inlining
                 exposes other targets for region selection, while the
                 region selection in the inline target conserves the
                 inlining budget, allowing more method inlining to be
                 performed. The inlining process can be performed for
                 parts of a method, not just for the entire body of the
                 method. When the program attempts to exit from a region
                 boundary, we trigger recompilation and then use
                 on-stack replacement to continue the execution from the
                 corresponding entry point in the recompiled code. We
                 have implemented these techniques in our Java JIT
                 compiler, and conducted a comprehensive evaluation. The
                 experimental results show that our region-based
                 compilation approach achieves approximately 4\%
                 performance improvement on average, while reducing the
                 compilation overhead by 10\% to 30\%, in comparison to
                 the traditional method-based compilation techniques.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Sweeney:2006:NMP,
  author =       "Tim Sweeney",
  title =        "The next mainstream programming language: a game
                 developer's perspective",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "269--269",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111061",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Game developers have long been early adopters of new
                 technologies. This is so because we are largely
                 unburdened by legacy code: With each new hardware
                 generation, we are free to rethink our software
                 assumptions and develop new products using new tools
                 and even new programming languages. As a result, games
                 are fertile ground for applying academic advances in
                 these areas. And never has our industry been in need of
                 such advances as it is now! The scale and scope of game
                 development has increased more than ten-fold over the
                 past ten years, yet the underlying limitations of the
                 mainstream C/C++/Java/C\# language family remain
                 largely unaddressed. The talk begins with a high-level
                 presentation of the game developer's world: the kinds
                 of algorithms we employ on modern CPUs and GPUs, the
                 difficulties of componentization and concurrency, and
                 the challenges of writing very complex software with
                 real-time performance requirements. The talk then
                 outlines the ways that future programming languages
                 could help us write better code, providing examples
                 derived from experience writing games and software
                 frameworks that support games. The major areas covered
                 are abstraction facilities -- how we can use them to
                 develop more extensible frameworks and components;
                 practical opportunities for employing stronger typing
                 to reduce run-time failures; and the need for pervasive
                 concurrency support, both implicit and explicit, to
                 effectively exploit the several forms of parallelism
                 present in games and graphics.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Thau:2006:BJP,
  author =       "Thau",
  title =        "The book of {JavaScript}: a practical guide to
                 interactive {Web} pages",
  publisher =    pub-NO-STARCH,
  address =      pub-NO-STARCH:adr,
  edition =      "Second",
  pages =        "xxx + 490",
  year =         "2006",
  ISBN =         "1-59327-106-9",
  ISBN-13 =      "978-1-59327-106-0",
  LCCN =         "QA76.73.J39 T37 2006eb; QA76.73.J39 T37 2007",
  bibdate =      "Tue Aug 5 18:19:36 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9781593271060",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language); World Wide
                 Web",
}

@Article{Utting:2006:PIT,
  author =       "Ian Utting",
  title =        "Problems in the initial teaching of programming using
                 {Java}: the case for replacing {J2SE} with {J2ME}",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "193--196",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140176",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In their analysis of the use of Java as a first
                 teaching language, the ACM Java Task Force (JTF)
                 identified a number of issues with the Java language
                 and APIs which caused significant pedagogic problems.
                 The focus of their work, and hence of their
                 characterisation of the issues, was the Java ``Standard
                 Edition'' (J2SE).This paper contends that the version
                 of Java designed for programming small devices (Java 2
                 Micro Edition, J2ME) does not suffer from these
                 problems identified by the JTF to the extent that the
                 (more familiar) J2SE does, and suggests a number of
                 other reasons why J2ME represents a good choice as a
                 first programming language.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Vaziri:2006:ASC,
  author =       "Mandana Vaziri and Frank Tip and Julian Dolby",
  title =        "Associating synchronization constraints with data in
                 an object-oriented language",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "334--345",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111067",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Concurrency-related bugs may happen when multiple
                 threads access shared data and interleave in ways that
                 do not correspond to any sequential execution. Their
                 absence is not guaranteed by the traditional notion of
                 'data race' freedom. We present a new definition of
                 data races in terms of 11 problematic interleaving
                 scenarios, and prove that it is complete by showing
                 that any execution not exhibiting these scenarios is
                 serializable for a chosen set of locations. Our
                 definition subsumes the traditional definition of a
                 data race as well as high-level data races such as
                 stale-value errors and inconsistent views. We also
                 propose a language feature called atomic sets of
                 locations, which lets programmers specify the existence
                 of consistency properties between fields in objects,
                 without specifying the properties themselves. We use
                 static analysis to automatically infer those points in
                 the code where synchronization is needed to avoid data
                 races under our new definition. An important benefit of
                 this approach is that, in general, far fewer
                 annotations are required than is the case with existing
                 approaches such as synchronized blocks or atomic
                 sections. Our implementation successfully inferred the
                 appropriate synchronization for a significant subset of
                 Java's Standard Collections framework.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "concurrent object-oriented programming; data races;
                 programming model; serializability",
}

@Article{Venstermans:2006:BVB,
  author =       "Kris Venstermans and Lieven Eeckhout and Koen {De
                 Bosschere}",
  title =        "64-bit versus 32-bit {Virtual Machines} for {Java}",
  journal =      j-SPE,
  volume =       "36",
  number =       "1",
  pages =        "1--26",
  month =        jan,
  year =         "2006",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.679",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Mar 14 11:39:19 MST 2006",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  abstract =     "The Java language is popular because of its platform
                 independence, making it useful in a lot of technologies
                 ranging from embedded devices to high-performance
                 systems. The platform-independent property of Java,
                 which is visible at the Java bytecode level, is only
                 made possible thanks to the availability of a Virtual
                 Machine (VM), which needs to be designed specifically
                 for each underlying hardware platform. More
                 specifically, the same Java bytecode should run
                 properly on a 32-bit or a 64-bit VM. In this paper, we
                 compare the behavioral characteristics of 32-bit and
                 64-bit VMs using a large set of Java benchmarks. This
                 is done using the Jikes Research VM as well as the IBM
                 JDK 1.4.0 production VM on a PowerPC-based IBM machine.
                 By running the PowerPC machine in both 32-bit and
                 64-bit mode we are able to compare 32-bit and 64-bit
                 VMs. We conclude that the space an object takes in the
                 heap in 64-bit mode is 39.3\% larger on average than in
                 32-bit mode. We identify three reasons for this: (i)
                 the larger pointer size, (ii) the increased header and
                 (iii) the increased alignment. The minimally required
                 heap size is 51.1\% larger on average in 64-bit than in
                 32-bit mode. From our experimental setup using hardware
                 performance monitors, we observe that 64-bit computing
                 typically results in a significantly larger number of
                 data cache misses at all levels of the memory
                 hierarchy. In addition, we observe that when a
                 sufficiently large heap is available, the IBM JDK 1.4.0
                 VM is 1.7\% slower on average in 64-bit mode than in
                 32-bit mode.",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "64-bit versus 32-bit computing; Java; performance
                 evaluation; PowerPC; Virtual Machine",
  onlinedate =   "15 Sep 2005",
}

@Article{Vincenzi:2006:EST,
  author =       "A. M. R. Vincenzi and M. E. Delamaro and J. C.
                 Maldonado and W. E. Wong",
  title =        "Establishing structural testing criteria for {Java}
                 bytecode",
  journal =      j-SPE,
  volume =       "36",
  number =       "14",
  pages =        "1513--1541",
  day =          "25",
  month =        nov,
  year =         "2006",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.726",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:13 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "22 Jun 2006",
}

@Article{Vollmar:2006:MEO,
  author =       "Kenneth Vollmar and Pete Sanderson",
  title =        "{MARS}: an education-oriented {MIPS} assembly language
                 simulator",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "239--243",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121415",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We describe the implementation of ``MARS,'' a GUI,
                 Java-based simulator for the MIPS assembly language.
                 MIPS, the computer architecture underlying the
                 simulated assembly language, is widely used in industry
                 and is the basis of the popular textbook Computer
                 Organization and Design [6], used at over 400
                 universities. The MARS simulator has been implemented
                 with characteristics that are especially useful to
                 undergraduate computer science students and their
                 instructors.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Warth:2006:SSOa,
  author =       "Alessandro Warth and Milan Stanojevi{\'c} and Todd
                 Millstein",
  title =        "Statically scoped object adaptation with expanders",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "37--56",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1167473.1167477",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper introduces the expander, a new
                 object-oriented (OO) programming language construct
                 designed to support object adaptation. Expanders allow
                 existing classes to be noninvasively updated with new
                 methods, fields, and superinterfaces. Each client can
                 customize its view of a class by explicitly importing
                 any number of expanders. This view then applies to all
                 instances of that class, including objects passed to
                 the client from other components. A form of expander
                 overriding allows expanders to interact naturally with
                 OO-style inheritance. We describe the design,
                 implementation, and evaluation of eJava, an extension
                 to Java supporting expanders. We illustrate eJava's
                 syntax and semantics through several examples. The
                 statically scoped nature of expander usage allows for a
                 modular static type system that prevents several
                 important classes of errors. We describe this modular
                 static type system informally, formalize eJava and its
                 type system in an extension to Featherweight Java, and
                 prove a type soundness theorem for the formalization.
                 We also describe a modular compilation strategy for
                 eJava, which we have implemented using the Polyglot
                 extensible compiler framework. Finally, we illustrate
                 the practical benefits of eJava by using this compiler
                 in two experiments.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "expanders; modular typechecking; object adaptation",
}

@Article{Welc:2006:RTJ,
  author =       "Adam Welc and Suresh Jagannathan and Antony L.
                 Hosking",
  title =        "Revocation techniques for {Java} concurrency",
  journal =      j-CCPE,
  volume =       "18",
  number =       "12",
  pages =        "1613--1656",
  month =        oct,
  year =         "2006",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1008",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:07 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "12 Jan 2006",
}

@Article{Wells:2006:NIL,
  author =       "George C. Wells",
  title =        "New and improved: {Linda} in {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "59",
  number =       "1--2",
  pages =        "82--96",
  month =        jan,
  year =         "2006",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:38:53 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{White:2006:JJF,
  author =       "Timothy M. White and Thomas P. Way",
  title =        "{jFAST}: a {Java} finite automata simulator",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "384--388",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121460",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Visualization and interactivity are valuable active
                 learning techniques that can improve mastery of
                 difficult concepts. In this paper we describe jFAST, an
                 easy-to-use graphical software tool for teachers and
                 students, with an emphasis on introductory level finite
                 state machine topics. The jFAST software enables visual
                 design, exploration and simulation of a variety of
                 finite state machines, with a primary goal of enhancing
                 teaching effectiveness in this subject, particularly
                 for less advanced computer science students. The
                 architecture and functionality of jFAST are explained,
                 and results of preliminary evaluation are provided.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Williams:2006:LRD,
  author =       "Rob Williams",
  title =        "Languages for {RTS} development --- {C}, {Ada} and
                 {Java}",
  journal =      "Real-Time Systems Development",
  volume =       "??",
  number =       "??",
  pages =        "341--357",
  month =        "????",
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1016/B978-075066471-4/50018-9",
  ISSN =         "????",
  bibdate =      "Mon Jan 14 21:50:03 MST 2013",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/adabooks.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/B9780750664714500189",
  acknowledgement = ack-nhfb,
}

@Article{Winter:2006:TPC,
  author =       "Victor L. Winter and Jason Beranek and Fares Fraij and
                 Steve Roach and Greg Wickstrom",
  title =        "A transformational perspective into the core of an
                 abstract class loader for the {SSP}",
  journal =      j-TECS,
  volume =       "5",
  number =       "4",
  pages =        "773--818",
  month =        nov,
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1196636.1196639",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Jun 12 15:20:45 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The SSP is a hardware implementation of a subset of
                 the JVM for use in high-consequence embedded
                 applications. In this context, a majority of the
                 activities belonging to class loading, as it is defined
                 in the specification of the JVM, can be performed
                 statically. Static class loading has the net result of
                 dramatically simplifying the design of the SSP, as well
                 as increasing its performance. Because of the high
                 consequence nature of its applications, strong evidence
                 must be provided that all aspects of the SSP have been
                 implemented correctly. This includes the class loader.
                 This article explores the possibility of formally
                 verifying a class loader for the SSP implemented in the
                 strategic programming language TL. Specifically, an
                 implementation of the core activities of an abstract
                 class loader is presented and its verification in ACL2
                 is considered.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "HATS; higher-order rewriting; SSP; strategic
                 programming; TL",
}

@Article{Wise:2006:GJD,
  author =       "Jon Wise",
  title =        "{GoJava}: a {Java} development tool for beginners",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "3",
  pages =        "359--359",
  month =        sep,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1140123.1140269",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:28 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This is an abstract supporting a demonstration of
                 software developed to help the teaching of Java
                 programming to students without prior experience of
                 computer programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@TechReport{Wright:2006:IJV,
  author =       "Greg Wright and Mario Wolczko and Phil McGachey and
                 Erika Gunadi",
  title =        "Introspection of a {Java Virtual Machine} under
                 Simulation",
  type =         "Technical Report",
  number =       "TR-2006-159",
  institution =  "Sun Microsystems, Inc.",
  address =      "Menlo Park, CA, USA",
  month =        sep,
  year =         "2006",
  bibdate =      "Tue Oct 24 08:05:32 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://research.sun.com/techrep/2006/smli_tr-2006-159.pdf",
  abstract =     "Virtual machines are commonly used in
                 commercially-significant systems, for example, Sun
                 Microsystems' Java and Microsoft's .NET. The virtual
                 machine offers many advantages to the system designer
                 and administrator, but complicates the task of workload
                 characterization: it presents an extra abstraction
                 layer between the application and observed hardware
                 effects. Understanding the behavior of the virtual
                 machine is therefore important for all levels of the
                 system architecture.\par

                 We have constructed a tool which examines the state of
                 a Sun Java HotSpot virtual machine running inside
                 Virtutech's Simics execution-driven simulator. We can
                 obtain detailed information about the virtual machine
                 and application without disturbing the state of the
                 simulation. For data, we can answer such questions as:
                 Is a given address in the heap? If so, in which object?
                 Of what class? For code, we can map program counter
                 values back to Java methods and approximate Java source
                 line information. Our tool allows us to relate
                 individual events in the simulation, for example, a
                 cache miss, to the higher-level behavior of the
                 application and virtual machine.\par

                 In this report, we present the design of our tool,
                 including its capabilities and limitations, and
                 demonstrate its application on the simulation's cache
                 contents and cache misses.",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2006:CCT,
  author =       "Li Xu and Fred G. Martin",
  title =        "Chirp on crickets: teaching compilers using an
                 embedded robot controller",
  journal =      j-SIGCSE,
  volume =       "38",
  number =       "1",
  pages =        "82--86",
  month =        mar,
  year =         "2006",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1124706.1121370",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Traditionally, the topics of compiler construction and
                 language processing have been taught as an elective
                 course in Computer Science curricula. As such, students
                 may graduate with little understanding or experience
                 with the useful techniques embodied in modern compiler
                 construction. In this paper, we present the design of
                 Chirp, a language specification and compiler
                 implementation. As a language, Chirp is based on Java/C
                 syntax conventions and is matched with the stack-based
                 virtual machine that is built into the simple yet
                 versatile Handy Cricket educational robot controller.
                 As a compiler, the Chirp design is a series of Java
                 components. These modules demonstrate key compiler
                 construction techniques including lexing, parsing,
                 intermediate representation, semantic analysis, error
                 handling and code generation. We have designed a 6-week
                 teaching module to be integrated into an
                 intermediate-level undergraduate programming class. In
                 the module, students will incrementally build the Chirp
                 compiler, culminating with code generation for the
                 Cricket controller. They will test their work on both
                 physical Cricket-based robots and a web-based Cricket
                 simulator. The Chirp system and our pedagogical design
                 provides a realistic and engaging environment to teach
                 compilers in undergraduate core programming courses.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Xu:2006:PMP,
  author =       "Jing Xu and Alexandre Oufimtsev and Murray Woodside
                 and Liam Murphy",
  title =        "Performance modeling and prediction of enterprise
                 {JavaBeans} with layered queuing network templates",
  journal =      j-SIGSOFT,
  volume =       "31",
  number =       "2",
  pages =        "5:1--5:??",
  month =        mar,
  year =         "2006",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1108768.1123064",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:15 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Component technologies, such as Enterprise Java Beans
                 (EJB) and {.NET}, are used in enterprise servers with
                 requirements for high performance and scalability. This
                 work considers performance prediction from the design
                 of an EJB system, based on the modular structure of an
                 application server and the application components. It
                 uses layered queueing models, which are naturally
                 structured around the software components. This paper
                 describes a framework for constructing such models,
                 based on layered queue templates for EJBs, and for
                 their inclusion in the server. The resulting model is
                 calibrated and validated by comparison with an actual
                 system.",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Zakhour:2006:JTS,
  editor =       "Sharon Zakhour and Mary Campione and Jacob Royal and
                 Isaac Rabinovitch and Tom Risser and Mark Hoeber",
  title =        "The {Java} tutorial: a short course on the basics",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Fourth",
  pages =        "xxv + 637",
  year =         "2006",
  ISBN =         "0-321-33420-5 (paperback)",
  ISBN-13 =      "978-0-321-33420-6 (paperback)",
  LCCN =         "QA76.73.J38 C365 2006",
  bibdate =      "Wed Apr 25 14:27:43 MDT 2007",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "The Java series",
  URL =          "http://www.loc.gov/catdir/toc/ecip0620/2006028544.html",
  acknowledgement = ack-nhfb,
  remark =       "See also third edition \cite{Campione:2001:JTS}.",
  subject =      "Java (Computer program language)",
}

@Article{Zhang:2006:JEJ,
  author =       "Bao-Yin Zhang and Guang-Wen Yang and Wei-Min Zheng",
  title =        "{Jcluster}: an efficient {Java} parallel environment
                 on a large-scale heterogeneous cluster",
  journal =      j-CCPE,
  volume =       "18",
  number =       "12",
  pages =        "1541--1557",
  month =        oct,
  year =         "2006",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.986",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:07 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "25 Oct 2005",
}

@Article{Zhuang:2006:AEA,
  author =       "Xiaotong Zhuang and Mauricio J. Serrano and Harold W.
                 Cain and Jong-Deok Choi",
  title =        "Accurate, efficient, and adaptive calling context
                 profiling",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "263--271",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133981.1134012",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Calling context profiles are used in many
                 inter-procedural code optimizations and in overall
                 program understanding. Unfortunately, the collection of
                 profile information is highly intrusive due to the high
                 frequency of method calls in most applications.
                 Previously proposed calling-context profiling
                 mechanisms consequently suffer from either low
                 accuracy, high overhead, or both. We have developed a
                 new approach for building the calling context tree at
                 runtime, called adaptive bursting. By selectively
                 inhibiting redundant profiling, this approach
                 dramatically reduces overhead while preserving profile
                 accuracy. We first demonstrate the drawbacks of
                 previously proposed calling context profiling
                 mechanisms. We show that a low-overhead solution using
                 sampled stack-walking alone is less than 50\% accurate,
                 based on degree of overlap with a complete
                 calling-context tree. We also show that a static
                 bursting approach collects a highly accurate profile,
                 but causes an unacceptable application slowdown. Our
                 adaptive solution achieves 85\% degree of overlap and
                 provides an 88\% hot-edge coverage when using a 0.1
                 hot-edge threshold, while dramatically reducing
                 overhead compared to the static bursting approach.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "adaptive; call graph; calling context; calling context
                 tree; Java Virtual Machine; profiling",
}

@Article{Adelmann:2007:IFF,
  author =       "Robert Adelmann and Tobias Bischoff and Tobias Lauer",
  title =        "{IDEA}: a framework for the fast creation of
                 interactive animations by pen sketching",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "291--295",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268868",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "We present a Java-based framework for the easy and
                 on-the-fly creation of algorithm animations. Animations
                 are created by sketching both the objects that should
                 be animated and operations that should be performed on
                 them. The IDEA (Interactive Domain rEcognition and
                 Animation) framework combines the recognition of drawn
                 structures, the interaction with these structures and
                 their animation in order to achieve an effortless and
                 natural creation of animations. The framework itself
                 supports the creation of animations in arbitrary
                 domains through a dynamic plug-in architecture, where
                 so-called domain modules encapsulate all
                 domain-specific semantics. Its application and
                 potential is outlined by the help of three prototypical
                 domain modules for linear lists, Petri nets, and the
                 game Connect-four.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ahern:2007:FJR,
  author =       "Alexander Ahern and Nobuko Yoshida",
  title =        "Formalising {Java RMI} with explicit code mobility",
  journal =      j-THEOR-COMP-SCI,
  volume =       "389",
  number =       "3",
  pages =        "341--410",
  day =          "15",
  month =        dec,
  year =         "2007",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Mon Mar 28 22:12:00 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Article{Ancona:2007:PCT,
  author =       "D. Ancona and C. Anderson and F. Damiani and S.
                 Drossopoulou and P. Giannini and E. Zucca",
  title =        "A provenly correct translation of {Fickle} into
                 {Java}",
  journal =      j-TOPLAS,
  volume =       "29",
  number =       "2",
  pages =        "13:1--13:67",
  month =        apr,
  year =         "2007",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1216374.1216381",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Sat Apr 14 11:13:22 MDT 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present a translation from Fickle, a small
                 object-oriented language allowing objects to change
                 their class at runtime, into Java. The translation is
                 provenly correct in the sense that it preserves the
                 static and dynamic semantics. Moreover, it is
                 compatible with separate compilation, since the
                 translation of a Fickle class does not depend on the
                 implementation of used classes. Based on the formal
                 system, we have developed an implementation.

                 The translation turned out to be a more subtle problem
                 than we expected. In this article, we discuss four
                 possible approaches we considered for the design of the
                 translation and to justify our choice, we present
                 formally the translation and proof of preservation of
                 the static and dynamic semantics, and discuss the
                 prototype implementation. Moreover, we outline an
                 alternative translation based on generics that avoids
                 most of the casts (but not all) needed in the previous
                 translation.

                 The language Fickle has undergone and is still
                 undergoing several phases of development. In this
                 article we are discussing the translation of
                 Fickle$_{\rm II}$.",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Arbe:2007:FLT,
  author =       "Jos{\'e} Miguel Blanco Arbe and Ana S{\'a}nchez Ortega
                 and Jes{\'u}s Ib{\'a}{\~n}ez M{\'a}rtinez-Conde",
  title =        "Formal languages through {Web} forms and regular
                 expressions",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "4",
  pages =        "100--104",
  month =        dec,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1345375.1345424",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:39 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#ArbeOM07;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "We present a practical and up-to-date proposal to
                 teach formal languages. It takes advantage of frequent
                 use of regular-expressions to specify entry data forms
                 in different contexts and, particularly, in three-layer
                 web applications. Compared to more classical approaches
                 our method improves significantly the acquainting of
                 students with the immediate practical utility of the
                 concepts involved in formal language definition.
                 Students must develop code fragments based on
                 JavaScript notation of regular-expressions.
                 Accordingly, any web browser can be a suitable platform
                 for the execution of solutions. The experience has
                 proved to be effective and well-accepted by students
                 and teachers.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Armbruster:2007:RTJ,
  author =       "Austin Armbruster and Jason Baker and Antonio Cunei
                 and Chapman Flack and David Holmes and Filip Pizlo and
                 Edward Pla and Marek Prochazka and Jan Vitek",
  title =        "A real-time {Java} virtual machine with applications
                 in avionics",
  journal =      j-TECS,
  volume =       "7",
  number =       "1",
  pages =        "5:1--5:49",
  month =        dec,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1324969.1324974",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Jun 12 15:21:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper reports on our experience with the
                 implementation of the Real-time Specification for Java
                 on the Ovm open source Java virtual machine. We
                 describe the architecture and main design decisions
                 involved in implementing real-time Java on Ovm. We
                 present the first use of Real-time Java in avionics in
                 the context of control software for a ScanEagle
                 Unmanned Aerial Vehicle.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "avionics; memory management; Real-Time Java; virtual
                 machines",
}

@Article{Auerbach:2007:JTF,
  author =       "Joshua Auerbach and David F. Bacon and Daniel T.
                 Iercan and Christoph M. Kirsch and V. T. Rajan and
                 Harald Roeck and Rainer Trummer",
  title =        "{Java} takes flight: time-portable real-time
                 programming with exotasks",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "7",
  pages =        "51--62",
  month =        jul,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1273444.1254775",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:57:50 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Existing programming methodologies for real-time
                 systems suffer from a low level of abstraction and
                 non-determinism in both the timing and the functional
                 domains. As a result, real-time systems are difficult
                 to test and must be re-certified every time changes are
                 made to either the software or hardware environment.
                 Exotasks are a novel Java programming construct that
                 achieve deterministic timing, even in the presence of
                 other Java threads, and across changes of hardware and
                 software platform. They are deterministic functional
                 data-flow tasks written in Java, combined with an
                 orthogonal scheduling policy based on the logical
                 execution time (LET) model. We have built a quad-rotor
                 model helicopter, the JAviator, which we use as a
                 testbed for this work. We evaluate our implementation
                 of exotasks in IBM's J9 real-time virtual machine using
                 actual flights of the helicopter. Our experiments show
                 that we are able to maintain deterministic behavior in
                 the face of variations in both software load and
                 hardware platform.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "real-time scheduling; time-portability; UAVs; virtual
                 machine",
}

@Article{Bacon:2007:RGC,
  author =       "David F. Bacon",
  title =        "Realtime garbage collection",
  journal =      j-QUEUE,
  volume =       "5",
  number =       "1",
  pages =        "40--49",
  month =        feb,
  year =         "2007",
  CODEN =        "AQCUAE",
  DOI =          "https://doi.org/10.1145/1217256.1217268",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Fri Jun 20 11:15:00 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "It's now possible to develop realtime systems using
                 Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Baduel:2007:ATO,
  author =       "Laurent Baduel and Fran{\c{c}}oise Baude and Denis
                 Caromel",
  title =        "Asynchronous Typed Object Groups for {Grid}
                 Programming",
  journal =      j-INT-J-PARALLEL-PROG,
  volume =       "35",
  number =       "6",
  pages =        "573--614",
  month =        dec,
  year =         "2007",
  CODEN =        "IJPPE5",
  DOI =          "https://doi.org/10.1007/s10766-007-0044-3",
  ISSN =         "0885-7458 (print), 1573-7640 (electronic)",
  ISSN-L =       "0885-7458",
  bibdate =      "Wed Jul 9 16:06:53 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=35&issue=6;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=35&issue=6&spage=573",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Parallel Programming",
  journal-URL =  "http://link.springer.com/journal/10766",
  keywords =     "Group communication; Java middleware; object-oriented
                 parallelism; SPMD programming",
}

@Article{Bagley:2007:CIN,
  author =       "Carole A. Bagley and C. Candace Chou",
  title =        "Collaboration and the importance for novices in
                 learning {Java} computer programming",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "211--215",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268846",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "The authors propose that a correlation exists between
                 collaboration and success by novices when learning
                 computer programming. Research in an introductory
                 course was conducted that focused on answering several
                 questions: At what time in their learning java
                 programming and algorithmic problem solving, would a
                 student benefit best by collaboration? At what time
                 during the problem solving process would the learner
                 benefit greatest by collaboration? Would the student
                 benefit greater by collaborating with 1 student in the
                 class, a group, or an expert mentor/coach? What
                 cognitive and affective strategies are used during
                 various types of collaboration? Does collaboration
                 increase problem solving performance by females. This
                 research will advance fundamental knowledge of teaching
                 and learning of computer science. It will further the
                 understanding of problem solving and strategies used in
                 learning computer programming and whether collaboration
                 is important.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Baker:2007:BLS,
  author =       "Mark Baker and Bryan Carpenter and Aamir Shafi",
  title =        "A Buffering Layer to Support Derived Types and
                 Proprietary Networks for {Java} {HPC}",
  journal =      j-SCPE,
  volume =       "8",
  number =       "4",
  pages =        "343--358",
  month =        dec,
  year =         "2007",
  CODEN =        "????",
  ISSN =         "1895-1767",
  bibdate =      "Thu Sep 2 11:55:11 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/8/4.toc",
  URL =          "http://www.scpe.org/vols/vol08/no4/SCPE_8_4_02.pdf;
                 http://www.scpe.org/vols/vol08/no4/SCPE_8_4_02.zip",
  acknowledgement = ack-nhfb,
}

@Article{Basu:2007:MCJ,
  author =       "Samik Basu and Scott A. Smolka",
  title =        "Model checking the {Java} metalocking algorithm",
  journal =      j-TOSEM,
  volume =       "16",
  number =       "3",
  pages =        "12:1--12:??",
  month =        jul,
  year =         "2007",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1243987.1243990",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Mon Jun 16 11:12:41 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We report on our efforts to use the XMC model checker
                 to model and verify the Java metalocking algorithm. XMC
                 [Ramakrishna et al. 1997] is a versatile and efficient
                 model checker for systems specified in XL, a highly
                 expressive value-passing language. Metalocking [Agesen
                 et al. 1999] is a highly-optimized technique for
                 ensuring mutually exclusive access by threads to object
                 monitor queues and, therefore; plays an essential role
                 in allowing Java to offer concurrent access to objects.
                 Metalocking can be viewed as a two-tiered scheme. At
                 the upper level, the metalock level, a thread waits
                 until it can enqueue itself on an object's monitor
                 queue in a mutually exclusive manner. At the lower
                 level, the monitor-lock level, enqueued threads race to
                 obtain exclusive access to the object. Our abstract XL
                 specification of the metalocking algorithm is fully
                 parameterized, both on the number of threads M, and the
                 number of objects N. It also captures a sophisticated
                 optimization of the basic metalocking algorithm known
                 as extra-fast locking and unlocking of uncontended
                 objects. Using XMC, we show that for a variety of
                 values of M and N, the algorithm indeed provides mutual
                 exclusion and freedom from deadlock and lockout at the
                 metalock level. We also show that, while the
                 monitor-lock level of the protocol preserves mutual
                 exclusion and deadlock-freedom, it is not lockout-free
                 because the protocol's designers chose to give equal
                 preference to awaiting threads and newly arrived
                 threads.",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "Java; metalocking; monitor queues; mutual exclusion;
                 synchronized methods; XMC",
}

@Article{Benaya:2007:UTA,
  author =       "Tamar Benaya and Ela Zur",
  title =        "Understanding threads in an advanced {Java} course",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "323--323",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268890",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "This poster describes difficulties in understanding
                 threads in an Advanced Java course given at the
                 Computer Science department of the Open University of
                 Israel (OUI). We present a typical question which
                 focuses on several aspects of multi-threaded
                 programming given in an exam. We discuss the students'
                 answers and point to typical misunderstandings of the
                 topic.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Bierhoff:2007:MTC,
  author =       "Kevin Bierhoff and Jonathan Aldrich",
  title =        "Modular typestate checking of aliased objects",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "301--320",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297050",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Objects often define usage protocols that clients must
                 follow in order for these objects to work properly.
                 Aliasing makes it notoriously difficult to check
                 whether clients and implementations are compliant with
                 such protocols. Accordingly, existing approaches either
                 operate globally or severely restrict aliasing.\par

                 We have developed a sound modular protocol checking
                 approach, based on typestates, that allows a great deal
                 of flexibility in aliasing while guaranteeing the
                 absence of protocol violations at runtime. The main
                 technical contribution is a novel abstraction, access
                 permissions, that combines typestate and object
                 aliasing information. In our methodology, developers
                 express their protocol design intent through
                 annotations based on access permissions. Our checking
                 approach then tracks permissions through method
                 implementations. For each object reference the checker
                 keeps track of the degree of possible aliasing and is
                 appropriately conservative in reasoning about that
                 reference. This helps developers account for object
                 manipulations that may occur through aliases. The
                 checking approach handles inheritance in a novel way,
                 giving subclasses more flexibility in method
                 overriding. Case studies on Java iterators and streams
                 provide evidence that access permissions can model
                 realistic protocols, and protocol checking based on
                 access permissions can be used to reason precisely
                 about the protocols that arise in practice.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aliasing; behavioral subtyping; linear logic;
                 permissions; typestates",
}

@Article{Blackburn:2007:PBP,
  author =       "Stephen M. Blackburn and Matthew Hertz and Kathryn S.
                 Mckinley and J. Eliot B. Moss and Ting Yang",
  title =        "Profile-based pretenuring",
  journal =      j-TOPLAS,
  volume =       "29",
  number =       "1",
  pages =        "2:1--2:57",
  month =        jan,
  year =         "2007",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1180475.1180477",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Sat Apr 14 11:13:22 MDT 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Pretenuring can reduce copying costs in garbage
                 collectors by allocating long-lived objects into
                 regions that the garbage collector will rarely, if
                 ever, collect. We extend previous work on pretenuring
                 as follows: (1) We produce pretenuring advice that is
                 neutral with respect to the garbage collector algorithm
                 and configuration. We thus can and do combine advice
                 from different applications. We find for our benchmarks
                 that predictions using object lifetimes at each
                 allocation site in Java programs are accurate, which
                 simplifies the pretenuring implementation. (2) We
                 gather and apply advice to both applications and Jikes
                 RVM, a compiler and runtime system for Java written in
                 Java. Our results demonstrate that building combined
                 advice into Jikes RVM from different application
                 executions improves performance, regardless of the
                 application Jikes RVM is compiling and executing. This
                 build-time advice thus gives user applications some
                 benefits of pretenuring, without any application
                 profiling. No previous work uses profile feedback to
                 pretenure in the runtime system. (3) We find that
                 application-only advice also consistently improves
                 performance, but that the combination of build-time and
                 application-specific advice is almost always noticeably
                 better. (4) Our same advice improves the performance of
                 generational, Older First, and Beltway collectors,
                 illustrating that it is collector neutral. (5) We
                 include an immortal allocation space in addition to a
                 nursery and older generation, and show that pretenuring
                 to immortal space has substantial benefit.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{Bohnenkamp:2007:SGJ,
  author =       "Wendy Bohnenkamp and Jackie Iverson",
  title =        "{SAS} Graphics for {Java}: examples using {SAS}
                 {AppDev} studio and the {Output} delivery system",
  publisher =    pub-SAS,
  address =      pub-SAS:adr,
  pages =        "xii + 342",
  year =         "2007",
  ISBN =         "1-59047-693-X",
  ISBN-13 =      "978-1-59047-693-2",
  LCCN =         "HA31 .B645 2007",
  bibdate =      "Wed Jul 9 11:15:29 MDT 2014",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sas.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "SAS Press series",
  acknowledgement = ack-nhfb,
  subject =      "SAS (Computer file); SAS/GRAPH; Statistics; Graphic
                 methods; Java (Computer program language)",
  tableofcontents = "Part 1. SAS AppDevStudio: Getting started with SAS
                 AppDev Studio \\
                 SAS AppDev Studio custom tags and attributes for basic
                 graphs \\
                 SAS AppDev Studio 3 graph model tags \\
                 Nested tags for graph models \\
                 Supporting tags \\
                 Part 2. Output delivery system: Important concepts for
                 getting started with ODS and Java \\
                 Creating graphs \\
                 Parameters for colors \\
                 Parameters for text \\
                 Other parameters \\
                 Part 3. Putting it together: Final reports \\
                 Appendix",
}

@Article{Bond:2007:PCC,
  author =       "Michael D. Bond and Kathryn S. McKinley",
  title =        "Probabilistic calling context",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "97--112",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297035",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Calling context enhances program understanding and
                 dynamic analyses by providing a rich representation of
                 program location. Compared to imperative programs,
                 object-oriented programs use more interprocedural and
                 less intraprocedural control flow, increasing the
                 importance of context sensitivity for analysis.
                 However, prior online methods for computing calling
                 context, such as stack-walking or maintaining the
                 current location in a calling context tree, are
                 expensive in time and space. This paper introduces a
                 new online approach called probabilistic calling
                 context (PCC) that continuously maintains a
                 probabilistically unique value representing the current
                 calling context. For millions of unique contexts, a
                 32-bit PCC value has few conflicts. Computing the PCC
                 value adds 3\% average overhead to a Java virtual
                 machine. PCC is well-suited to clients that detect new
                 or anomalous behavior since PCC values from training
                 and production runs can be compared easily to detect
                 new context-sensitive behavior; clients that query the
                 PCC value at every system call, Java utility call, and
                 Java API call add 0-9\% overhead on average. PCC adds
                 space overhead proportional to the distinct contexts
                 stored by the client (one word per context). Our
                 results indicate PCC is efficient and accurate enough
                 to use in deployed software for residual testing, bug
                 detection, and intrusion detection.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "anomaly-based bug detection; calling context; dynamic
                 context sensitivity; intrusion detection; managed
                 languages; probabilistic; residual testing",
}

@Article{Bond:2007:TBA,
  author =       "Michael D. Bond and Nicholas Nethercote and Stephen W.
                 Kent and Samuel Z. Guyer and Kathryn S. McKinley",
  title =        "Tracking bad apples: reporting the origin of null and
                 undefined value errors",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "405--422",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297057",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Programs sometimes crash due to unusable values, for
                 example, when Java and C\# programs dereference null
                 pointers and when C and C++ programs use undefined
                 values to affect program behavior. A stack trace
                 produced on such a crash identifies the effect of the
                 unusable value, not its cause, and is often not much
                 help to the programmer.\par

                 This paper presents efficient origin tracking of
                 unusable values; it shows how to record where these
                 values come into existence, correctly propagate them,
                 and report them if they cause an error. The key idea is
                 value piggybacking: when the original program stores an
                 unusable value, value piggybacking instead stores
                 origin information in the spare bits of the unusable
                 value. Modest compiler support alters the program to
                 propagate these modified values through operations such
                 as assignments and comparisons. We evaluate two
                 implementations: the first tracks null pointer origins
                 in a JVM, and the second tracks undefined value origins
                 in a memory-checking tool built with Valgrind. These
                 implementations show that origin tracking via value
                 piggybacking is fast and often useful, and in the Java
                 case, has low enough overhead for use in a production
                 environment.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "debugging; Java; low-overhead run-time support;
                 managed languages; null pointer exceptions; undefined
                 values; valgrind",
}

@Article{Bower:2007:GAS,
  author =       "Matt Bower",
  title =        "Groupwork activities in synchronous online classroom
                 spaces",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "91--95",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227345",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper shares insights about the deployment of
                 groupwork activities in synchronous online classroom
                 spaces. It is based upon analysis of 48 hours of online
                 lesson recordings from an Introduction to Programming
                 (in Java) subject conducted over two semesters. Key
                 observations are shared about how factors such as the
                 type of the activity, the level of student
                 technological and communicative competencies, the
                 interface design and the task specification influenced
                 discourse and learning. On this basis recommendations
                 for teaching using virtual classroom groupwork are
                 offered in order to assist academics who may be
                 considering similar approaches to teaching online.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Brittain:2007:TDG,
  author =       "Jason Brittain and Ian F. Darwin",
  title =        "{Tomcat}: the definitive guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xvi + 476",
  year =         "2007",
  ISBN =         "0-596-10106-6 (paperback)",
  ISBN-13 =      "978-0-596-10106-0 (paperback)",
  LCCN =         "TK5105.8885.A63 B75 2008",
  bibdate =      "Tue Aug 5 17:49:45 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596101060",
  acknowledgement = ack-nhfb,
  remark =       "Previous edition 2003.",
  subject =      "JavaServer Pages (Computer file); Jakarta Tomcat
                 (Computer file); Web servers; Servlets",
}

@Article{Brosgol:2007:AOS,
  author =       "Ben Brosgol and Mario Aldea",
  title =        "{Ada} and other standards: Introduction",
  journal =      j-SIGADA-LETTERS,
  volume =       "27",
  number =       "2",
  pages =        "88--89",
  month =        aug,
  year =         "2007",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1316002.1316023",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 09:17:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The main goals of this session were to:\par

                 $ \bullet $ consider whether a new binding between Ada
                 and POSIX is needed/desirable\par

                 $ \bullet $ look at current efforts to update POSIX and
                 'Real-Time Java' in terms of impact on or 'lessons
                 learned' for Ada",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Brosgol:2007:SLS,
  author =       "Ben Brosgol",
  title =        "{SA2}: languages for safety-critical software: issues
                 and assessment",
  journal =      j-SIGADA-LETTERS,
  volume =       "27",
  number =       "3",
  pages =        "2--2",
  month =        dec,
  year =         "2007",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1315580.1315583",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 09:18:04 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This intermediate-level tutorial is aimed at people
                 with a technical background in software development. No
                 previous experience with safety-critical standards is
                 required. Some familiarity with one or more of C, C++,
                 Ada, or Java would be useful.\par

                 Safety-critical systems (whose anomalous behavior could
                 cause catastrophic or major failure involving loss of
                 life) are becoming increasingly prevalent. Standards
                 such as DO-178B, originally developed for commercial
                 avionics, are attracting attention in other segments.
                 The requirement to comply with such standards imposes
                 constraints (on quality assurance, traceability, etc. )
                 much beyond what is typical for
                 Commercial-Off-The-Shelf Software. One of the major
                 decisions that affects safety certification is the
                 choice of programming language(s). Specific language
                 features, either by their presence of absence, may make
                 certification easier or harder. (Practicalities such as
                 tool support and programmer experience are of course
                 also important but are outside the scope of the
                 tutorial).\par

                 This tutorial first summarizes existing safety
                 standards, with a focus on DO-178B, and explains how
                 they affect the requirements on a programming language.
                 It specifically addresses the challenges imposed by
                 Object-Oriented Technology and summarizes the work
                 currently underway on DO-178C. The tutorial then
                 assesses three language technologies -- C (including
                 C++), Ada, and Java - with respect to suitability for
                 meeting these requirements through appropriate
                 subsetting. MISRA C, SPARK, and the in-progress
                 Safety-Critical Java Technology are specifically
                 identified and reviewed.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Budimlic:2007:ICJ,
  author =       "Zoran Budimli{\'c} and Mackale Joyner and Ken
                 Kennedy",
  title =        "Improving Compilation of {Java} Scientific
                 Applications",
  journal =      j-IJHPCA,
  volume =       "21",
  number =       "3",
  pages =        "251--265",
  month =        aug,
  year =         "2007",
  CODEN =        "IHPCFL",
  DOI =          "https://doi.org/10.1177/1094342007078437",
  ISSN =         "1094-3420 (print), 1741-2846 (electronic)",
  ISSN-L =       "1094-3420",
  bibdate =      "Tue Aug 31 09:59:45 MDT 2010",
  bibsource =    "http://hpc.sagepub.com/content/21/3.toc;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://hpc.sagepub.com/content/21/3/251.full.pdf+html",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://hpc.sagepub.com/content/by/year",
}

@Book{Burns:2007:DJG,
  author =       "Brendan Burns",
  title =        "{Darkstar}: The {Java Game Server}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2007",
  ISBN =         "0-596-51484-0",
  ISBN-13 =      "978-0-596-51484-6",
  LCCN =         "QA76.73.J38 B87 2007eb; QA76.73.J38",
  bibdate =      "Tue Aug 5 17:58:34 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "O'Reilly shortcuts",
  URL =          "http://www.oreilly.com/catalog/9780596514846",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Computer games;
                 Interactive multimedia",
}

@Article{Buytaert:2007:UHS,
  author =       "Dries Buytaert and Andy Georges and Michael Hind and
                 Matthew Arnold and Lieven Eeckhout and Koen {De
                 Bosschere}",
  title =        "Using {HPM}-sampling to drive dynamic compilation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "553--568",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297068",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "All high-performance production JVMs employ an
                 adaptive strategy for program execution. Methods are
                 first executed unoptimized and then an online profiling
                 mechanism is used to find a subset of methods that
                 should be optimized during the same execution. This
                 paper empirically evaluates the design space of several
                 profilers for initiating dynamic compilation and shows
                 that existing online profiling schemes suffer from
                 several limitations. They provide an insufficient
                 number of samples, are untimely, and have limited
                 accuracy at determining the frequently executed
                 methods. We describe and comprehensively evaluate
                 HPM-sampling, a simple but effective profiling scheme
                 for finding optimization candidates using hardware
                 performance monitors (HPMs) that addresses the
                 aforementioned limitations. We show that HPM-sampling
                 is more accurate; has low overhead; and improves
                 performance by 5.7\% on average and up to 18.3\% when
                 compared to the default system in Jikes RVM, without
                 changing the compiler.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "hardware performance monitors; Java; just-in-time
                 compilation; profiling",
}

@Article{Cameron:2007:MO,
  author =       "Nicholas R. Cameron and Sophia Drossopoulou and James
                 Noble and Matthew J. Smith",
  title =        "Multiple ownership",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "441--460",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297060",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Existing ownership type systems require objects to
                 have precisely one primary owner, organizing the heap
                 into an ownership tree. Unfortunately, a tree structure
                 is too restrictive for many programs, and prevents many
                 common design patterns where multiple objects
                 interact.\par

                 Multiple Ownership is an ownership type system where
                 objects can have more than one owner, and the resulting
                 ownership structure forms a DAG. We give a
                 straightforward model for multiple ownership, focusing
                 in particular on how multiple ownership can support a
                 powerful effects system that determines when two
                 computations interfere-in spite of the DAG
                 structure.\par

                 We present a core programming language MOJO, Multiple
                 ownership for Java-like Objects, including a type and
                 effects system, and soundness proof. In comparison to
                 other systems, MOJO imposes absolutely no restrictions
                 on pointers, modifications or programs' structure, but
                 in spite of this, MOJO's effects can be used to reason
                 about or describe programs' behaviour.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "effects; ownership types; type and effect systems",
}

@Book{Carroll:2007:IMA,
  author =       "Bradley W. Carroll and Dale A. Ostlie",
  title =        "An Introduction to Modern Astrophysics",
  publisher =    "Pearson Addison-Wesley",
  address =      "San Francisco, CA, USA",
  edition =      "Second",
  pages =        "????",
  year =         "2007",
  ISBN =         "0-8053-0402-9, 0-321-44284-9 (paperback)",
  ISBN-13 =      "978-0-8053-0402-2, 978-0-321-44284-0 (paperback)",
  LCCN =         "QB461 .C35 2007",
  bibdate =      "Fri Jun 1 07:54:59 MDT 2012",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 http://www.math.utah.edu/pub/bibnet/authors/b/bohr-niels.bib;
                 http://www.math.utah.edu/pub/bibnet/authors/g/gamow-george.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://catdir.loc.gov/catdir/toc/ecip0613/2006015391.html;
                 http://www.gbv.de/dms/ilmenau/toc/512485305.PDF",
  abstract =     "An Introduction to Modern Astrophysics, Second Edition
                 has been thoroughly revised to reflect the dramatic
                 changes and advancements in astrophysics that have
                 occurred over the past decade. The Second Edition of
                 this market-leading book has been updated to include
                 the latest results from relevant fields of astrophysics
                 and advances in our theoretical understanding of
                 astrophysical phenomena. The Tools of Astronomy: The
                 Celestial Sphere, Celestial Mechanics, The Continuous
                 Spectrum of Light, The Theory of Special Relativity,
                 The Interaction of Light and Matter, Telescopes; The
                 Nature of Stars: Binary Systems and Stellar Parameters,
                 The Classification of Stellar Spectra, Stellar
                 Atmospheres, The Interiors of Stars, The Sun, The
                 Process of Star Formation, Post-Main-Sequence Stellar
                 Evolution, Stellar Pulsation, Supernovae, The
                 Degenerate Remnants of Stars, Black Holes, Close Binary
                 Star Systems; Planetary Systems: Physical Processes in
                 the Solar System, The Terrestrial Planets, The Jovian
                 Worlds, Minor Bodies of the Solar System, The Formation
                 of Planetary Systems; Galaxies and the Universe: The
                 Milky Way Galaxy, The Nature of Galaxies, Galactic
                 Evolution, The Structure of the Universe, Active
                 Galaxies, Cosmology, The Early Universe; Astronomical
                 and Physical Constants, Unit Conversions Between SI and
                 cgs, Solar System Data, The Constellations, The
                 Brightest Stars, The Nearest Stars, Stellar Data, The
                 Messier Catalog, Constants, A Constants Module for
                 Fortran 95 (Available as a C++ header file), Orbits, A
                 Planetary Orbit Code (Available as Fortran 95 and C++
                 command line versions, and Windows GUI), TwoStars, A
                 Binary Star Code (Generates synthetic light and radial
                 velocity curves; available as Fortran 95 and C++
                 command line versions, and Windows GUI), StatStar, A
                 Stellar Structure Code (Available as Fortran 95 and C++
                 command line versions, and Windows GUI), StatStar,
                 Stellar Models, Galaxy, A Tidal Interaction Code
                 (Available as Java), WMAP Data. For all readers
                 interested in morden astrophysics.",
  acknowledgement = ack-nhfb,
  subject =      "Astrophysics; Textbooks",
  tableofcontents = "I The Tools of Astronomy 1 \\
                 1 The Celestial Sphere 2 \\
                 1.1 The Greek Tradition 2 \\
                 1.2 The Copernican Revolution 5 \\
                 1.3 Positions on the Celestial Sphere 8 \\
                 1.4 Physics and Astronomy 19 \\
                 2 Celestial Mechanics 23 \\
                 2.1 Elliptical Orbits 23 \\
                 2.2 Newtonian Mechanics 29 \\
                 2.3 Kepler's Laws Derived 39 \\
                 2.4 The Virial Theorem 50 \\
                 3 The Continuous Spectrum of Light 57 \\
                 3.1 Stellar Parallax 57 \\
                 3.2 The Magnitude Scale 60 \\
                 3.3 The Wave Nature of Light 63 \\
                 3.4 Blackbody Radiation 68 \\
                 3.5 The Quantization of Energy 71 \\
                 3.6 The Color Index 75 \\
                 4 The Theory of Special Relativity 84 \\
                 4.1 The Failure of the Galilean Transformations 84 \\
                 4.2 The Lorentz Transformations 87 \\
                 4.3 Time and Space in Special Relativity 92 \\
                 4.4 Relativistic Momentum and Energy 102 \\
                 5 The Interaction of Light and Matter 111 \\
                 5.1 Spectral Lines 111 \\
                 5.2 Photons 116 \\
                 5.3 The Bohr Model of the Atom 119 \\
                 5.4 Quantum Mechanics and Wave-Particle Duality 127 \\
                 6 Telescopes 141 \\
                 6.1 Basic Optics 141 \\
                 6.2 Optical Telescopes 154 \\
                 6.3 Radio Telescopes 161 \\
                 6.4 Infrared, Ultraviolet, X-ray, and Gamma-Ray
                 Astronomy 167 \\
                 6.5 All-Sky Surveys and Virtual Observatories 170 \\
                 II The Nature of Stars 179 \\
                 7 Binary Systems and Stellar Parameters 180 \\
                 7.1 The Classification of Binary Stars 180 \\
                 7.2 Mass Determination Using Visual Binaries 183 \\
                 7.3 Eclipsing, Spectroscopic Binaries 186 \\
                 7.4 The Search for Extrasolar Planets 195 \\
                 8 The Classification of Stellar Spectra 202 \\
                 8.1 The Formation of Spectral Lines 202 \\
                 8.2 The Hertzsprung-Russell Diagram 219 \\
                 9 Stellar Atmospheres 231 \\
                 9.1 The Description of the Radiation Field 231 \\
                 9.2 Stellar Opacity 238 \\
                 9.3 Radiative Transfer 251 \\
                 9.4 The Transfer Equation 255 \\
                 9.5 The Profiles of Spectral Lines 267 \\
                 10 The Interiors of Stars 284 \\
                 10.1 Hydrostatic Equilibrium 284 \\
                 10.2 Pressure Equation of State 288 \\
                 10.3 Stellar Energy Sources 296 \\
                 10.4 Energy Transport and Thermodynamics 315 \\
                 10.5 Stellar Model Building 329 \\
                 10.6 The Main Sequence 340 \\
                 11 The Sun 349 \\
                 11.1 The Solar Interior 349 \\
                 11.2 The Solar Atmosphere 360 \\
                 11.3 The Solar Cycle 381 \\
                 12 The Interstellar Medium and Star Formation 398 \\
                 12.1 Interstellar Dust and Gas 398 \\
                 12.2 The Formation of Protostars 412 \\
                 12.3 Pre-Main-Sequence Evolution 425 \\
                 13 Main Sequence and Post-Main-Sequence Stellar
                 Evolution 446 \\
                 13.1 Evolution on the Main Sequence 446 \\
                 13.2 Late Stages of Stellar Evolution 457 \\
                 13.3 Stellar Clusters 474 \\
                 14 Stellar Pulsation 483 \\
                 14.1 Observations of Pulsating Stars 483 \\
                 14.2 The Physics of Stellar Pulsation 491 \\
                 14.3 Modeling Stellar Pulsation 499 \\
                 14.4 Nonradial Stellar Pulsation 503 \\
                 14.5 Helioseismology and Asteroseismology 509 \\
                 15 The Fate of Massive Stars 518 \\
                 15.1 Post-Main-Sequence Evolution of Massive Stars 518
                 \\
                 15.2 The Classification of Supernovae 524 \\
                 15.3 Core-Collapse Supernovae 529 \\
                 15.4 Gamma-Ray Bursts 543 \\
                 15.5 Cosmic Rays 550 \\
                 16 The Degenerate Remnants of Stars 557 \\
                 16.1 The Discovery of Sirius B 557 \\
                 16.2 White Dwarfs 559 \\
                 16.3 The Physics of Degenerate Matter 563 \\
                 16.4 The Chandrasekhar Limit 569 \\
                 16.5 The Cooling of White Dwarfs 572 \\
                 16.6 Neutron Stars 578 \\
                 16.7 Pulsars 586 \\
                 17 General Relativity and Black Holes 609 \\
                 17.1 The General Theory of Relativity 609 \\
                 17.2 Intervals and Geodesics 622 \\
                 17.3 Black Holes 633 \\
                 18 Close Binary Star Systems 653 \\
                 18.1 Gravity in a Close Binary Star System 653 \\
                 18.2 Accretion Disks 661 \\
                 18.3 A Survey of Interacting Binary Systems 668 \\
                 18.4 White Dwarfs in Semidetached Binaries 673 \\
                 18.5 Type Ia Supernovae 686 \\
                 18.6 Neutron Stars and Black Holes in Binaries 689 \\
                 III The Solar System 713 \\
                 19 Physical Processes in the Solar System 714 \\
                 19.1 A Brief Survey 714 \\
                 19.2 Tidal Forces 719 \\
                 19.3 The Physics of Atmospheres 724 \\
                 20 The Terrestrial Planets 737 \\
                 20.1 Mercury 737 \\
                 20.2 Venus 740 \\
                 20.3 Earth 745 \\
                 20.4 The Moon 754 \\
                 20.5 Mars 762 \\
                 21 The Realms of the Giant Planets 775 \\
                 21.1 The Giant Worlds 775 \\
                 21.2 The Moons of the Giants 790 \\
                 21.3 Planetary Ring Systems 801 \\
                 22 Minor Bodies of the Solar System 813 \\
                 22.1 Pluto and Charon 813 \\
                 22.2 Comets and Kuiper Belt Objects 816 \\
                 22.3 Asteroids 830 \\
                 22.4 Meteorites 838 \\
                 23 Formation of Planetary Systems 848 \\
                 23.1 Characteristics of Extrasolar Planetary Systems
                 848 \\
                 23.2 Planetary System Formation and Evolution 857 \\
                 IV Galaxies and the Universe 873 \\
                 24 The Milky Way Galaxy 874 \\
                 24.1 Counting the Stars in the Sky 874 \\
                 24.2 The Morphology of the Galaxy 881 \\
                 24.3 The Kinematics of the Milky Way 898 \\
                 24.4 The Galactic Center 922 \\
                 25 The Nature of Galaxies 940 \\
                 25.1 The Hubble Sequence 940 \\
                 25.2 Spiral and Irregular Galaxies 948 \\
                 25.3 Spiral Structure 964 \\
                 25.4 Elliptical Galaxies 983 \\
                 26 Galactic Evolution 999 \\
                 26.1 Interactions of Galaxies 999 \\
                 26.2 The Formation of Galaxies 1016 \\
                 27 The Structure of the Universe 1038 \\
                 27.1 The Extragalactic Distance Scale 1038 \\
                 27.2 The Expansion of the Universe 1052 \\
                 27.3 Clusters of Galaxies 1058 \\
                 28 Active Galaxies 1085 \\
                 28.1 Observations of Active Galaxies 1085 \\
                 28.2 A Unified Model of Active Galactic Nuclei 1108 \\
                 28.3 Radio Lobes and Jets 1122 \\
                 28.4 Using Quasars to Probe the Universe 1130 \\
                 29 Cosmology 1144 \\
                 29.1 Newtonian Cosmology 1144 \\
                 29.2 The Cosmic Microwave Background 1162 \\
                 29.3 Relativistic Cosmology 1183 \\
                 29.4 Observational Cosmology 1199 \\
                 30 The Early Universe 1230 \\
                 30.1 The Very Early Universe and Inflation 1230 \\
                 30.2 The Origin of Structure 1247 \\
                 A Astronomical and Physical Constants \\
                 B Unit Conversions \\
                 C Solar System Data A-1 \\
                 D The Constellations A-3 \\
                 E The Brightest Stars A-5 \\
                 F The Nearest Stars A-7 \\
                 G Stellar Data A-9 \\
                 H The Messier Catalog A-13 \\
                 I Constants, A Programming Module A-16 \\
                 J Orbit, A Planetary Orbit Code A-17 \\
                 K TwoStars, A Binary Star Code A-18 \\
                 L StatStar, A Stellar Structure Code A-23 \\
                 M Galaxy, A Tidal Interaction Code A-26 \\
                 N WMAP Data A-29",
}

@Book{Chambers:2007:AIR,
  author =       "Mike Chambers and Daniel Dura and Kevin Hoyt",
  title =        "{Adobe Integrated Runtime} ({Air}): for {Javascript}
                 Developers Pocket Guide",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xix + 154",
  year =         "2007",
  ISBN =         "0-596-51519-7",
  ISBN-13 =      "978-0-596-51519-5",
  LCCN =         "QA76.625; QA76.625 .C42 2007eb",
  bibdate =      "Tue Aug 5 17:59:34 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "Adobe developer library",
  URL =          "http://www.oreilly.com/catalog/9780596515195",
  abstract =     "A guide to the Beta release of Adobe Integrated
                 Runtime explains how to build and deploy HTML and
                 JavaScript-based Web applications to the desktop.",
  acknowledgement = ack-nhfb,
  subject =      "Internet programming; Application software;
                 Development; Web site development; Computer programs;
                 JavaScript (Computer program language)",
}

@Article{Chen:2007:MEG,
  author =       "Feng Chen and Grigore Ro{\c{s}}u",
  title =        "{MOP}: an efficient and generic runtime verification
                 framework",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "569--588",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297069",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Monitoring-Oriented Programming (MOP1) [21, 18, 22,
                 19] is a formal framework for software development and
                 analysis, in which the developer specifies desired
                 properties using definable specification formalisms,
                 along with code to execute when properties are violated
                 or validated. The MOP framework automatically generates
                 monitors from the specified properties and then
                 integrates them together with the user-defined code
                 into the original system.\par

                 The previous design of MOP only allowed specifications
                 without parameters, so it could not be used to state
                 and monitor safety properties referring to two or more
                 related objects. In this paper we propose a parametric
                 specification formalism-independent extension of MOP,
                 together with an implementation of JavaMOP that
                 supports parameters. In our current implementation,
                 parametric specifications are translated into AspectJ
                 code and then weaved into the application using
                 off-the-shelf AspectJ compilers; hence, MOP
                 specifications can be seen as formal or logical
                 aspects.\par

                 Our JavaMOP implementation was extensively evaluated on
                 two benchmarks, Dacapo [14] and Tracematches [8],
                 showing that runtime verification in general and MOP in
                 particular are feasible. In some of the examples,
                 millions of monitor instances are generated, each
                 observing a set of related objects. To keep the runtime
                 overhead of monitoring and event observation low, we
                 devised and implemented a decentralized indexing
                 optimization. Less than 8\% of the experiments showed
                 more than 10\% runtime overhead; in most cases our tool
                 generates monitoring code as efficient as the
                 hand-optimized code. Despite its genericity, JavaMOP is
                 empirically shown to be more efficient than runtime
                 verification systems specialized and optimized for
                 particular specification formalisms. Many property
                 violations were detected during our experiments; some
                 of them are benign, others indicate defects in
                 programs. Many of these are subtle and hard to find by
                 ordinary testing.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aspect-oriented programming; monitoring-oriented
                 programming; runtime verification",
}

@Article{Chen:2007:TPB,
  author =       "Hsiang-Yang Chen and Ting-Wei Hou and Chun-Liang Lin",
  title =        "Tamper-proofing basis path by using oblivious hashing
                 on {Java}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "2",
  pages =        "9--16",
  month =        feb,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1241761.1241762",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:01 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java programs are often downloaded (distributed) to
                 unknown environments, so protect Java code from
                 malicious modification is an important issue. This
                 paper presents a tamper-proofing software technology on
                 basis paths for stack-machine based languages, such as
                 Java, by improving Oblivious Hashing. Our approach is
                 based on a new dynamic stack-tracing approach which
                 inserts hash instructions to monitor the top of the
                 stack to check whether the program running has been
                 tampered with or not. A user can choose one or more
                 methods in a class to tamper-proof program. The
                 protective codes are added to basic blocks at the
                 bytecode level. We developed a new approach to protect
                 constants and variables by alternative hashing
                 functions. The overhead is proportional to the number
                 of Load and Push instructions to be protected.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "basis paths; Java; oblivious hashing;
                 tamper-proofing",
}

@Article{Chong:2007:SWA,
  author =       "Stephen Chong and Jed Liu and Andrew C. Myers and Xin
                 Qi and K. Vikram and Lantian Zheng and Xin Zheng",
  title =        "Secure {Web} application via automatic partitioning",
  journal =      j-OPER-SYS-REV,
  volume =       "41",
  number =       "6",
  pages =        "31--44",
  month =        dec,
  year =         "2007",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1323293.1294265",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:18:34 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Swift is a new, principled approach to building web
                 applications that are secure by construction. In modern
                 web applications, some application functionality is
                 usually implemented as client-side code written in
                 JavaScript. Moving code and data to the client can
                 create security vulnerabilities, but currently there
                 are no good methods for deciding when it is secure to
                 do so. Swift automatically partitions application code
                 while providing assurance that the resulting placement
                 is secure and efficient. Application code is written as
                 Java-like code annotated with information flow policies
                 that specify the confidentiality and integrity of web
                 application information. The compiler uses these
                 policies to automatically partition the program into
                 JavaScript code running in the browser, and Java code
                 running on the server. To improve interactive
                 performance, code and data are placed on the client
                 side. However, security-critical code and data are
                 always placed on the server. Code and data can also be
                 replicated across the client and server, to obtain both
                 security and performance. A max-flow algorithm is used
                 to place code and data in a way that minimizes
                 client-server communication.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "compilers; information flow; security policies",
}

@Article{Collberg:2007:ESJ,
  author =       "Christian Collberg and Ginger Myles and Michael
                 Stepp",
  title =        "An empirical study of {Java} bytecode programs",
  journal =      j-SPE,
  volume =       "37",
  number =       "6",
  pages =        "581--641",
  month =        may,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.776",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:15 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "24 Oct 2006",
}

@Article{Contreras:2007:XPP,
  author =       "Gilberto Contreras and Margaret Martonosi and Jinzhang
                 Peng and Guei-Yuan Lueh and Roy Ju",
  title =        "The {XTREM} power and performance simulator for the
                 {Intel XScale} core: {Design} and experiences",
  journal =      j-TECS,
  volume =       "6",
  number =       "1",
  pages =        "4:1--4:??",
  month =        feb,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1210268.1210272",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Jun 12 15:20:58 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Managing power concerns in microprocessors has become
                 a pressing research problem across the domains of
                 computer architecture, CAD, and compilers. As a result,
                 several parameterized cycle-level power simulators have
                 been introduced. While these simulators can be quite
                 useful for microarchitectural studies, their generality
                 limits how accurate they can be for any one chip
                 family. Furthermore, their hardware focus means that
                 they do not explicitly enable studying the interaction
                 of different software layers, such as Java applications
                 and their underlying runtime system software. This
                 paper describes and evaluates XTREM, a power-simulation
                 tool tailored for the Intel XScale microarchitecture.
                 In building XTREM, our goals were to develop a
                 microarchitecture simulator that, while still offering
                 size parameterizations for cache and other structures,
                 more accurately reflected a realistic processor
                 pipeline. We present a detailed set of validations
                 based on multimeter power measurements and hardware
                 performance counter sampling. XTREM exhibits an average
                 performance error of only 6.5\% and an even smaller
                 average power error: 4\%. The paper goes on to present
                 an application study enabled by the simulator. Namely,
                 we use XTREM to produce an energy consumption breakdown
                 for Java CDC and CLDC applications. Our simulator
                 measurements indicate that a large percentage of the
                 total energy consumption (up to 35\%) is devoted to the
                 virtual machine's support functions.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "Intel XScale technology; Java; power measurements;
                 power modeling",
}

@Article{Counsell:2007:QMD,
  author =       "Steve Counsell and George Loizou and Rajaa Najjar",
  title =        "Quality of manual data collection in {Java} software:
                 an empirical investigation",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "12",
  number =       "3",
  pages =        "275--293",
  month =        jun,
  year =         "2007",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-006-9028-y",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Fri Dec 2 09:14:01 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/accesspage/article/10.1007/s10664-006-9028-y",
  acknowledgement = ack-nhfb,
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
}

@Article{Cross:2007:DOV,
  author =       "James H. {Cross II} and T. Dean Hendrix and Jhilmil
                 Jain and Larry A. Barowski",
  title =        "Dynamic object viewers for data structures",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "4--8",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227316",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The jGRASP lightweight IDE has been extended to
                 provide object viewers that automatically generate
                 dynamic, state-based visualizations of data structures
                 in Java. These viewers provide multiple synchronized
                 visualizations of data structures as the user steps
                 through the source code in either debug or workbench
                 mode. This tight integration in a lightweight IDE
                 provides a unique and promising environment for
                 learning data structures. Initial classroom use has
                 demonstrated the object viewers' potential as an aid to
                 students who are learning to write and modify classes
                 representing data structures. Recently completed
                 controlled experiments with CS2 students indicate that
                 these viewers can have a significant positive impact on
                 student performance.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Curioso:2007:AP,
  author =       "Andrew G. Curioso",
  title =        "{Ajax} with {PHP 5}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2007",
  ISBN =         "0-596-51403-4",
  ISBN-13 =      "978-0-596-51403-7",
  LCCN =         "TK5105.8885.A52 C87 2007eb; TK5105.8885.A52",
  bibdate =      "Tue Aug 5 17:56:38 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596514037",
  acknowledgement = ack-nhfb,
  subject =      "Ajax (Web site development technology); JavaScript
                 (Computer program language); PHP (Computer program
                 language); Web site development",
}

@Book{Darwin:2007:CJP,
  author =       "Ian F. Darwin",
  title =        "Checking {Java} programs",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "54",
  year =         "2007",
  ISBN =         "0-596-51023-3",
  ISBN-13 =      "978-0-596-51023-7",
  LCCN =         "QA76.73.J38eb; QA76.73.J38",
  bibdate =      "Tue Aug 5 17:54:02 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596510237",
  acknowledgement = ack-nhfb,
  remark =       "Released: March 30, 2007",
  subject =      "Java (Computer program language)",
  tableofcontents = "What it's not about \\
                 It usually begins with javac \\
                 Making your IDE work harder \\
                 Source code checking with PMD \\
                 Static (class file) checking with FindBugs \\
                 Dynamic checking with NASA's Java PathFinder \\
                 What's next?",
}

@Book{Deitel:2007:JHP,
  author =       "Paul J. Deitel and Paul J. Deitel",
  title =        "{Java}: how to program",
  publisher =    "Pearson Prentice Hall",
  address =      "Upper Saddle River, NJ, USA",
  edition =      "Seventh",
  pages =        "xliv + 1596",
  year =         "2007",
  ISBN =         "0-13-222220-5",
  ISBN-13 =      "978-0-13-222220-4",
  LCCN =         "QA76.73.J38 D45 2007",
  bibdate =      "Tue May 12 16:32:52 MDT 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/unicode.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "How to program series",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
  tableofcontents = "Introduction to computers, the Internet and the Web
                 \\
                 Introduction to Java applications \\
                 Introduction to classes and objects \\
                 Control statements: part 1 \\
                 Control statements: part 2 \\
                 Methods: a deeper look \\
                 Arrays \\
                 Classes and objects: a deeper look \\
                 Object-oriented programming: inheritance \\
                 Object-oriented programming: polymorphism \\
                 GUI components: part 1 \\
                 Graphics and Java 2D \\
                 Exception handling \\
                 Files and streams \\
                 Recursion \\
                 Searching and sorting \\
                 Data structures \\
                 Generics \\
                 Collections \\
                 Introduction to Java applets \\
                 Multimedia: applets and applications \\
                 GUI components: part 2 \\
                 Multithreading \\
                 Networking \\
                 Accessing databases with JDBC \\
                 Web applications: part 1 \\
                 Web applications: part 2 \\
                 JAX-WS Web services \\
                 Formatted output \\
                 Strings, characters and regular expressions \\
                 A. Operator precedence chart \\
                 B. ASCII character set \\
                 C. Keywords and reserved words \\
                 D. Primitive types \\
                 E. Number systems \\
                 F. GroupLayout \\
                 G. Java desktop integration components (JDIC) \\
                 H. Mashups \\
                 Web bonus appendices \\
                 I. Unicode \\
                 J. Using the Java API documentation \\
                 K. Creating documentation with javadoc \\
                 L. Bit manipulation \\
                 M. ATM case study code \\
                 N. Labeled break and continue statements \\
                 O. UML 2: additional diagram types \\
                 P. Design patterns \\
                 Q. Using the debugger",
}

@Article{Distasio:2007:ICS,
  author =       "Joseph Distasio and Thomas Way",
  title =        "Inclusive computer science education using a
                 ready-made computer game framework",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "116--120",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268820",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "Leveraging the prevailing interest in computer games
                 among college students, both for entertainment and as a
                 possible career path, is a major reason for the
                 increasing prevalence of computer game design courses
                 in computer science curricula. Because implementing a
                 computer game requires strong programming skills, game
                 design courses are most often restricted to more
                 advanced computer science students, yet real game
                 design involves a diverse and creative team. This paper
                 reports on a ready-made game design and experimentation
                 framework, implemented in Java, which makes game
                 programming more widely accessible. This framework,
                 called Labyrinth, enables students at all programming
                 skill levels to participate in computer game design. We
                 describe the architecture of the framework, and discuss
                 programming projects suitable for a wide variety of
                 computer science courses, from capstone to non-major.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Dorin:2007:LR,
  author =       "Philip M. Dorin",
  title =        "Laboratory redux",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "2",
  pages =        "84--87",
  month =        jun,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1272848.1272891",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:35 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#Dorin07;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "This article updates our earlier experiences with a
                 Programming Laboratory. It appears between an
                 introductory programming course and a two-semester
                 sophomore sequence in data structures and algorithms.
                 Although it was once organized around the notion of
                 algorithm paradigms (with Ada as the implementation
                 language), it has de-volved into a course that stresses
                 fundamentals of programming (with Java as our
                 programming language). Classes and objects, and the
                 design and implementation of unit tests, are now
                 considered to be part of the basic repertoire, and they
                 receive significant attention in the new format.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Draganova:2007:TAW,
  author =       "Chrisina Draganova and Vassil Vassilev",
  title =        "Teaching {AJAX} in {Web}-centric courses",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "311--311",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268877",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "Asynchronous JavaScript and XML (AJAX) is a web
                 development technique for building responsive web
                 applications behaving in a similar fashion to
                 traditional desktop applications. This poster
                 illustrates ideas for teaching the AJAX technique in
                 web-centric courses based on the experience of
                 implementing these ideas at London Metropolitan
                 University and provides links to resources appropriate
                 for use in laboratorial work.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Drechsler:2007:YSL,
  author =       "R. L. Drechsler and J. M. Mocenigo",
  title =        "The {Yoix\reg{}} scripting language: a different way
                 of writing {Java} {\TM} applications",
  journal =      j-SPE,
  volume =       "37",
  number =       "6",
  pages =        "643--667",
  month =        may,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.784",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:15 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "2 Nov 2006",
}

@Article{Eberhard:2007:MOC,
  author =       "John Eberhard and Anand Tripathi",
  title =        "Mechanisms for object caching in distributed
                 applications using {Java RMI}",
  journal =      j-SPE,
  volume =       "37",
  number =       "8",
  pages =        "799--831",
  day =          "10",
  month =        jul,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.783",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:15 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "2 Nov 2006",
}

@Article{Ekman:2007:JEJ,
  author =       "Torbj{\"o}rn Ekman and G{\"o}rel Hedin",
  title =        "The {JastAdd} Extensible {Java} compiler",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "1--18",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297029",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The JastAdd Extensible Java Compiler is a high quality
                 Java compiler that is easy to extend in order to build
                 static analysis tools for Java, and to extend Java with
                 new language constructs. It is built modularly, with a
                 Java 1.4 compiler that is extended to a Java 5
                 compiler. Example applications that are built as
                 extensions include an alternative backend that
                 generates Jimple, an extension of Java with AspectJ
                 constructs, and the implementation of a pluggable type
                 system for non-null checking and inference.\par

                 The system is implemented using JastAdd, a declarative
                 Java-like language. We describe the compiler
                 architecture, the major design ideas for building and
                 extending the compiler, in particular, for dealing with
                 complex extensions that affect name and type analysis.
                 Our extensible compiler compares very favorably
                 concerning quality, speed and size with other
                 extensible Java compiler frameworks. It also compares
                 favorably in quality and size compared with traditional
                 non-extensible Java compilers, and it runs within a
                 factor of three compared to javac.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "compilers; declarative frameworks; extensibility;
                 Java; modularity; OOP",
}

@Article{Elkarablieh:2007:SSA,
  author =       "Bassem Elkarablieh and Sarfraz Khurshid and Duy Vu and
                 Kathryn S. McKinley",
  title =        "{STARC}: static analysis for efficient repair of
                 complex data",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "387--404",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297056",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Data structure corruptions are insidious bugs that
                 reduce the reliability of software systems.
                 Constraint-based datastructure repair promises to help
                 programs recover from potentially crippling corruption
                 errors. Prior work repairs a variety of relatively
                 small data structures, usually with hundreds of
                 nodes.\par

                 We present STARC which uses static analysis to repair
                 data structures with tens of thousands of nodes. Given
                 a Java predicate method that describes the integrity
                 constraints of a structure, STARC statically analyzes
                 the method to identify: (1) the recurrent fields, i.e.,
                 fields that the predicate method uses to traverse the
                 structure; and (2) local field constraints, i.e., how
                 the value of an object field is related to the value of
                 a neighboring object field. STARC executes the
                 predicate method on the structure and monitors its
                 execution to identify corrupt object fields, which
                 STARC then repairs using a systematic search of a
                 neighborhood of the given structure. Each repair action
                 is guided by the result of the static analysis, which
                 enables more efficient and effective repair compared to
                 prior work. Experimental results show that STARC can
                 repair structures with tens of thousands of nodes, up
                 to 100 times larger than prior work.\par

                 STARC efficiency is probably not practical for very
                 large data structures in deployed systems, but opens a
                 promising direction for future work.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "data structure repair; static analysis; symbolic
                 execution",
}

@Article{Elmas:2007:GRT,
  author =       "Tayfun Elmas and Shaz Qadeer and Serdar Tasiran",
  title =        "{Goldilocks}: a race and transaction-aware {Java}
                 runtime",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "245--255",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1273442.1250762",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Data races often result in unexpected and erroneous
                 behavior. In addition to causing data corruption and
                 leading programs to crash, the presence of data races
                 complicates the semantics of an execution which might
                 no longer be sequentially consistent. Motivated by
                 these observations, we have designed and implemented a
                 Java runtime system that monitors program executions
                 and throws a DataRaceException when a data race is
                 about to occur. Analogous to other runtime exceptions,
                 the DataRaceException provides two key benefits. First,
                 accesses causing race conditions are interrupted and
                 handled before they cause errors that may be difficult
                 to diagnose later. Second, if no DataRaceException is
                 thrown in an execution, it is guaranteed to be
                 sequentially consistent. This strong guarantee helps to
                 rule out many concurrency-related possibilities as the
                 cause of erroneous behavior. When a DataRaceException
                 is caught, the operation, thread, or program causing it
                 can be terminated gracefully. Alternatively, the
                 DataRaceException can serve as a conflict-detection
                 mechanism in optimistic uses of concurrency.\par

                 We start with the definition of data-race-free
                 executions in the Java memory model. We generalize this
                 definition to executions that use transactions in
                 addition to locks and volatile variables for
                 synchronization. We present a precise and efficient
                 algorithm for dynamically verifying that an execution
                 is free of data races. This algorithm generalizes the
                 Goldilocks algorithm for data-race detection by
                 handling transactions and providing the ability to
                 distinguish between read and write accesses. We have
                 implemented our algorithm and the DataRaceException in
                 the Kaffe Java Virtual Machine. We have evaluated our
                 system on a variety of publicly available Java
                 benchmarks and a few microbenchmarks that combine
                 lock-based and transaction-based synchronization. Our
                 experiments indicate that our implementation has
                 reasonable overhead. Therefore, we believe that in
                 addition to being a debugging tool, the
                 DataRaceException may be a viable mechanism to enforce
                 the safety of executions of multithreaded Java
                 programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "data-race detection; Java runtime; runtime monitoring;
                 software transactions",
}

@Article{Emmi:2007:LA,
  author =       "Michael Emmi and Jeffrey S. Fischer and Ranjit Jhala
                 and Rupak Majumdar",
  title =        "Lock allocation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "291--296",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1190216.1190260",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We introduce lock allocation, an automatic technique
                 that takes a multi-threaded program annotated with
                 atomic sections (that must be executed atomically), and
                 infers a lock assignment from global variables to locks
                 and a lock instrumentation that determines where each
                 lock should be acquired and released such that the
                 resulting instrumented program is guaranteed to
                 preserve atomicity and deadlock freedom (provided all
                 shared state is accessed only within atomic sections).
                 Our algorithm works in the presence of pointers and
                 procedures, and sets up the lock allocation problem as
                 a 0-1 ILP which minimizes the conflict cost between
                 atomic sections while simultaneously minimizing the
                 number of locks. We have implemented our algorithm for
                 both C with pthreads and Java, and have applied it to
                 infer locks in 15K lines of AOLserver code. Our
                 automatic allocation produces the same results as hand
                 annotations for most of this code, while solving the
                 optimization instances within a second for most
                 programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "atomicity; ILP; lock inference",
}

@Article{Erkan:2007:DSV,
  author =       "Ali S. Erkan and T. J. VanSlyke and Timothy M.
                 Scaffidi",
  title =        "Data structure visualization with {\LaTeX} and
                 {Prefuse}",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "301--305",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268870",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "We report two ways with which data structures as well
                 as their algorithmic operations can be visualized. The
                 first method uses LaTeX to automatically generate
                 diagrammatic presentation material from extended
                 versions of the Java implementations of well-known
                 ADTs. The second method uses the Prefuse API to explore
                 objects created in running Java programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Fahndrich:2007:EOI,
  author =       "Manuel Fahndrich and Songtao Xia",
  title =        "Establishing object invariants with delayed types",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "337--350",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297052",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Mainstream object-oriented languages such as C\# and
                 Java provide an initialization model for objects that
                 does not guarantee programmer controlled initialization
                 of fields. Instead, all fields are initialized to
                 default values (0 for scalars and null for non-scalars)
                 on allocation. This is in stark contrast to functional
                 languages, where all parts of an allocation are
                 initialized to programmer-provided values. These
                 choices have a direct impact on two main issues: 1) the
                 prevalence of null in object oriented languages (and
                 its general absence in functional languages), and 2)
                 the ability to initialize circular data structures.
                 This paper explores connections between these differing
                 approaches and proposes a fresh look at initialization.
                 Delayed types are introduced to express and formalize
                 prevalent initialization patterns in object-oriented
                 languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "initialization; non-null types; object invariants",
}

@Article{Feinberg:2007:VOO,
  author =       "Dave Feinberg",
  title =        "A visual object-oriented programming environment",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "140--144",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227363",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper explores both the design and classroom
                 usage of a visual and interactive programming
                 environment. This environment, named JavaTown, provides
                 a visual representation of the inner workings of
                 object-oriented programs, in which on-screen characters
                 are literally depicted as carrying messages to each
                 other and remembering values. JavaTown was created to
                 aid in the introduction of some of the most elusive
                 concepts in the CS1/CS2 curriculum: object references,
                 parameter passing, variable scope, recursion, and
                 linked lists.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Ferguson:2007:CCM,
  author =       "Arron Ferguson",
  title =        "Creating content management systems in {Java}",
  publisher =    pub-CHARLES-RIVER-MEDIA,
  address =      pub-CHARLES-RIVER-MEDIA:adr,
  pages =        "????",
  year =         "2007",
  ISBN =         "1-58450-466-8 (paperback)",
  ISBN-13 =      "978-1-58450-466-5 (paperback)",
  LCCN =         "TK6680.5 .M38 2004",
  bibdate =      "Mon Oct 2 05:44:13 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  note =         "Includes CD-ROM.",
  URL =          "http://www.loc.gov/catdir/toc/ecip0612/2006012903.html",
  acknowledgement = ack-nhfb,
  subject =      "Digital media; Management; Multimedia systems; Java
                 (Computer program language)",
  xxnote =       "Check spelling of author name.",
}

@Book{Fitzgerald:2007:GAS,
  author =       "Michael Fitzgerald",
  title =        "{Google Ajax} search {API}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2007",
  ISBN =         "0-596-52953-8",
  ISBN-13 =      "978-0-596-52953-6",
  LCCN =         "TK5105.8885.A52 F58 2007eb; TK5105.8885.A52",
  bibdate =      "Tue Aug 5 18:11:36 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596529536",
  acknowledgement = ack-nhfb,
  subject =      "Google; Ajax (Web site development technology); Java
                 (Computer program language)",
}

@Article{Fleissner:2007:EAA,
  author =       "Sebastian Fleissner and Elisa L. A. Baniassad",
  title =        "Epi-aspects: aspect-oriented conscientious software",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "659--674",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297076",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Conscientious software is a recently proposed paradigm
                 for developing reliable, self-sustaining software
                 systems. Conscientious software systems consist of an
                 allopoietic part, which encapsulates application
                 functionality, and an autopoietic part that is
                 responsible for keeping the system alive by monitoring
                 the application and adapting it to environmental
                 changes. Practical application of the conscientious
                 software paradigm requires solutions to two open
                 problems: The design of suitable autopoietic
                 programming languages and the proposal of concrete
                 architectures for combining the autopoietic and
                 allopoietic parts. In this paper, we tackle the second
                 challenge, and propose a concrete, aspect-oriented
                 architecture for realizing conscientious software.
                 Here, we introduce epi-aspects, a construct for
                 upgrading new and existing applications into
                 conscientious software. This paper provides the
                 architectural design of epi-aspects, an autopoietic
                 simulator, and a concrete framework for developing
                 epi-aspects in Java. The framework and the simulator
                 are used to conduct a case study in which we develop
                 and test a conscientious Java application.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aspect-oriented programming; conscientious software",
}

@Article{Frenzel:2007:ERB,
  author =       "Leif Frenzel",
  title =        "Experience report: building an eclipse-based {IDE} for
                 {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "9",
  pages =        "220--222",
  month =        sep,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1291151.1291186",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:59:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper summarizes experiences from an open source
                 project that builds a free Haskell IDE based on Eclipse
                 (an open source IDE platform). Eclipse is extensible
                 and has proved to be a good basis for IDEs for several
                 programming languages. Difficulties arise mainly
                 because it is written in Java and requires extensions
                 to be written in Java. This made it hard to reuse
                 existing development tools implemented in Haskell, and
                 turned out to be a considerable obstacle to finding
                 contributors. Several approaches to resolve these
                 issues are described and their advantages and
                 disadvantages discussed.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Frost:2007:FGC,
  author =       "Daniel Frost",
  title =        "Fourth grade computer science",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "302--306",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227417",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We describe a module, or sequence of lessons, that has
                 been successfully used to teach basic elements of
                 computer science to fourth grade students. The module
                 was designed to reflect a firm grounding in computer
                 science, to be age-appropriate, to be easily installed
                 in schools, and to support a range of teachers. Over
                 300 students in grades three through six have taken
                 this module or a related module. The programming
                 language used is a modern variant of Logo called
                 VVLogo, which students access through a Java applet on
                 a web page.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Gabarro:2007:WAD,
  author =       "Steven A. Gabarr{\'o}",
  title =        "{Web} application design and implementation: {Apache
                 2}, {PHP5}, {MySQL}, {JavaScript}, and {Linux\slash
                 Unix}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xv + 295",
  year =         "2007",
  ISBN =         "0-471-77391-3 (cloth)",
  ISBN-13 =      "978-0-471-77391-7 (cloth)",
  LCCN =         "TK5105.8883 .G33 2007",
  bibdate =      "Wed Jun 25 17:32:53 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "Quantitative software engineering series",
  URL =          "http://www.loc.gov/catdir/toc/ecip0613/2006014999.html",
  acknowledgement = ack-nhfb,
  subject =      "Web site development; Web sites; Design; Application
                 software; Development",
}

@Article{Gabay:2007:CJR,
  author =       "Yarom Gabay and Assaf J. Kfoury",
  title =        "A calculus for {Java}'s reference objects",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "8",
  pages =        "9--17",
  month =        aug,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1294297.1294299",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:59:24 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java's Reference objects provide the programmer with
                 limited control over the process of memory management.
                 Although reference objects are often helpful, they
                 introduce nondeterminism into program evaluation and
                 lead to ambiguous program outcome. In this paper we
                 present a calculus to formally reason about Java's
                 Reference objects. We model multiple levels of
                 reference objects in a single calculus and apply a
                 different garbage collection policy to each one of
                 them. Accordingly, weak references are given the
                 semantics of eager collection and soft references are
                 given the semantics of lazy collection. In addition, we
                 constrain garbage collection with the scarcity of two
                 resources: time and space. We demonstrate the viability
                 of our calculus by modeling a Java program which
                 addresses a commonly-encountered caching problem. Using
                 our model, we reason about the program's evaluation and
                 interaction with the garbage collector.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "formal languages; garbage collection; Java reference
                 objects; weak references",
}

@Book{Geary:2007:CJF,
  author =       "David M. Geary and Cay S. Horstmann",
  title =        "Core {JavaServer} faces",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xx + 723",
  year =         "2007",
  ISBN =         "0-13-173886-0 (paperback)",
  ISBN-13 =      "978-0-13-173886-7 (paperback)",
  LCCN =         "TK5105.8885.J38 G433 2007",
  bibdate =      "Tue Jan 27 16:12:11 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0711/2007006830.html",
  acknowledgement = ack-nhfb,
  subject =      "JavaServer pages; Web site development; Web sites;
                 Design",
}

@Article{Genaud:2007:PMP,
  author =       "St{\'e}phane Genaud and Choopan Rattanapoka",
  title =        "{P2P--MPI}: a Peer-to-Peer Framework for Robust
                 Execution of Message Passing Parallel Programs on
                 {Grids}",
  journal =      j-J-GRID-COMP,
  volume =       "5",
  number =       "1",
  pages =        "27--42",
  month =        mar,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10723-006-9056-2",
  ISSN =         "1570-7873 (print), 1572-9184 (electronic)",
  ISSN-L =       "1570-7873",
  bibdate =      "Wed Jul 9 17:01:30 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1570-7873&volume=5&issue=1;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1570-7873&volume=5&issue=1&spage=27",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Grid Computing",
  journal-URL =  "http://link.springer.com/journal/10723",
  keywords =     "Grid; Java; Key words; middleware; MPI; peer-to-peer",
}

@Article{Georges:2007:SRJ,
  author =       "Andy Georges and Dries Buytaert and Lieven Eeckhout",
  title =        "Statistically rigorous {Java} performance evaluation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "57--76",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297033",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java performance is far from being trivial to
                 benchmark because it is affected by various factors
                 such as the Java application, its input, the virtual
                 machine, the garbage collector, the heap size, etc. In
                 addition, non-determinism at run-time causes the
                 execution time of a Java program to differ from run to
                 run. There are a number of sources of non-determinism
                 such as Just-In-Time (JIT) compilation and optimization
                 in the virtual machine (VM) driven by timer-based
                 method sampling, thread scheduling, garbage collection,
                 and various.\par

                 There exist a wide variety of Java performance
                 evaluation methodologies used by researchers and
                 benchmarkers. These methodologies differ from each
                 other in a number of ways. Some report average
                 performance over a number of runs of the same
                 experiment; others report the best or second best
                 performance observed; yet others report the worst. Some
                 iterate the benchmark multiple times within a single VM
                 invocation; others consider multiple VM invocations and
                 iterate a single benchmark execution; yet others
                 consider multiple VM invocations and iterate the
                 benchmark multiple times.\par

                 This paper shows that prevalent methodologies can be
                 misleading, and can even lead to incorrect conclusions.
                 The reason is that the data analysis is not
                 statistically rigorous. In this paper, we present a
                 survey of existing Java performance evaluation
                 methodologies and discuss the importance of
                 statistically rigorous data analysis for dealing with
                 non-determinism. We advocate approaches to quantify
                 startup as well as steady-state performance, and, in
                 addition, we provide the JavaStats software to
                 automatically obtain performance numbers in a rigorous
                 manner. Although this paper focuses on Java performance
                 evaluation, many of the issues addressed in this paper
                 also apply to other programming languages and systems
                 that build on a managed runtime system.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "benchmarking; data analysis; Java; methodology;
                 statistics",
}

@Article{Gestwicki:2007:CGM,
  author =       "Paul V. Gestwicki",
  title =        "Computer games as motivation for design patterns",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "233--237",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227391",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We present a computer game case study that can be used
                 to motivate the need for design patterns. Design
                 patterns are often misunderstood, but good examples can
                 motivate students to work at understanding patterns.
                 Computer games are used in many books and online
                 resources to teach programming concepts, but these
                 examples are usually simplified or non-object-oriented.
                 We present a simple game that exhibits functionality
                 found in commercial games (animation, collision
                 detection, etc.) and show how it can be used as a case
                 study for design patterns. Specifically, we illustrate
                 how the state, facade, observer, strategy, and visitor
                 patterns can replace procedural approaches for
                 implementing the logic and animation of game written in
                 Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Goodman:2007:JDC,
  author =       "Danny Goodman",
  title =        "{JavaScript} and {DHTML} cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xx + 582",
  year =         "2007",
  ISBN =         "0-596-51408-5 (paperback)",
  ISBN-13 =      "978-0-596-51408-2 (paperback)",
  LCCN =         "QA76.73.J39 G63 2007eb; QA76.73.J39 G63 2007;
                 QA76.73.J39",
  bibdate =      "Tue Aug 5 17:56:49 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596514082",
  abstract =     "Offers problems, solutions, and examples for readers
                 using JavaScript and DHTML in Web pages, covering
                 topics such as interactive forms, user-friendly
                 navigation, dynamic and stationary content, and
                 frames.",
  acknowledgement = ack-nhfb,
  remark =       "Previous edition 2003.",
  subject =      "JavaScript (Computer program language); DHTML
                 (Document markup language); Internet programming",
}

@Article{Gravvanis:2007:PPA,
  author =       "George A. Gravvanis and Victor N. Epitropou and
                 Konstantinos M. Giannoutakis",
  title =        "On the performance of parallel approximate inverse
                 preconditioning using {Java} multithreading
                 techniques",
  journal =      j-APPL-MATH-COMP,
  volume =       "190",
  number =       "1",
  pages =        "255--270",
  day =          "1",
  month =        jul,
  year =         "2007",
  CODEN =        "AMHCBQ",
  ISSN =         "0096-3003 (print), 1873-5649 (electronic)",
  ISSN-L =       "0096-3003",
  bibdate =      "Sat Jul 12 09:03:06 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/00963003",
  acknowledgement = ack-nhfb,
  fjournal =     "Applied Mathematics and Computation",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00963003",
}

@Article{Greenfieldboyce:2007:TQI,
  author =       "David Greenfieldboyce and Jeffrey S. Foster",
  title =        "Type qualifier inference for {Java}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "321--336",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297051",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java's type system provides programmers with strong
                 guarantees of type and memory safety, but there are
                 many important properties not captured by standard Java
                 types. We describe JQual, a tool that adds user-defined
                 type qualifiers to Java, allowing programmers to
                 quickly and easily incorporate extra lightweight,
                 application-specific type checking into their programs.
                 JQual provides type qualifier inference, so that
                 programmers need only add a few key qualifier
                 annotations to their program, and then JQual infers any
                 remaining qualifiers and checks their consistency. We
                 explore two applications of JQual. First, we introduce
                 opaque and enum qualifiers to track C pointers and
                 enumerations that flow through Java code via the JNI.
                 In our benchmarks we found that these C values are
                 treated correctly, but there are some places where a
                 client could potentially violate safety. Second,we
                 introduce a read only qualifier for annotating
                 references that cannot be used to modify the objects
                 they refer to. We found that JQual is able to
                 automatically infer read only in many places on method
                 signatures. These results suggest that type qualifiers
                 and type qualifier inference are a useful addition to
                 Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "context-free language reachability;
                 context-sensitivity; field-sensitivity; Java; JQual;
                 mutable; opaque; readonly; tracked; transparent; type
                 qualifiers",
}

@Article{Guha:2007:CIF,
  author =       "Rajarshi Guha",
  title =        "Chemical Informatics Functionality in {R}",
  journal =      j-J-STAT-SOFT,
  volume =       "18",
  number =       "5",
  pages =        "1--16",
  month =        jan,
  year =         "2007",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Fri Jul 4 10:54:15 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jstatsoft.org/v18/i05",
  abstract =     "The flexibility and scope of the R programming
                 environment has made it a popular choice for
                 statistical modeling and scientific prototyping in a
                 number of fields. In the field of chemistry, R provides
                 several tools for a variety of problems related to
                 statistical modeling of chemical information. However,
                 one aspect common to these tools is that they do not
                 have direct access to the information that is available
                 from chemical structures, such as contained in
                 molecular descriptors.\par

                 We describe the rcdk package that provides the R user
                 with access to the CDK, a Java framework for
                 cheminformatics. As a result, it is possible to read in
                 a variety of molecular formats, calculate molecular
                 descriptors and evaluate fingerprints. In addition, we
                 describe the rpubchem that will allow access to the
                 data in PubChem, a public repository of molecular
                 structures and associated assay data for approximately
                 8 million compounds. Currently, the package allows
                 access to structural information as well as some simple
                 molecular properties from PubChem. In addition the
                 package allows access to bio-assay data from the
                 PubChem FTP servers.",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  pubdates =     "Submitted 2006-09-25; Accepted 2007-01-01",
}

@Book{Halloway:2007:RJD,
  author =       "Stuart Dabbs Halloway and Justin Gehtland",
  title =        "{Rails} for {Java} developers",
  publisher =    pub-PRAGMATIC-BOOKSHELF,
  address =      pub-PRAGMATIC-BOOKSHELF:adr,
  pages =        "xix + 311",
  year =         "2007",
  ISBN =         "0-9776166-9-X",
  ISBN-13 =      "978-0-9776166-9-5",
  LCCN =         "QA76.73.R83 H35 2007",
  bibdate =      "Tue Aug 5 18:16:12 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "Pragmatic programmers; Facets of Ruby series",
  URL =          "http://www.loc.gov/catdir/toc/fy0709/2007273022.html;
                 http://www.oreilly.com/catalog/9780977616695",
  acknowledgement = ack-nhfb,
  remark =       "Includes bibliographical references (p. [293]) and
                 index.",
  subject =      "Ruby (Computer program language); Java (Computer
                 program language); Object-oriented programming
                 (Computer science)",
}

@Article{Hamada:2007:WBT,
  author =       "Mohamed Hamada",
  title =        "{Web}-based tools for active learning in information
                 theory",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "60--64",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227332",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The idea of using web-based technologies in education
                 as a means of interactive learning has been emerging
                 for several topics in computer science and engineering.
                 It proves to be more effective in the learning process
                 and hence rapidly expanding. In this paper we introduce
                 an integrated environment for active learning in the
                 information theory course and related fields. Our
                 environment is designed to meet the learning
                 preferences of computer engineering learners. The
                 environment integrates several different materials to
                 support the learners' preferred style. It includes a
                 movie-like welcome component, an animated hyper-text
                 introduction for the basic concepts of information
                 theory, a communication model simulator, and an
                 interactive set of exercises for self assessment. All
                 the components of the environment are integrated into a
                 single interface based on Java2D of Sun Microsysts.
                 Being a Java applet, our environment is portable and
                 web-based enabled, which makes it possible for learners
                 to study at their convenience. An initial study shows
                 that our integrated environment is a useful tool for
                 learners of information theory and related fields.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Hayes:2007:IAA,
  author =       "Alan Hayes and Pete Thomas and Neil Smith and Kevin
                 Waugh",
  title =        "An investigation into the automated assessment of the
                 design-code interface",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "324--324",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268891",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "In this paper, we present an investigation into the
                 development of a framework for the automatic grading
                 (marking) of student submitted course work. We discuss
                 this framework, its structure and its subsystems. Our
                 framework has been developed in the context of the
                 student submission consisting of two components: a
                 design (using the UML methodology) and source code
                 (using the Java programming language). The focus of our
                 framework is upon the consistency between the student
                 code and design. We discuss its context and development
                 and highlight how we can infer structure from the
                 student submission and use this to inform the
                 assessment process. We describe the approach we are
                 currently undertaking to instantiate this framework and
                 apply it to work submitted for assessment by
                 undergraduate computing students.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Heckler:2007:BRB,
  author =       "Charles E. Heckler",
  title =        "Book Review: {{\booktitle{Correspondence Analysis and
                 Data Coding with Java and R}} by Fionn Murtagh}",
  journal =      j-TECHNOMETRICS,
  volume =       "49",
  number =       "1",
  pages =        "100--100",
  month =        feb,
  year =         "2007",
  CODEN =        "TCMTA2",
  DOI =          "https://doi.org/10.2307/25471279",
  ISSN =         "0040-1706 (print), 1537-2723 (electronic)",
  ISSN-L =       "0040-1706",
  bibdate =      "Sat Jun 21 13:21:15 MDT 2014",
  bibsource =    "http://www.jstor.org/journals/00401706.html;
                 http://www.jstor.org/stable/i25471268;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib;
                 http://www.math.utah.edu/pub/tex/bib/technometrics2000.bib",
  URL =          "http://www.jstor.org/stable/25471279",
  acknowledgement = ack-nhfb,
  fjournal =     "Technometrics",
  journal-URL =  "http://www.jstor.org/journals/00401706.html",
}

@Book{Heffelfinger:2007:JED,
  author =       "David R. Heffelfinger",
  title =        "{Java EE 5} development using {Glassfish} application
                 server",
  publisher =    "Packt",
  address =      "Birmingham, UK",
  pages =        "408",
  year =         "2007",
  ISBN =         "1-84719-260-2",
  ISBN-13 =      "978-1-84719-260-8",
  LCCN =         "????",
  bibdate =      "Tue Jan 27 16:24:37 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  remark =       "The complete guide to installing and configuring the
                 Glassfish application server and developing Java EE 5
                 applications to be deployed to this server.",
}

@Article{Helmick:2007:IBP,
  author =       "Michael T. Helmick",
  title =        "Interface-based programming assignments and automatic
                 grading of {Java} programs",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "63--67",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268805",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "AutoGrader is a framework developed at Miami
                 University for the automatic grading of student
                 programming assignments written in the Java programming
                 language. AutoGrader leverages the abstract concept of
                 interfaces, as implemented by the Java interface
                 language construct, in both the assignment and grading
                 of programming assignments. The use of interfaces
                 reinforces the role of procedural abstraction in
                 object-oriented programming and allows for a common API
                 to all student code. This common API then enables
                 automatic grading of program functionality. AutoGrader
                 provides a simple instructor API and enables the
                 automatic testing of student code through the Java
                 language features of interfaces and reflection.
                 AutoGrader also supports static code analysis using PMD
                 [4] to detect possible bugs, dead code, suboptimal, and
                 overcomplicated code. While AutoGrader is written in
                 and only handles Java programs, this style of automated
                 grading is adaptable to any language that supports (or
                 can mimic) named interfaces and/or abstract functions
                 and that also supports runtime reflection.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Helmick:2007:IOC,
  author =       "Michael T. Helmick",
  title =        "Integrated online courseware for computer science
                 courses",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "146--150",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268828",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "Computer Science CourseWare (CSCW) is a Web-based
                 integrated online courseware system for the management
                 of computer science courses developed by the Miami
                 University Department of Computer Science and Systems
                 Analysis. The system is designed to support a unified
                 student experience for content delivery and programming
                 (and general) assignment management. CSCW promotes
                 incremental development through rapid feedback for
                 students with its integrated Java style checking (using
                 PMD [2]) and automatic grading capabilities. CSCW
                 integrates with existing version control infrastructure
                 (using Subversion [4]) and authentication
                 infrastructure (LDAP or custom plug-in) to minimize
                 administration. Paperless handling of programming
                 assignments is encouraged with the ability for precise
                 feedback to be entered by instructors for student
                 consumption. CSCW focuses on the needs of courses using
                 computer programs as a primary assessment measure. CSCW
                 is actively being used at Miami University.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Henkel:2007:DDJ,
  author =       "J. Henkel and C. Reichenbach and A. Diwan",
  title =        "Discovering Documentation for {Java} Container
                 Classes",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "33",
  number =       "8",
  pages =        "526--543",
  month =        aug,
  year =         "2007",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2007.70705",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "See errata \cite{Henkel:2008:EDD}.",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4267024",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Higuchi:2007:STS,
  author =       "Tomoyuki Higuchi and Atsushi Ohori",
  title =        "A static type system for {JVM} access control",
  journal =      j-TOPLAS,
  volume =       "29",
  number =       "1",
  pages =        "4:1--4:42",
  month =        jan,
  year =         "2007",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1180475.1180479",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Sat Apr 14 11:13:22 MDT 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Hirzel:2007:DLO,
  author =       "Martin Hirzel",
  title =        "Data layouts for object-oriented programs",
  journal =      j-SIGMETRICS,
  volume =       "35",
  number =       "1",
  pages =        "265--276",
  month =        jun,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1269899.1254915",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Fri Jun 27 09:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Object-oriented programs rely heavily on objects and
                 pointers, making them vulnerable to slow downs from
                 cache and TLB misses. The cache and TLB behavior
                 depends on the data layout of objects in memory. There
                 are many possible data layouts with different impacts
                 on performance, but it is not known which perform
                 better. This paper presents a novel framework for
                 evaluating data layouts. The framework both makes
                 implementing many layouts easy, and enables performance
                 measurements of real programs using a product Java
                 virtual machine on stock hardware. This is achieved by
                 sorting objects during copying garbage collection;
                 outside of garbage collection, program performance is
                 solely determined by the data layout that the sort key
                 implements. This paper surveys and evaluates 10 common
                 data layouts with 32 realistic bench mark programs
                 running on 3 different hardware configurations. The
                 results confirm the importance of data layouts for
                 program performance, and show that almost all layouts
                 yield the best performance for some programs and the
                 worst performance for others.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
  keywords =     "cache; data layout; data placement; GC; hardware
                 performance counters; memory subsystem; spatial
                 locality; TLB",
}

@Article{Hirzel:2007:JGJ,
  author =       "Martin Hirzel and Robert Grimm",
  title =        "{Jeannie}: granting {Java Native Interface} developers
                 their wishes",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "19--38",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297030",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Higher-level languages interface with lower-level
                 languages such as C to access platform functionality,
                 reuse legacy libraries, or improve performance. This
                 raises the issue of how to best integrate different
                 languages while also reconciling productivity, safety,
                 portability, and efficiency. This paper presents
                 Jeannie, a new language design for integrating Java
                 with C. In Jeannie, both Javaand C code are nested
                 within each other in the same file and compile down to
                 JNI, the Java platform's standard foreign function
                 interface. By combining the two languages' syntax and
                 semantics, Jeannie eliminates verbose boiler-plate
                 code, enables static error detection across the
                 language boundary, and simplifies dynamic resource
                 management. We describe the Jeannie language and its
                 compiler, while also highlighting lessons from
                 composing two mature programming languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "C; foreign function interface; Java; JNI; modular
                 syntax; programming language composition; rats!; xtc",
}

@Article{Hong:2007:JCA,
  author =       "SungHyun Hong and Jin-Chul Kim and Jin Woo Shin and
                 Soo-Mook Moon and Hyeong-Seok Oh and Jaemok Lee and
                 Hyung-Kyu Choi",
  title =        "{Java} client ahead-of-time compiler for embedded
                 systems",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "7",
  pages =        "63--72",
  month =        jul,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1254766.1254776",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:57:50 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The performance of embedded Java virtual machine can
                 be improved by ahead-of-time compiler (AOTC), which
                 translates bytecode into machine code in the server and
                 installs the machine code on the client device.
                 Although AOTC is more advantageous than just-in-time
                 compiler (JITC) due to its absence of the translation
                 overhead, AOTC cannot be applicable to dynamically
                 downloaded classes at runtime. This paper proposes
                 client-AOTC (c-AOTC) which performs AOTC on the client
                 device using the JITC module installed on the device,
                 complementing the server-AOTC. The machine code of a
                 method translated by JITC is cached on a persistent
                 memory of the device, and when the method is invoked
                 again in a later run of the program, the machine code
                 is loaded and executed directly without the translation
                 and interpretation overhead. One of major issues in
                 c-AOTC is relocation because some of the addresses used
                 by the cached machine code are not correct when the
                 machine code is loaded and used in a different run;
                 those addresses should be corrected before they are
                 used. Constant pool resolution and inlining complicate
                 the relocation problem and we propose our solutions. We
                 developed a c-AOTC on Sun's CDC VM reference
                 implementation (RI) and our evaluation results indicate
                 that c-AOTC can improve the performance significantly,
                 as much as an average of 12\%. We also experiment with
                 the issue of reducing the number of c-AOTC methods to
                 be cached when the persistent space is tight, with a
                 graceful degradation of performance.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "early binding; J2ME CDC; Java ahead-of-time compiler;
                 Java virtual machine; just-in-time compiler;
                 relocation",
}

@Article{Igarashi:2007:VPT,
  author =       "Atsushi Igarashi and Mirko Viroli",
  title =        "Variant path types for scalable extensibility",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "113--132",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297037",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Much recent work in the design of object-oriented
                 programming languages has been focusing on identifying
                 suitable features to support so-called scalable
                 extensibility, where the usual extension mechanism by
                 inheritance works in different scales of software
                 components-that is, classes, groups of classes, groups
                 of groups and so on. Its typing issues has usually been
                 addressed by means of dependent type systems, where
                 nested types are seen as properties of objects. In this
                 work, we seek instead for a different solution, which
                 can be more easily applied to Java-like languages, in
                 which nested types are considered properties of
                 classes.\par

                 We introduce the mechanism of variant path types, which
                 provide a flexible means to express intra-group
                 relationship (among classes) that has to be preserved
                 through extension. In particular, improving and
                 extending existing works on groups and exact types, we
                 feature the new notions of exact and inexact
                 qualifications, providing rich abstractions to express
                 various kinds of set of objects, with a flexible
                 subtyping scheme. We formalize a safe type system for
                 variant path types on top of Feather weight Java. Our
                 development results in a complete solution for scalable
                 extensibility, similarly to previous attempts based on
                 dependent type systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "scalable extensibility; subtyping; variance; variant
                 path types",
}

@Article{Jipping:2007:TSJ,
  author =       "Michael J. Jipping and Cameron Calka and Brian O'Neill
                 and Christopher R. Padilla",
  title =        "Teaching students {Java} bytecode using {Lego
                 Mindstorms} robots",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "170--174",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227371",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Assbly language is a valuable subject to teach, yet
                 one of the most underappreciated by students. Students
                 do not see the need for assembly language and they get
                 through it as quickly as possible. Given the time in a
                 computer organization course to teach assembly
                 language, assignments --- either quick-and-easy ones or
                 those contrived-to-teach-a-point --- contribute to this
                 attitude of malaise. This paper documents a project to
                 inject some fun into the teaching of assembly language.
                 First, we switch the language to Java bytecode. Second,
                 we use unique assignments to use Java bytecode with
                 Lego Mindstorms robotics.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Juola:2007:PCO,
  author =       "Patrick Juola",
  title =        "Principles of computer organization and assembly
                 language: using the {Java Virtual Machine}",
  publisher =    "Pearson/Prentice Hall",
  address =      "Upper Saddle River, NJ, USA",
  pages =        "xv + 317",
  year =         "2007",
  ISBN =         "0-13-148683-7 (paperback)",
  ISBN-13 =      "978-0-13-148683-6 (paperback)",
  LCCN =         "QA76.9.C643 J96 2007",
  bibdate =      "Thu Jan 21 14:01:37 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip073/2006034154.html",
  acknowledgement = ack-nhfb,
  subject =      "computer organization; assembler language (computer
                 program language); Java Virtual Machine",
}

@Article{Kiciman:2007:APR,
  author =       "Emre Kiciman and Benjamin Livshits",
  title =        "{AjaxScope}: a platform for remotely monitoring the
                 client-side behavior of {Web 2.0} applications",
  journal =      j-OPER-SYS-REV,
  volume =       "41",
  number =       "6",
  pages =        "17--30",
  month =        dec,
  year =         "2007",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1323293.1294264",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:18:34 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The rise of the software-as-a-service paradigm has led
                 to the development of a new breed of sophisticated,
                 interactive applications often called Web 2.0. While
                 web applications have become larger and more complex,
                 web application developers today have little visibility
                 into the end-to-end behavior of their systems. This
                 paper presents AjaxScope, a dynamic instrumentation
                 platform that enables cross-user monitoring and
                 just-in-time control of web application behavior on
                 end-user desktops. AjaxScope is a proxy that performs
                 on-the-fly parsing and instrumentation of JavaScript
                 code as it is sent to users' browsers. AjaxScope
                 provides facilities for distributed and adaptive
                 instrumentation in order to reduce the client-side
                 overhead, while giving fine-grained visibility into the
                 code-level behavior of web applications. We present a
                 variety of policies demonstrating the power of
                 AjaxScope, ranging from simple error reporting and
                 performance profiling to more complex memory leak
                 detection and optimization analyses. We also apply our
                 prototype to analyze the behavior of over 90 Web 2.0
                 applications and sites that use large amounts of
                 JavaScript.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "software instrumentation; software monitoring; web
                 applications",
}

@Article{Klemm:2007:JIO,
  author =       "Michael Klemm and Matthias Bezold and Ronald Veldema
                 and Michael Philippsen",
  title =        "{JaMP}: an implementation of {OpenMP} for a {Java
                 DSM}",
  journal =      j-CCPE,
  volume =       "19",
  number =       "18",
  pages =        "2333--2352",
  day =          "25",
  month =        dec,
  year =         "2007",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1178",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:18 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "3 Apr 2007",
}

@Book{Koletzke:2007:OJF,
  author =       "Peter Koletzke and Duncan Mills",
  title =        "{Oracle JDeveloper 10g} for forms and {PL\slash SQL}
                 developers",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xxx + 562",
  year =         "2007",
  ISBN =         "0-07-225960-4 (paperback), (paperback)",
  ISBN-13 =      "978-0-07-225960-5 (paperback), (paperback)",
  LCCN =         "QA76.73.J38 K655 2006",
  bibdate =      "Tue Oct 28 09:22:43 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0806/2007298524-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0806/2007298524-d.html;
                 http://www.loc.gov/catdir/enhancements/fy0806/2007298524-t.html",
  acknowledgement = ack-nhfb,
  subject =      "Oracle JDeveloper; Java (Computer program language);
                 Application software; Development",
}

@Article{Kuehne:2007:CPL,
  author =       "Thomas Kuehne and Daniel Schreiber",
  title =        "Can programming be liberated from the two-level style:
                 multi-level programming with {DeepJava}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "229--244",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297044",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Since the introduction of object-oriented programming
                 few programming languages have attempted to provide
                 programmers with more than objects and classes, i.e.,
                 more than two levels. Those that did, almost
                 exclusively aimed at describing language
                 properties-i.e., their metaclasses exert linguistic
                 control on language concepts and mechanisms-often in
                 order to make the language extensible. In terms of
                 supporting logical domain classification levels,
                 however, they are still limited to two levels.\par

                 In this paper we conservatively extend the
                 object-oriented programming paradigm to feature an
                 unbounded number of domain classification levels. We
                 can therefore avoid the introduction of accidental
                 complexity into programs caused by accommodating
                 multiple domain levels within only two programming
                 levels. We present a corresponding language design
                 featuring ``deep instantiation'' and demonstrate its
                 features with a running example. Finally, we outline
                 the implementation of our compiler prototype and
                 discuss the potentials of further developing our
                 language design.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "deep characterization; domain metatypes; ontological
                 metamodeling",
}

@Article{Laskowski:2007:BCS,
  author =       "Eryk Laskowski and Marek Tudruj and Richard Olejnik
                 and Bernard Toursel",
  title =        "Byte-code scheduling of {Java} programs with branches
                 for {Desktop Grid}",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "23",
  number =       "8",
  pages =        "977--982",
  month =        nov,
  year =         "2007",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Sat Sep 11 13:08:10 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/0167739X",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Lazic:2007:BRBa,
  author =       "S. E. Lazic",
  title =        "Book Review: {{\booktitle{Correspondence Analysis and
                 Data Coding with Java and R}}, by F. Murtagh}",
  journal =      j-J-R-STAT-SOC-SER-A-STAT-SOC,
  volume =       "170",
  number =       "2",
  pages =        "509--509",
  month =        mar,
  year =         "2007",
  CODEN =        "JSSAEF",
  DOI =          "https://doi.org/10.1111/j.1467-985X.2007.00473_12.x;
                 https://doi.org/10.2307/4623181",
  ISSN =         "0964-1998 (print), 1467-985X (electronic)",
  ISSN-L =       "0964-1998",
  bibdate =      "Mon Jan 26 13:24:14 MST 2015",
  bibsource =    "http://www.jstor.org/stable/i413068;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/jrss-a-2000.bib",
  URL =          "http://www.jstor.org/stable/4623181",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of the Royal Statistical Society. Series A
                 (Statistics in Society)",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1111/(ISSN)1467-985X;
                 http://www.jstor.org/journals/09641998.html",
  onlinedate =   "13 Apr 2007",
}

@Article{Lee:2007:WFJ,
  author =       "Gun Ho Lee and Junsu Jung",
  title =        "{Web} framework with {Java} and {XML} in multi-tiers
                 for productivity",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "23",
  number =       "2",
  pages =        "263--268",
  month =        feb,
  year =         "2007",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Sat Sep 11 13:08:08 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/0167739X",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Lin:2007:SEA,
  author =       "Chin-Yang Lin and Ting-Wei Hou",
  title =        "A simple and efficient algorithm for cycle
                 collection",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "3",
  pages =        "7--13",
  month =        mar,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1273039.1273041",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:10 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The lack of collecting cyclic garbage is generally
                 considered the major weakness of reference counting.
                 Reference counted systems handle this problem by
                 incorporating either a global tracing collector, or a
                 'partial' tracing collector that considers only the
                 cycle candidates but needs several traces on them. In
                 particular, the latter has become a preferred one as it
                 has better scalability and locality (no need to scan
                 the entire heap). This paper presents a new
                 'lightweight' cyclic reference counting algorithm,
                 which is based on partial tracing and deals with the
                 cycle problem in a simpler and more efficient way. By
                 exploiting the lightweight hypothesis that considers a
                 single sub-graph, instead of individual cycles, as the
                 basic unit of cycle collection, the algorithm can
                 detect garbage cycles in a single trace. In addition,
                 we propose a technique for eliminating redundant scans
                 over garbage objects, thus improving the efficiency of
                 the algorithm. The pseudocode and its correctness proof
                 are also presented. Finally, an implementation based on
                 Jikes Research Virtual Machine is provided to
                 demonstrate the effectiveness of the new algorithm.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "cycle collection; garbage collection; Java; reference
                 counting",
}

@Article{Lin:2007:SIM,
  author =       "Jim-Min Lin and Zeng-Wei Hong and Guo-Ming Fang and
                 Che-Tai Lee",
  title =        "A style for integrating {MS-Windows} software
                 applications to client-server systems using {Java}
                 technology",
  journal =      j-SPE,
  volume =       "37",
  number =       "4",
  pages =        "417--440",
  day =          "10",
  month =        apr,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.775",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:14 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "24 Oct 2006",
}

@Article{Long:2007:MVC,
  author =       "Brad Long and Paul Strooper and Luke Wildman",
  title =        "A method for verifying concurrent {Java} components
                 based on an analysis of concurrency failures",
  journal =      j-CCPE,
  volume =       "19",
  number =       "3",
  pages =        "281--294",
  day =          "10",
  month =        mar,
  year =         "2007",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1063",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:10 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "1 Aug 2006",
}

@Article{Ma:2007:IAE,
  author =       "Kin-Keung Ma and Jeffrey S. Foster",
  title =        "Inferring aliasing and encapsulation properties for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "423--440",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297059",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "There are many proposals for language techniques to
                 control aliasing and encapsulation in object oriented
                 programs, typically based on notions of object
                 ownership and pointer uniqueness. Most of these systems
                 require extensive manual annotations, and thus there is
                 little experience with these properties in large,
                 existing Java code bases. To remedy this situation, we
                 present Uno, a novel static analysis for automatically
                 inferring ownership, uniqueness, and other aliasing and
                 encapsulation properties in Java. Our analysis requires
                 no annotations, and combines an intraprocedural
                 points-to analysis with an interprocedural,
                 demand-driven predicate resolution algorithm. We have
                 applied Uno to a variety of Java applications and found
                 that some aliasing properties, such as temporarily
                 lending a reference to a method, are common, while
                 others, in particular field and argument ownership, are
                 relatively uncommon. As a result, we believe that Uno
                 can be a valuable tool for discovering and
                 understanding aliasing and encapsulation in Java
                 programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aliasing; encapsulation; Java; lending; ownership;
                 ownership inference; uniqueness; uniqueness inference;
                 Uno",
}

@Article{Ma:2007:IVM,
  author =       "Linxiao Ma and John Ferguson and Marc Roper and Murray
                 Wood",
  title =        "Investigating the viability of mental models held by
                 novice programmers",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "499--503",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227481",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes an investigation into the
                 viability of mental models used by novice programmers
                 at the end of a first year Java programming course. The
                 qualitative findings identify the range of mental
                 models of value and reference assignment held by the
                 participants. The quantitative analysis reveals that
                 approximately one third of students held non-viable
                 mental models of value assignment and only 17\% of
                 students held a viable mental model of reference
                 assignment. Further, in terms of a comparison between
                 the participants' mental models and their performance
                 in in-course assessments and final examination, it was
                 found that students with viable mental models performed
                 significantly better than those with non-viable models.
                 These findings are used to propose a more
                 ``constructivist'' approach to teaching programming
                 based on the integration of ``cognitive conflict'' and
                 program visualisation.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Malan:2007:SBC,
  author =       "David J. Malan and Henry H. Leitner",
  title =        "Scratch for budding computer scientists",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "223--227",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227388",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Scratch is a ``media-rich programming environment''
                 recently developed by MIT's Media Lab that ``lets you
                 create your own animations, games, and interactive
                 art.'' Although Scratch is intended to ``enhance the
                 development of technological fluency [among youths] at
                 after-school centers in economically disadvantaged
                 communities,'' we find remarkable potential in this
                 programming environment for higher education as well.
                 We propose Scratch as a first language for first-time
                 programmers in introductory courses, for majors and
                 non-majors alike. Scratch allows students to program
                 with a mouse: programmatic constructs are represented
                 as puzzle pieces that only fit together if
                 ``syntactically'' appropriate. We argue that this
                 environment allows students not only to master
                 programmatic constructs before syntax but also to focus
                 on problems of logic before syntax. We view Scratch as
                 a gateway to languages like Java. To validate our
                 proposal, we recently deployed Scratch for the first
                 time in higher education via harvard Summer School's
                 Computer Science S-1: Great Ideas in Computer Science,
                 the summertime version of a course at harvard College.
                 Our goal was not to improve scores but instead to
                 improve first-time programmers' experiences. We
                 ultimately transitioned to Java, but we first
                 introduced programming itself via Scratch. We present
                 in this paper the results of our trial. We find that,
                 not only did Scratch excite students at a critical time
                 (i.e.,, their first foray into computer science), it
                 also familiarized the inexperienced among th with
                 fundamentals of programming without the distraction of
                 syntax. Moreover, when asked via surveys at term's end
                 to reflect on how their initial experience with Scratch
                 affected their subsequent experience with Java, most
                 students (76\%) felt that Scratch was a positive
                 influence, particularly those without prior background.
                 Those students (16\%) who felt that Scratch was not an
                 influence, positive or negative, all had prior
                 programming experience.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Marin:2007:ICC,
  author =       "Marius Marin and Arie {Van Deursen} and Leon Moonen",
  title =        "Identifying {Crosscutting Concerns Using Fan-In
                 Analysis}",
  journal =      j-TOSEM,
  volume =       "17",
  number =       "1",
  pages =        "3:1--3:37",
  month =        dec,
  year =         "2007",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1314493.1314496",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Mon Jun 16 11:13:04 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Aspect mining is a reverse engineering process that
                 aims at finding crosscutting concerns in existing
                 systems. This article proposes an aspect mining
                 approach based on determining methods that are called
                 from many different places, and hence have a high
                 fan-in, which can be seen as a symptom of crosscutting
                 functionality. The approach is semiautomatic, and
                 consists of three steps: metric calculation, method
                 filtering, and call site analysis. Carrying out these
                 steps is an interactive process supported by an Eclipse
                 plug-in called FINT. Fan-in analysis has been applied
                 to three open source Java systems, totaling around
                 200,000 lines of code. The most interesting concerns
                 identified are discussed in detail, which includes
                 several concerns not previously discussed in the
                 aspect-oriented literature. The results show that a
                 significant number of crosscutting concerns can be
                 recognized using fan-in analysis, and each of the three
                 steps can be supported by tools.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "Aspect-oriented programming; crosscutting concerns;
                 fan-in metric; reverse engineering",
}

@Article{Matthews:2007:OSM,
  author =       "Jacob Matthews and Robert Bruce Findler",
  title =        "Operational semantics for multi-language programs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "3--10",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1190215.1190220",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Inter-language interoperability is big business, as
                 the success of Microsoft's .NET and COM and Sun's JVM
                 show. Programming language designers are designing
                 programming languages that reflect that fact --- SML\#,
                 Mondrian, and Scala, to name just a few examples, all
                 treat interoperability with other languages as a
                 central design feature. Still, current multi-language
                 research tends not to focus on the semantics of
                 interoperation features, but only on how to implement
                 them efficiently. In this paper, we take first steps
                 toward higher-level models of interoperating systems.
                 Our technique abstracts away the low-level details of
                 interoperability like garbage collection and
                 representation coherence, and lets us focus on semantic
                 properties like type-safety and observable equivalence.
                 Beyond giving simple expressive models that are natural
                 compositions of single-language models, our studies
                 have uncovered several interesting facts about
                 interoperability. For example, higher-order contracts
                 naturally emerge as the glue to ensure that
                 interoperating languages respect each other's type
                 systems. While we present our results in an abstract
                 setting, they shed light on real multi-language systems
                 and tools such as the JNI, SWIG, and Haskell's stable
                 pointers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "interoperability; multi-language systems; operational
                 semantics",
}

@Article{McCreight:2007:GFC,
  author =       "Andrew McCreight and Zhong Shao and Chunxiao Lin and
                 Long Li",
  title =        "A general framework for certifying garbage collectors
                 and their mutators",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "468--479",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1273442.1250788",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Garbage-collected languages such as Java and C\# are
                 becoming more and more widely used in both high-end
                 software and real-time embedded applications. The
                 correctness of the GC implementation is essential to
                 the reliability and security of a large portion of the
                 world's mission-critical software. Unfortunately,
                 garbage collectors--especially incremental and
                 concurrent ones--are extremely hard to implement
                 correctly. In this paper, we present a new uniform
                 approach to verifying the safety of both a mutator and
                 its garbage collector in Hoare-style logic. We define a
                 formal garbage collector interface general enough to
                 reason about a variety of algorithms while allowing the
                 mutator to ignore implementation-specific details of
                 the collector. Our approach supports collectors that
                 require read and write barriers. We have used our
                 approach to mechanically verify assembly
                 implementations of mark-sweep, copying and incremental
                 copying GCs in Coq, as well as sample mutator programs
                 that can be linked with any of the GCs to produce a
                 fully-verified garbage-collected program. Our work
                 provides a foundation for reasoning about complex
                 mutator-collector interaction and makes an important
                 advance toward building fully certified
                 production-quality GCs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "abstract data type; assembly code verification;
                 garbage collection; proof-carrying code; separation
                 logic",
}

@Book{McLaughlin:2007:JX,
  author =       "Brett McLaughlin",
  title =        "{Java} and {XML}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "465",
  year =         "2007",
  ISBN =         "0-596-10149-X (paperback)",
  ISBN-13 =      "978-0-596-10149-7 (paperback)",
  LCCN =         "QA76.73.J38 M39 2007",
  bibdate =      "Mon Jan 26 15:43:29 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0715/2007273941-d.html;
                 http://www.loc.gov/catdir/toc/fy0710/2007273941.html",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); XML (Document markup
                 language); Web publishing",
}

@Article{Melton:2007:ESC,
  author =       "Hayden Melton and Ewan Tempero",
  title =        "An empirical study of cycles among classes in {Java}",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "12",
  number =       "4",
  pages =        "389--415",
  month =        aug,
  year =         "2007",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-006-9033-1",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Fri Dec 2 09:14:02 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/accesspage/article/10.1007/s10664-006-9033-1",
  acknowledgement = ack-nhfb,
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
}

@Article{Muller-Olm:2007:AMA,
  author =       "Markus M{\"u}ller-Olm and Helmut Seidl",
  title =        "Analysis of modular arithmetic",
  journal =      j-TOPLAS,
  volume =       "29",
  number =       "5",
  pages =        "29:1--29:27",
  month =        aug,
  year =         "2007",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1275497.1275504",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Jun 11 19:22:40 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We consider integer arithmetic modulo a power of 2 as
                 provided by mainstream programming languages like Java
                 or standard implementations of C. The difficulty here
                 is that, for $ w > 1 $, the ring $ Z_m $ of integers
                 modulo $ m = 2^w $ has zero divisors and thus cannot be
                 embedded into a field. Not withstanding that, we
                 present intra- and interprocedural algorithms for
                 inferring for every program point u affine relations
                 between program variables valid at $u$. If conditional
                 branching is replaced with nondeterministic branching,
                 our algorithms are not only sound but also complete in
                 that they detect all valid affine relations in a
                 natural class of programs. Moreover, they run in time
                 linear in the program size and polynomial in the number
                 of program variables and can be implemented by using
                 the same modular integer arithmetic as the target
                 language to be analyzed. We also indicate how our
                 analysis can be extended to deal with equality guards,
                 even in an interprocedural setting.",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Murtagh:2007:SBV,
  author =       "Thomas P. Murtagh",
  title =        "{Squint}: barely visible library support for {CS1}",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "526--530",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227489",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Squint is a Java library developed to support the use
                 of event-driven programming and network applications in
                 programming examples for a CS1 curriculum. We present
                 the design of the library, emphasizing techniques
                 employed to minimize the effort students expend
                 learning features specific to the library. We also
                 compare Squint to an established library that supports
                 event-driven programming in CS1, emphasizing ways in
                 which the two libraries support similar pedagogical
                 approaches.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Naftalin:2007:JGC,
  author =       "Maurice Naftalin and Philip Wadler",
  title =        "{Java} Generics and Collections",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvii + 273",
  year =         "2007",
  ISBN =         "0-596-52775-6",
  ISBN-13 =      "978-0-596-52775-4",
  LCCN =         "QA76.73.J38 N325 2007",
  bibdate =      "Tue Jan 27 16:12:54 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$34.99",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0715/2006287224-d.html;
                 http://www.loc.gov/catdir/toc/fy0705/2006287224.html;
                 http://www.oreilly.com/catalog/9780596527754",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Object-oriented
                 programming (Computer science)",
}

@Article{Naik:2007:CMA,
  author =       "Mayur Naik and Alex Aiken",
  title =        "Conditional must not aliasing for static race
                 detection",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "327--338",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1190216.1190265",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Race detection algorithms for multi-threaded programs
                 using the common lock-based synchronization idiom must
                 correlate locks with the memory locations they guard.
                 The heart of a proof of race freedom is showing that if
                 two locks are distinct, then the memory locations they
                 guard are also distinct. This is an example of a
                 general property we call conditional must not aliasing:
                 Under the assumption that two objects are not aliased,
                 prove that two other objects are not aliased. This
                 paper introduces and gives an algorithm for conditional
                 must not alias analysis and discusses experimental
                 results for sound race detection of Java programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "concurrency; Java; multi-threading; static race
                 detection; synchronization",
}

@Article{Neelakantam:2007:HAR,
  author =       "Naveen Neelakantam and Ravi Rajwar and Suresh Srinivas
                 and Uma Srinivasan and Craig Zilles",
  title =        "Hardware atomicity for reliable software speculation",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "35",
  number =       "2",
  pages =        "174--185",
  month =        may,
  year =         "2007",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/1250662.1250684",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Tue Jun 17 11:48:43 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Speculative compiler optimizations are effective in
                 improving both single-thread performance and reducing
                 power consumption, but their implementation introduces
                 significant complexity, which can limit their adoption,
                 limit their optimization scope, and negatively impact
                 the reliability of the compilers that implement them.
                 To eliminate much of this complexity, as well as
                 increase the effectiveness of these optimizations, we
                 propose that microprocessors provide
                 architecturally-visible hardware primitives for atomic
                 execution. These primitives provide to the compiler the
                 ability to optimize the program's hot path in
                 isolation, allowing the use of non-speculative
                 formulations of optimization passes to perform
                 speculative optimizations. Atomic execution guarantees
                 that if a speculation invariant does not hold, the
                 speculative updates are discarded, the register state
                 is restored, and control is transferred to a
                 non-speculative version of the code, thereby relieving
                 the compiler from the responsibility of generating
                 compensation code.\par

                 We demonstrate the benefit of hardware atomicity in the
                 context of a Java virtual machine. We find
                 incorporating the notion of atomic regions into an
                 existing compiler intermediate representation to be
                 natural, requiring roughly 3,000 lines of code (~3\% of
                 a JVM's optimizing compiler), most of which were for
                 region formation. Its incorporation creates new
                 opportunities for existing optimization passes, as well
                 as greatly simplifying the implementation of additional
                 optimizations (e.g., partial inlining, partial loop
                 unrolling, and speculative lock elision). These
                 optimizations reduce dynamic instruction count by 11\%
                 on average and result in a 10-15\% average speedup,
                 relative to a baseline compiler with a similar degree
                 of inlining.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
  keywords =     "atomicity; checkpoint; isolation; Java; optimization;
                 speculation",
}

@Article{Noguera:2007:AEA,
  author =       "Carlos Noguera and Renaud Pawlak",
  title =        "{AVal}: an extensible attribute-oriented programming
                 validator for {Java}",
  journal =      j-J-SOFTW-MAINT-EVOL,
  volume =       "19",
  number =       "4",
  pages =        "253--275",
  month =        jul,
  year =         "2007",
  CODEN =        "JSMECT",
  DOI =          "https://doi.org/10.1002/smr.349",
  ISSN =         "1532-060X (print), 1532-0618 (electronic)",
  ISSN-L =       "1532-060X",
  bibdate =      "Wed Jan 31 10:00:21 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/jsoftwmaintevol.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Software Maintenance and Evolution:
                 Research and Practice",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
}

@Book{Olsen:2007:AJ,
  author =       "Steven Douglas Olsen",
  title =        "{Ajax} on {Java}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiv + 211",
  year =         "2007",
  ISBN =         "0-596-10187-2",
  ISBN-13 =      "978-0-596-10187-9",
  LCCN =         "QA76.73.J38 O58 2007eb; QA76.73.J38",
  bibdate =      "Tue Aug 5 17:51:50 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596101879",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Ajax (Web site
                 development technology)",
}

@Article{Ozaki:2007:MOV,
  author =       "K. Ozaki and T. Ogita and S. Miyajima and S. Oishi and
                 S. M. Rump",
  title =        "A method of obtaining verified solutions for linear
                 systems suited for {Java}",
  journal =      j-J-COMPUT-APPL-MATH,
  volume =       "199",
  number =       "2",
  pages =        "337--344",
  day =          "15",
  month =        feb,
  year =         "2007",
  CODEN =        "JCAMDI",
  ISSN =         "0377-0427 (print), 1879-1778 (electronic)",
  ISSN-L =       "0377-0427",
  bibdate =      "Sat Feb 25 13:12:04 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/jcomputapplmath2005.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0377042705007697",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Computational and Applied Mathematics",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03770427",
}

@Article{Padala:2007:ACV,
  author =       "Pradeep Padala and Kang G. Shin and Xiaoyun Zhu and
                 Mustafa Uysal and Zhikui Wang and Sharad Singhal and
                 Arif Merchant and Kenneth Salem",
  title =        "Adaptive control of virtualized resources in utility
                 computing environments",
  journal =      j-OPER-SYS-REV,
  volume =       "41",
  number =       "3",
  pages =        "289--302",
  month =        jun,
  year =         "2007",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1272998.1273026",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:16:31 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Data centers are often under-utilized due to
                 over-provisioning as well as time-varying resource
                 demands of typical enterprise applications. One
                 approach to increase resource utilization is to
                 consolidate applications in a shared infrastructure
                 using virtualization. Meeting application-level quality
                 of service (QoS) goals becomes a challenge in a
                 consolidated environment as application resource needs
                 differ. Furthermore, for multi-tier applications, the
                 amount of resources needed to achieve their QoS goals
                 might be different at each tier and may also depend on
                 availability of resources in other tiers. In this
                 paper, we develop an adaptive resource control system
                 that dynamically adjusts the resource shares to
                 individual tiers in order to meet application-level QoS
                 goals while achieving high resource utilization in the
                 data center. Our control system is developed using
                 classical control theory, and we used a black-box
                 system modeling approach to overcome the absence of
                 first principle models for complex enterprise
                 applications and systems. To evaluate our controllers,
                 we built a testbed simulating a virtual data center
                 using Xen virtual machines. We experimented with two
                 multi-tier applications in this virtual data center: a
                 two-tier implementation of RUBiS, an online auction
                 site, and a two-tier Java implementation of TPC-W. Our
                 results indicate that the proposed control system is
                 able to maintain high resource utilization and meets
                 QoS goals in spite of varying resource demands from the
                 applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "application QoS; control theory; data center; resource
                 utilization; server consolidation; virtualization",
}

@Article{Pearce:2007:PA,
  author =       "David J. Pearce and Matthew Webster and Robert Berry
                 and Paul H. J. Kelly",
  title =        "Profiling with {AspectJ}",
  journal =      j-SPE,
  volume =       "37",
  number =       "7",
  pages =        "747--777",
  month =        jun,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.788",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:15 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  abstract =     "This paper investigates whether AspectJ can be used
                 for efficient profiling of Java programs. Profiling
                 differs from other applications of AOP (e.g. tracing),
                 since it necessitates efficient and often complex
                 interactions with the target program. As such, it was
                 uncertain whether AspectJ could achieve this goal.
                 Therefore, we investigate four common profiling
                 problems (heap usage, object lifetime, wasted time and
                 time-spent) and report on how well AspectJ handles
                 them. For each, we provide an efficient implementation,
                 discuss any trade-offs or limitations and present the
                 results of an experimental evaluation into the costs of
                 using it. Our conclusions are mixed. On the one hand,
                 we find that AspectJ is sufficiently expressive to
                 describe the four profiling problems and reasonably
                 efficient in most cases. On the other hand, we find
                 several limitations with the current AspectJ
                 implementation that severely hamper its suitability for
                 profiling.",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "23 Nov 2006",
}

@Article{Perez:2007:RJI,
  author =       "Carlos Javier P{\'e}rez and Hansgeorg Schwibbe and
                 Petra Weidner",
  title =        "{RAGE}: a {Java}-implemented Visual Random Generator",
  journal =      j-J-STAT-SOFT,
  volume =       "17",
  number =       "10",
  pages =        "1--10",
  month =        jan,
  year =         "2007",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Fri Jul 4 10:54:15 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jstatsoft.org/v17/i10",
  abstract =     "Carefully designed Java applications turn out to be
                 efficient and platform independent tools that can
                 compete well with classical implementations of
                 statistical software. The project presented here is an
                 example underlining this statement for random variate
                 generation. An end-user application called RAGE (Random
                 Variate Generator) is developed to generate random
                 variates from probability distributions. A Java class
                 library called JDiscreteLib has been designed and
                 implemented for the simulation of random variables from
                 the most usual discrete distributions inside RAGE. For
                 each distribution, specific and general algorithms are
                 available for this purpose. RAGE can also be used as an
                 interactive simulation tool for data and data summary
                 visualization.",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  pubdates =     "Submitted 2006-03-30; Accepted 2007-01-31",
}

@Article{Permandla:2007:TSP,
  author =       "Pratibha Permandla and Michael Roberson and
                 Chandrasekhar Boyapati",
  title =        "A type system for preventing data races and deadlocks
                 in the {Java Virtual Machine} language: 1",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "7",
  pages =        "10--10",
  month =        jul,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1254766.1254768",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:57:50 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In previous work on SafeJava we presented a type
                 system extension to the Java source language that
                 statically prevents data races and deadlocks in
                 multithreaded programs. SafeJava is expressive enough
                 to support common programming patterns, its type
                 checking is fast and scalable, and it requires little
                 programming overhead. SafeJava thus offers a promising
                 approach for making multithreaded programs more
                 reliable. This paper presents a corresponding type
                 system extension for the Java virtual machine language
                 (JVML). We call the resulting language SafeJVML.
                 Well-typed SafeJVML programs are guaranteed to be free
                 of data races and deadlocks. Designing a corresponding
                 type system for JVML is important because most Java
                 code is shipped in the JVML format. Designing a
                 corresponding type system for JVML is nontrivial
                 because of important differences between Java and JVML.
                 In particular, the absence of block structure in JVML
                 programs and the fact that they do not use named local
                 variables the way Java programs do make the type
                 systems for Java and JVML significantly different. For
                 example, verifying absence of races and deadlocks in
                 JVML programs requires performing an alias analysis,
                 something that was not necessary for verifying absence
                 of races and deadlocks in Java programs. This paper
                 presents static and dynamic semantics for Safe JVML. It
                 also includes a proof that the SafeJVML type system is
                 sound and that it prevents data races and deadlocks. To
                 the best of our knowledge, this is the first type
                 system for JVML that statically ensures absence of
                 synchronization errors.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "data races; deadlocks; ownership types; SafeJava",
}

@Article{Pizlo:2007:HRT,
  author =       "Filip Pizlo and Antony L. Hosking and Jan Vitek",
  title =        "Hierarchical real-time garbage collection",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "7",
  pages =        "123--133",
  month =        jul,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1273444.1254784",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:57:50 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Memory management is a critical issue for correctness
                 and performance in real-time embedded systems. Recent
                 work on real-time garbage collectors has shown that it
                 is possible to provide guarantees on worst-case pause
                 times and minimum mutator utilization time. This paper
                 presents a new hierarchical real-time garbage
                 collection algorithm for mixed-priority and
                 mixed-criticality environments. With hierarchical
                 garbage collection, real-time programmers can partition
                 the heap into a number of heaplets and for each
                 partition choose to run a separate collector with a
                 schedule that matches the allocation behavior and
                 footprint of the real-time task using it. This approach
                 lowers worst-case response times of real-time
                 applications by 26\%, while almost doubling mutator
                 utilization -- all with only minimal changes to the
                 application code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Java memory management; real time systems",
}

@Article{Pothier:2007:SOD,
  author =       "Guillaume Pothier and {\'E}ric Tanter and Jos{\'e}
                 Piquer",
  title =        "Scalable omniscient debugging",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "535--552",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297067",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Omniscient debuggers make it possible to navigate
                 backwards in time within a program execution trace,
                 drastically improving the task of debugging complex
                 applications. Still, they are mostly ignored in
                 practice due to the challenges raised by the
                 potentially huge size of the execution traces. This
                 paper shows that omniscient debugging can be
                 realistically realized through the use of different
                 techniques addressing efficiency, scalability and
                 usability. We present TOD, a portable Trace-Oriented
                 Debugger for Java, which combines an efficient
                 instrumentation for event generation, a specialized
                 distributed database for scalable storage and efficient
                 querying, support for partial traces in order to reduce
                 the trace volume to relevant events, and innovative
                 interface components for interactive trace navigation
                 and analysis in the development environment. Provided a
                 reasonable infrastructure, the performance of TOD
                 allows a responsive debugging experience in the face of
                 large programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "execution traces; interface components; omniscient
                 debugging; partial traces; scalability; specialized
                 distributed database",
}

@Book{Powers:2007:LJ,
  author =       "Shelley Powers",
  title =        "Learning {JavaScript}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xiv + 335",
  year =         "2007",
  ISBN =         "0-596-52746-2",
  ISBN-13 =      "978-0-596-52746-4",
  LCCN =         "QA76.73.J39 P7 2007eb; QA76.73.J39",
  bibdate =      "Tue Aug 5 18:07:00 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596527464",
  acknowledgement = ack-nhfb,
  remark =       "Covers Ajax and DOM.",
  subject =      "JavaScript (Computer program language)",
}

@Article{Rafieymehr:2007:JVD,
  author =       "Ali Rafieymehr and Richard McKeever",
  title =        "{Java} visual debugger",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "2",
  pages =        "75--79",
  month =        jun,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1272848.1272889",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:35 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#RafieymehrM07;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "We have developed a visual debugger for Java programs
                 (JVD) that makes use of smooth continuous graphical
                 animation and runtime state history retention to
                 display program state during execution, in order to
                 consider the viability of this approach in the context
                 of both software engineering and computer science
                 education.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rahimi:2007:PPA,
  author =       "Shahram Rahimi and Michael Wainer and Delano Lewis",
  title =        "A Performance and Programming Analysis of {Java}
                 Communication Mechanisms in a Distributed Environment",
  journal =      j-SCPE,
  volume =       "8",
  number =       "2",
  pages =        "209--226",
  month =        jun,
  year =         "2007",
  CODEN =        "????",
  ISSN =         "1895-1767",
  bibdate =      "Thu Sep 2 11:55:11 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.scpe.org/content/8/2.toc",
  URL =          "http://www.scpe.org/vols/vol08/no2/SCPE_8_2_07.pdf;
                 http://www.scpe.org/vols/vol08/no2/SCPE_8_2_07.zip",
  acknowledgement = ack-nhfb,
}

@Article{Ranganath:2007:SCJ,
  author =       "Venkatesh Prasad Ranganath and John Hatcliff",
  title =        "Slicing concurrent {Java} programs using {Indus} and
                 {Kaveri}",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "9",
  number =       "5--6",
  pages =        "489--504",
  month =        oct,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10009-007-0043-0",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Wed Jul 9 18:12:23 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1433-2779&volume=9&issue=5;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1433-2779&volume=9&issue=5&spage=489",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
  keywords =     "Concurrent Java; Indus; Kaveri; Program dependences;
                 Program slicing",
}

@Article{Reis:2007:BVD,
  author =       "Charles Reis and John Dunagan and Helen J. Wang and
                 Opher Dubrovsky and Saher Esmeir",
  title =        "{BrowserShield}: {Vulnerability}-driven filtering of
                 dynamic {HTML}",
  journal =      j-TWEB,
  volume =       "1",
  number =       "3",
  pages =        "11:1--11:??",
  month =        sep,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1281480.1281481",
  ISSN =         "1559-1131 (print), 1559-114X (electronic)",
  ISSN-L =       "1559-1131",
  bibdate =      "Fri Apr 24 18:17:14 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Vulnerability-driven filtering of network data can
                 offer a fast and easy-to-deploy alternative or
                 intermediary to software patching, as exemplified in
                 Shield [Wang et al. 2004]. In this article, we take
                 Shield's vision to a new domain, inspecting and
                 cleansing not just static content, but also dynamic
                 content. The dynamic content we target is the dynamic
                 HTML in Web pages, which have become a popular vector
                 for attacks. The key challenge in filtering dynamic
                 HTML is that it is undecidable to statically determine
                 whether an embedded script will exploit the browser at
                 runtime. We avoid this undecidability problem by
                 rewriting web pages and any embedded scripts into safe
                 equivalents, inserting checks so that the filtering is
                 done at runtime. The rewritten pages contain logic for
                 recursively applying runtime checks to dynamically
                 generated or modified web content, based on known
                 vulnerabilities. We have built and evaluated {\em
                 BrowserShield}, a general framework that performs this
                 dynamic instrumentation of embedded scripts, and that
                 admits policies for customized runtime actions like
                 vulnerability-driven filtering. We also explore other
                 applications on top of BrowserShield.",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "ACM Transactions on the Web (TWEB)",
  keywords =     "code rewriting; JavaScript; vulnerability; Web
                 browser",
}

@Article{Rellermeyer:2007:CSP,
  author =       "Jan S. Rellermeyer and Gustavo Alonso",
  title =        "{Concierge}: a service platform for
                 resource-constrained devices",
  journal =      j-OPER-SYS-REV,
  volume =       "41",
  number =       "3",
  pages =        "245--258",
  month =        jun,
  year =         "2007",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1272996.1273022",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:16:31 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "As mobile and embedded devices become widespread, the
                 management and configuration of the software in the
                 devices is increasingly turning into a critical issue.
                 OSGi is a business standard for the life cycle
                 management of Java software components. It is based on
                 a service oriented architecture where functional units
                 are decoupled and components can be managed
                 independently of each other. However, the focus
                 continuously shifts from the originally intended area
                 of small and embedded devices towards large-scaled
                 enterprise systems. As a result, implementations of the
                 OSGi framework are increasingly becoming more
                 heavyweight and less suitable for smaller computing
                 devices. In this paper, we describe the experience
                 gathered during the design of Concierge, an
                 implementation of the OSGi specification tailored to
                 resource-constrained devices. Comprehensive benchmarks
                 show that Concierge performs better than existing
                 implementations and consumes less resources.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "average bundle; concierge; OSGi; resource-constrained
                 devices; service oriented architecture",
}

@Article{Robbins:2007:JES,
  author =       "Steven Robbins",
  title =        "A {Java} execution simulator",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "536--540",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227491",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper describes JES, a Java Execution Simulator
                 that allows users to explore how a Java program
                 executes. This interactive simulator displays a
                 representation of a Java program and animates the
                 running of the program. Instructors can use JES to
                 demonstrate how data is moved when variables are
                 assigned, when parameters are passed, and when values
                 are returned by a method. JES is useful for comparing
                 how primitive and object values are manipulated. The
                 simulator also demonstrates scope rules, object
                 creation, inheritance and polymorphism. While the
                 simulator only supports variables of type double and
                 object and does not support conditionals or looping, it
                 allows users to write general Java programs that might
                 be used as examples in the first weeks of a CS 1
                 course. JES also has support for arrays of doubles and
                 objects. The simulator is written in Java and can be
                 run as an application or an applet. Support for the
                 simulator includes a simple mechanism for quickly
                 running the simulator on a program developed with a
                 standard Java development system.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roberts:2007:RAP,
  author =       "Eric Roberts",
  title =        "Resurrecting the applet paradigm",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "521--525",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227488",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Since the introduction of Java in 1995, educators have
                 recognized the potential of Java applets as an
                 educational resource. Sadly, the continuing evolution
                 of Java has made it harder to use applets, largely
                 because it is so difficult to keep those applets
                 compatible with the many different versions of the Java
                 runtime environment supported by existing browsers.
                 Over the past two years, the ACM Java Task Force (JTF)
                 has developed an effective strategy that makes it
                 possible to write applets using up-to-date versions of
                 Java that will nonetheless run on browsers that support
                 only the JDK 1.1 environment. This paper describes the
                 acm11.jar library, which uses this strategy to achieve
                 the desired backward compatibility. It also describes a
                 more general solution strategy for which we have a
                 prototype, although we are unable to release the
                 prototype until we get permission from Sun
                 Microsystems. The acm11.jar library can be used with
                 any Java applet and does not depend on adopting the JTF
                 library packages. That library therefore represents a
                 general resource for teachers and students who want to
                 write Java code that runs in web environments.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Robillard:2007:RCS,
  author =       "Martin P. Robillard and Gail C. Murphy",
  title =        "Representing concerns in source code",
  journal =      j-TOSEM,
  volume =       "16",
  number =       "1",
  pages =        "3:1--3:??",
  month =        feb,
  year =         "2007",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1189748.1189751",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Mon Jun 16 11:11:50 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "A software modification task often addresses several
                 concerns. A concern is anything a stakeholder may want
                 to consider as a conceptual unit, including features,
                 nonfunctional requirements, and design idioms. In many
                 cases, the source code implementing a concern is not
                 encapsulated in a single programming language module,
                 and is instead scattered and tangled throughout a
                 system. Inadequate separation of concerns increases the
                 difficulty of evolving software in a correct and
                 cost-effective manner. To make it easier to modify
                 concerns that are not well modularized, we propose an
                 approach in which the implementation of concerns is
                 documented in artifacts, called concern graphs. Concern
                 graphs are abstract models that describe which parts of
                 the source code are relevant to different concerns. We
                 present a formal model for concern graphs and the tool
                 support we developed to enable software developers to
                 create and use concern graphs during software evolution
                 tasks. We report on five empirical studies, providing
                 evidence that concern graphs support views and
                 operations that facilitate the task of modifying the
                 code implementing scattered concerns, are
                 cost-effective to create and use, and robust enough to
                 be used with different versions of a software system.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "aspect-oriented software development; concern
                 modeling; Java; Separation of concerns; software
                 evolution",
}

@Article{Rossi:2007:JJL,
  author =       "G. Rossi and E. Panegai and E. Poleo",
  title =        "{JSetL}: a {Java} library for supporting declarative
                 programming in {Java}",
  journal =      j-SPE,
  volume =       "37",
  number =       "2",
  pages =        "115--149",
  month =        feb,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.749",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:14 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "12 Sep 2006",
}

@InProceedings{Ruiz:2007:JLC,
  author =       "Irene Luque Ruiz and Miguel {\'A}ngel
                 G{\'o}mez-Nieto",
  title =        "A {Java} Library for the Calculation of Molecular
                 Descriptors",
  crossref =     "Simos:2007:CMS",
  volume =       "2B",
  pages =        "1347--1350",
  year =         "2007",
  bibdate =      "Thu Feb 21 14:34:40 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://proceedings.aip.org/getpdf/servlet/GetPDFServlet?filetype=pdf&amp;
                 id=APCPCS000963000002001347000001&amp; idtype=cvips",
  acknowledgement = ack-nhfb,
}

@Article{Saougkos:2007:RJB,
  author =       "D. Saougkos and G. Manis and K. Blekas and A. V.
                 Zarras",
  title =        "Revisiting {Java} Bytecode Compression for Embedded
                 and Mobile Computing Environments",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "33",
  number =       "7",
  pages =        "478--495",
  month =        jul,
  year =         "2007",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2007.1021",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4227829",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Sasitorn:2007:CNS,
  author =       "James Sasitorn and Robert Cartwright",
  title =        "Component {NEXTGEN}: a sound and expressive component
                 framework for {Java}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "153--170",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297039",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Developing a general component system for a statically
                 typed, object-oriented language is a challenging design
                 problem for two reasons. First, mutually recursive
                 references across components are common in
                 object-oriented programs --- an issue that has proven
                 troublesome in the context of component systems for
                 functional and procedural languages. Second,
                 inheritance across component boundaries can cause
                 accidental method overrides. Our recent research shows
                 that a component framework can be constructed for a
                 nominally typed object-oriented language supporting
                 first-class generic types simply by adding appropriate
                 annotations, syntactic sugar, and component-level
                 type-checking. The fundamental semantic building blocks
                 for constructing, type-checking and manipulating
                 components are provided by the underlying first-class
                 generic type system. To demonstrate the simplicity and
                 utility of this approach we have designed and
                 implemented an extension of Java called Component
                 NEXTGEN (CGEN). CGEN, which is based on the Sun Java
                 5.0 javac compiler, is backwards compatible with
                 existing Java binary code and runs on current Java
                 Virtual Machines.\par

                 The primary contribution of this paper is a technical
                 analysis of the subtle design issues involved in
                 building a component framework for a nominally typed
                 object-oriented language supporting first-class
                 generics. In contrast to component systems for
                 structurally typed languages, mutual recursion among
                 components is accommodated in the type system and
                 semantics without incorporating any special machinery.
                 Our analysis includes a presentation of Core CGEN
                 (CCG), a small, core language modeling the CGEN
                 framework. It is based on Featherweight GJ and
                 incorporates some ideas from MIXGEN. CCG adds the
                 essential features to support components, but nothing
                 more. Our discussion includes the type rules and
                 semantics for CCG, as well as a proof of type safety.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "components; custom class loader; first-class generics;
                 Java implementation; modules; signatures",
}

@Article{Sattar:2007:DCJ,
  author =       "Abdul Sattar and Torben Lorenzen",
  title =        "Develop a compiler in {Java} for a compiler design
                 course",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "2",
  pages =        "80--82",
  month =        jun,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1272848.1272890",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:35 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#SattarL07;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "The authors' Compiler Design course at Bridgewater
                 State College implemented a translator for a small
                 language using Java. The project was broken into five
                 assignments that included a language definition,
                 extension of this language, a lexical analyzer, a
                 recursive descent parser, and finally a code generator
                 that generated Jasmin assembly language code for the
                 JVM (Java Virtual Machine).",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Schneider:2007:OOD,
  author =       "Florian T. Schneider and Mathias Payer and Thomas R.
                 Gross",
  title =        "Online optimizations driven by hardware performance
                 monitoring",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "373--382",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1250734.1250777",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Hardware performance monitors provide detailed direct
                 feedback about application behavior and are an
                 additional source of information that a compiler may
                 use for optimization. A JIT compiler is in a good
                 position to make use of such information because it is
                 running on the same platform as the user applications.
                 As hardware platforms become more and more complex, it
                 becomes more and more difficult to model their
                 behavior. Profile information that captures general
                 program properties (like execution frequency of methods
                 or basic blocks) may be useful, but does not capture
                 sufficient information about the execution platform.
                 Machine-level performance data obtained from a hardware
                 performance monitor can not only direct the compiler to
                 those parts of the program that deserve its attention
                 but also determine if an optimization step actually
                 improved the performance of the application.\par

                 This paper presents an infrastructure based on a
                 dynamic compiler+runtime environment for Java that
                 incorporates machine-level information as an additional
                 kind of feedback for the compiler and runtime
                 environment. The low-overhead monitoring system
                 provides fine-grained performance data that can be
                 tracked back to individual Java bytecode instructions.
                 As an example, the paper presents results for object
                 co-allocation in a generational garbage collector that
                 optimizes spatial locality of objects on-line using
                 measurements about cache misses. In the best case, the
                 execution time is reduced by 14\% and L1 cache misses
                 by 28\%.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "dynamic optimization; hardware performance monitors;
                 Java; just-in-time compilation",
}

@Article{Sciore:2007:SSJ,
  author =       "Edward Sciore",
  title =        "{SimpleDB}: a simple {Java}-based multiuser syst for
                 teaching database internals",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "1",
  pages =        "561--565",
  month =        mar,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1227504.1227498",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:32 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In this paper we examine the probl of how to give
                 hands-on assignments in a database syst internals
                 course. We argue that current approaches are
                 inadequate, either because they are not sufficiently
                 comprehensive or because they require using software
                 that has a steep learning curve. We then describe
                 SimpleDB, which is software written expressly for such
                 a course. SimpleDB is a database syst in the spirit of
                 Minibase. Unlike Minibase, however, it supports
                 multiple users and transactions via JDBC, and its code
                 is easy to read and modify. We then describe a course
                 that we teach using SimpleDB, and discuss the
                 educational benefits resulting from it.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Settle:2007:DLS,
  author =       "A. Settle and C. Settle",
  title =        "Distance Learning and Student Satisfaction in {Java}
                 Programming Courses",
  journal =      j-J-UCS,
  volume =       "13",
  number =       "9",
  pages =        "1270--1286",
  month =        "????",
  year =         "2007",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Thu Jul 10 06:41:41 MDT 2008",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_13_9/distance_learning_and_student",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
}

@Article{Sewell:2007:OET,
  author =       "Peter Sewell and Francesco Zappa Nardelli and Scott
                 Owens and Gilles Peskine and Thomas Ridge and Susmit
                 Sarkar and Rok Strni{\v{s}}a",
  title =        "{Ott}: effective tool support for the working
                 semanticist",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "9",
  pages =        "1--12",
  month =        sep,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1291220.1291155",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:59:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "It is rare to give a semantic definition of a
                 full-scale programming language, despite the many
                 potential benefits. Partly this is because the
                 available metalanguages for expressing semantics -
                 usually either L$^a$ T$_E$ X for informal mathematics,
                 or the formal mathematics of a proof assistant - make
                 it much harder than necessary to work with large
                 definitions.\par

                 We present a metalanguage specifically designed for
                 this problem, and a tool, ott, that sanity-checks such
                 definitions and compiles them into proof assistant code
                 for Coq, HOL, Isabelle, and (in progress) Twelf,
                 together with L$^a$ T$_E$ X code for production-quality
                 typesetting, and OCaml boilerplate. The main
                 innovations are:(1) metalanguage design to make
                 definitions concise, and easy to read and edit;(2) an
                 expressive but intuitive metalanguage for specifying
                 binding structures; and (3) compilation to proof
                 assistant code.\par

                 This has been tested in substantial case studies,
                 including modular specifications of calculi from the
                 TAPL text, a Lightweight Java with Java JSR 277/294
                 module system proposals, and a large fragment of OCaml
                 (around 306 rules), with machine proofs of various
                 soundness results. Our aim with this work is to enable
                 a phase change: making it feasible to work routinely,
                 without heroic effort, with rigorous semantic
                 definitions of realistic languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Shankar:2007:DAI,
  author =       "Ajeet Shankar and Rastislav Bod{\'\i}k",
  title =        "{DITTO}: automatic incrementalization of data
                 structure invariant checks (in {Java)}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "310--319",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1250734.1250770",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present DITTO, an automatic incrementalizer for
                 dynamic, side-effect-free data structure invariant
                 checks. Incrementalization speeds up the execution of a
                 check by reusing its previous executions, checking the
                 invariant anew only the changed parts of the data
                 structure. DITTO exploits properties specific to the
                 domain of invariant checks to automate and simplify the
                 process without restricting what mutations the program
                 can perform. Our incrementalizer works for modern
                 imperative languages such as Java and C\#. It can
                 incrementalize,for example, verification of red-black
                 tree properties and the consistency of the hash code in
                 a hash table bucket. Our source-to-source
                 implementation for Java is automatic, portable, and
                 efficient. DITTO provides speedups on data structures
                 with as few as 100 elements; on larger data structures,
                 its speedups are characteristic of non-automatic
                 incrementalizers: roughly 5-fold at 5,000 elements,and
                 growing linearly with data structure size.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "automatic; data structure invariants; dynamic
                 optimization; incrementalization; optimistic
                 memoization; program analysis",
}

@Article{Shpeisman:2007:EIO,
  author =       "Tatiana Shpeisman and Vijay Menon and Ali-Reza
                 Adl-Tabatabai and Steven Balensiefer and Dan Grossman
                 and Richard L. Hudson and Katherine F. Moore and Bratin
                 Saha",
  title =        "Enforcing isolation and ordering in {STM}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "78--88",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1273442.1250744",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Transactional memory provides a new concurrency
                 control mechanism that avoids many of the pitfalls of
                 lock-based synchronization. High-performance software
                 transactional memory (STM) implementations thus far
                 provide weak atomicity: Accessing shared data both
                 inside and outside a transaction can result in
                 unexpected, implementation-dependent behavior. To
                 guarantee isolation and consistent ordering in such a
                 system, programmers are expected to enclose all
                 shared-memory accesses inside transactions.\par

                 A system that provides strong atomicity guarantees
                 isolation even in the presence of threads that access
                 shared data outside transactions. A strongly-atomic
                 system also orders transactions with conflicting
                 non-transactional memory operations in a consistent
                 manner.\par

                 In this paper, we discuss some surprising pitfalls of
                 weak atomicity, and we present an STM system that
                 avoids these problems via strong atomicity. We
                 demonstrate how to implement non-transactional data
                 accesses via efficient read and write barriers, and we
                 present compiler optimizations that further reduce the
                 overheads of these barriers. We introduce a dynamic
                 escape analysis that differentiates private and public
                 data at runtime to make barriers cheaper and a static
                 not-accessed-in-transaction analysis that removes many
                 barriers completely. Our results on a set of Java
                 programs show that strong atomicity can be implemented
                 efficiently in a high-performance STM system.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "code generation; compiler optimizations; escape
                 analysis; isolation; ordering; strong atomicity;
                 transactional memory; virtual machines; weak
                 atomicity",
}

@Article{Simon:2007:DAN,
  author =       "Beth Simon and Sue Fitzgerald and Ren{\'e}e McCauley
                 and Susan M. Haller and John Hamer and Brian Hanks and
                 Michael T. Helmick and Jan Erik Mostr{\"o}m and Judy
                 Sheard and Lynda Thomas",
  title =        "Debugging assistance for novices: a video repository",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "4",
  pages =        "137--151",
  month =        dec,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1345375.1345437",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:39 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#SimonFMHHHHMST07;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "This paper reports on the efforts of an ITiCSE 2007
                 working group with the aim of producing a publicly
                 available, searchable, tagable, Web 2.0-style
                 repository of short debugging videos. This repository
                 may be accessed from http://debug.csi.muohio.edu/. The
                 videos are aimed at novice Java programmers who may
                 need help debugging when none is available (e.g., in
                 the middle of the night before the homework is due).
                 However, it could also be used by instructors of
                 introductory programming. Here we discuss our
                 motivation in creating this repository and detail the
                 process we followed and the products we produced.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Skinner:2007:UA,
  author =       "Jesse Skinner",
  title =        "Unobtrusive {Ajax}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  year =         "2007",
  ISBN =         "0-596-51024-1",
  ISBN-13 =      "978-0-596-51024-4",
  LCCN =         "TK5105.8885.A52",
  bibdate =      "Tue Aug 5 17:54:06 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "O'Reilly shortcuts",
  URL =          "http://www.oreilly.com/catalog/9780596510244",
  acknowledgement = ack-nhfb,
  subject =      "Ajax (Web site development technology); Web sites;
                 Design; JavaScript (Computer program language)",
}

@Article{Small:2007:DER,
  author =       "Margot Small",
  title =        "Design error and reusability",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "2",
  pages =        "185--187",
  month =        jun,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1272848.1272906",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:35 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#Small07;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "Failure to account for the placement of components of
                 a complex system on different servers leads to problems
                 in reusability. We examine a case involving an
                 Enterprise JavaBean (EJB) application using Java 2
                 Platform, Enterprise Edition (J2EE). In creating an EJB
                 entity bean class to represent persistent data, the
                 designer assumed that all EJB client objects would be
                 local. Attempts by developers, whose programs were on
                 another server, to create an entity bean object,
                 failed. Lack of documentation by the original designer
                 and lack of training in use of entity beans led to long
                 delays in construction of new applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Spring:2007:SHT,
  author =       "Jesper H. Spring and Jean Privat and Rachid Guerraoui
                 and Jan Vitek",
  title =        "{StreamFlex}: high-throughput stream programming in
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "211--228",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297043",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The stream programming paradigm aims to expose
                 coarse-grained parallelism in applications that must
                 process continuous sequences of events. The appeal of
                 stream programming comes from its conceptual
                 simplicity. A program is a collection of independent
                 filters which communicate by the means of
                 uni-directional data channels. This model lends itself
                 naturally to concurrent and efficient implementations
                 on modern multiprocessors. As the output behavior of
                 filters is determined by the state of their input
                 channels, stream programs have fewer opportunities for
                 the errors (such as data races and deadlocks) that
                 plague shared memory concurrent programming. This paper
                 introduces StreamFlex, an extension to Java which
                 marries streams with objects and thus enables to
                 combine, in the same Java virtual machine, stream
                 processing code with traditional object-oriented
                 components. StreamFlex targets high-throughput
                 low-latency applications with stringent
                 quality-of-service requirements. To achieve these
                 goals, it must, at the same time, extend and restrict
                 Java. To allow for program optimization and provide
                 latency guarantees, the StreamFlex compiler restricts
                 Java by imposing a stricter typing discipline on
                 filters. On the other hand, StreamFlex extends the Java
                 virtual machine with real-time capabilities,
                 transactional memory and type-safe region-based
                 allocation. The result is a rich and expressive
                 language that can be implemented efficiently.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Java Virtual Machine; memory management; ownership
                 types; real-time systems; stream processing",
}

@Article{Sridharan:2007:TS,
  author =       "Manu Sridharan and Stephen J. Fink and Rastislav
                 Bodik",
  title =        "Thin slicing",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "112--122",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1250734.1250748",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Program slicing systematically identifies parts of a
                 program relevant to a seed statement. Unfortunately,
                 slices of modern programs often grow too large for
                 human consumption. We argue that unwieldy slices arise
                 primarily from an overly broad definition of relevance,
                 rather than from analysis imprecision. While a
                 traditional slice includes all statements that may
                 affect a point of interest, not all such statements
                 appear equally relevant to a human.\par

                 As an improved method of finding relevant statements,
                 we propose thin slicing. A thin slice consists only of
                 producer statements for the seed, i.e., those
                 statements that help compute and copy a value to the
                 seed. Statements that explain why producers affect the
                 seed are excluded. For example, for a seed that reads a
                 value from a container object, a thin slice includes
                 statements that store the value into the container, but
                 excludes statements that manipulate pointers to the
                 container itself. Thin slices can also be
                 hierarchically expanded to include statements
                 explaining how producers affect the seed, yielding a
                 traditional slice in the limit.\par

                 We evaluated thin slicing for a set of debugging and
                 program understanding tasks. The evaluation showed that
                 thin slices usually included the desired statements for
                 the tasks (e.g., the buggy statement for a debugging
                 task). Furthermore, in simulated use of a slicing tool,
                 thin slices revealed desired statements after
                 inspecting 3.3 times fewer statements than traditional
                 slicing for our debugging tasks and 9.4 times fewer
                 statements for our program understanding tasks.
                 Finally, our thin slicing algorithm scales well to
                 relatively large Java benchmarks, suggesting that thin
                 slicing represents an attractive option for practical
                 tools.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "debugging; program understanding; slicing",
}

@Article{Strnisa:2007:JMS,
  author =       "Rok Strni{\v{s}}a and Peter Sewell and Matthew
                 Parkinson",
  title =        "The {Java} module system: core design and semantic
                 definition",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "499--514",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297064",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java has no module system. Its packages only subdivide
                 the class name space, allowing only a very limited form
                 of component-level information hiding and reuse. Two
                 Java Community Processes have started addressing this
                 problem: one describes the runtime system and has
                 reached an early draft stage, while the other considers
                 the developer's view and only has a straw-man proposal.
                 Both are natural language documents, which inevitably
                 contain ambiguities.\par

                 In this work we design and formalize a core module
                 system for Java. Where the JCP documents are complete,
                 we follow them closely; elsewhere we make reasonable
                 choices. We define the syntax, the type system, and the
                 operational semantics of an LJAM language, defining
                 these rigorously in the Isabelle/HOL automated proof
                 assistant. Using this formalization, we identify
                 various issues with the module system. We highlight the
                 underlying design decisions, and discuss several
                 alternatives and their benefits. Our Isabelle/HOL
                 definitions should provide a basis for further
                 consideration of the design alternatives, for reference
                 implementations, and for proofs of soundness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "JAM; Java; LJAM; module; superpackage",
}

@Book{Stubblebine:2007:REP,
  author =       "Tony Stubblebine",
  title =        "Regular expression pocket reference: Regular
                 expressions for {Perl}, {Ruby}, {PHP}, {Python}, {C},
                 {Java}, and {.NET}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "vii + 117",
  year =         "2007",
  ISBN =         "0-596-51427-1 (paperback)",
  ISBN-13 =      "978-0-596-51427-3 (paperback)",
  LCCN =         "QA76.9.T48 S78 2007",
  bibdate =      "Thu Apr 16 10:31:52 MDT 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/fy0802/2007281074.html",
  acknowledgement = ack-nhfb,
  subject =      "Text processing (Computer science); Programming
                 languages (Electronic computers); Syntax",
}

@Article{Sward:2007:UAS,
  author =       "Ricky E. Sward",
  title =        "Using {Ada} in a service-oriented architecture",
  journal =      j-SIGADA-LETTERS,
  volume =       "27",
  number =       "3",
  pages =        "63--68",
  month =        dec,
  year =         "2007",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1315580.1315596",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 09:18:04 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "One of the latest trends in software architecture is
                 known as a Service-Oriented Architecture (SOA). This
                 paper describes SOA briefly and one of the enabling
                 technologies of SOA, namely the Enterprise Service Bus
                 (ESB). The paper goes on to describe two ways in which
                 Ada applications can be built as services in a SOA. The
                 first method is to build the Ada code as a Dynamically
                 Linked Library (DLL) and wrap it in Java code. The
                 second method is to use the Ada Web Server (AWS) and
                 build a direct interface to the Ada code that is needed
                 to plug into the ESB.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
  keywords =     "enterprise service bus; ESB; service-oriented
                 architecture; SOA; software architecture",
}

@Article{Tan:2007:IIL,
  author =       "Gang Tan and Greg Morrisett",
  title =        "{Ilea}: inter-language analysis across {Java} and
                 {C}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "39--56",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297031",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java bug finders perform static analysis to find
                 implementation mistakes that can lead to exploits and
                 failures; Java compilers perform static analysis for
                 optimization. If Java programs contain foreign function
                 calls to C libraries, however, static analysis is
                 forced to make either optimistic or pessimistic
                 assumptions about the foreign function calls, since
                 models of the C libraries are typically not
                 available.\par

                 We propose ILEA (stands for Inter-LanguagE Analysis),
                 which is a framework that enables existing Java
                 analyses to understand the behavior of C code. Our
                 framework includes: (1) a novel specification language,
                 which extends the Java Virtual Machine Language (JVML)
                 with a few primitives that approximate the effects that
                 the C code might have; (2) an automatic specification
                 extractor, which builds models of the C code. Comparing
                 to other possible specification languages, our language
                 is expressive, yet facilitates construction of
                 automatic specification extractors. Furthermore,
                 because the specification language is based on the
                 JVML, existing Java analyses can be easily migrated to
                 utilize specifications in the language. We also
                 demonstrate the utility of the specifications
                 generated, by modifying an existing non-null analysis
                 to identify null-related bugs in Java applications that
                 contain C libraries. Our preliminary experiments
                 identified dozens of null-related bugs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "inter-language analysis; Java Native Interface; JNI;
                 JVML; specification extraction",
}

@Article{Tang:2007:PRI,
  author =       "Audrey Tang",
  title =        "{Perl 6}: reconciling the irreconcilable",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "1--1",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1190215.1190218",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Perl is a general-purpose language, known for its vast
                 number of freely available libraries. The Perl 6
                 project was started to improve the language's support
                 for multi-paradigmatic programming, while retaining
                 compatibility with the existing code base. This talk
                 discusses how Perl 6 attempts to reconcile various
                 competing paradigms in the field of programming
                 language design, such as static vs. dynamic
                 typechecking, nominal vs. structural subtyping,
                 prototype vs. class-based objects, and lazy vs. eager
                 evaluation. Moreover, this talk also covers the design
                 and development of Pugs, a self-hosting Perl 6
                 implementation bootstrapped from Haskell, targeting
                 multiple runtime environments, including Perl 5,
                 JavaScript and Parrot.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Titzer:2007:ESA,
  author =       "Ben L. Titzer and Joshua Auerbach and David F. Bacon
                 and Jens Palsberg",
  title =        "The {ExoVM} system for automatic {VM} and application
                 reduction",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "352--362",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1250734.1250775",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Embedded systems pose unique challenges to Java
                 application developers and virtual machine designers.
                 Chief among these challenges is the memory footprint of
                 both the virtual machine and the applications that run
                 within it. With the rapidly increasing set of features
                 provided by the Java language, virtual machine
                 designers are often forced to build custom
                 implementations that make various tradeoffs between the
                 footprint of the virtual machine and the subset of the
                 Java language and class libraries that are supported.
                 In this paper, we present the ExoVM, a system in which
                 an application is initialized in a fully featured
                 virtual machine, and then the code, data, and virtual
                 machine features necessary to execute it are packaged
                 into a binary image. Key to this process is feature
                 analysis, a technique for computing the reachable code
                 and data of a Java program and its implementation
                 inside the VM simultaneously. The ExoVM reduces the
                 need to develop customized embedded virtual machines by
                 reusing a single VM infrastructure and automatically
                 eliding the implementation of unused Java features on a
                 per-program basis. We present a constraint-based
                 instantiation of the analysis technique, an
                 implementation in IBM's J9 Java VM, experiments
                 evaluating our technique for the EEMBC benchmark suite,
                 and some discussion of the individual costs of some of
                 Java's features. Our evaluation shows that our system
                 can reduce the non-heap memory allocation of the
                 virtual machine by as much as 75\%. We discuss VM and
                 language design decisions that our work shows are
                 important in targeting embedded systems, supporting the
                 long-term goal of a common VM infrastructure spanning
                 from motes to large servers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "dead code elimination; embedded systems; feature
                 analysis; persistence; pre-initialization; static
                 analysis; static compilation; VM design; VM
                 modularity",
}

@Article{Venstermans:2007:JOH,
  author =       "Kris Venstermans and Lieven Eeckhout and Koen {De
                 Bosschere}",
  title =        "{Java} object header elimination for reduced memory
                 consumption in 64-bit virtual machines",
  journal =      j-TACO,
  volume =       "4",
  number =       "3",
  pages =        "17:1--17:??",
  month =        sep,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1275937.1275941",
  ISSN =         "1544-3566 (print), 1544-3973 (electronic)",
  ISSN-L =       "1544-3566",
  bibdate =      "Mon Jun 16 11:41:20 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Memory performance is an important design issue for
                 contemporary computer systems given the huge
                 processor/memory speed gap. This paper proposes a
                 space-efficient Java object model for reducing the
                 memory consumption of 64-bit Java virtual machines. We
                 completely eliminate the object header through typed
                 virtual addressing (TVA) or implicit typing. TVA
                 encodes the object type in the object's virtual address
                 by allocating all objects of a given type in a
                 contiguous memory segment. This allows for removing the
                 type information as well as the status field from the
                 object header. Whenever type and status information is
                 needed, masking is applied to the object's virtual
                 address for obtaining an offset into type and status
                 information structures. Unlike previous work on
                 implicit typing, we apply TVA to a selected number of
                 frequently allocated object types, hence, the name
                 selective TVA (STVA); this limits the amount of memory
                 fragmentation. In addition to applying STVA, we also
                 compress the type information block (TIB) pointers for
                 all objects that do not fall under TVA. We implement
                 the space-efficient Java object model in the 64-bit
                 version of the Jikes RVM on an AIX IBM platform and
                 compare its performance against the traditionally used
                 Java object model using a multitude of Java benchmarks.
                 We conclude that the space-efficient Java object model
                 reduces memory consumption by on average 15\% (and up
                 to 45\% for some benchmarks). About one-half the
                 reduction comes from TIB pointer compression; the other
                 one-half comes from STVA. In terms of performance, the
                 space-efficient object model generally does not affect
                 performance; however, for some benchmarks we observe
                 statistically significant performance speedups, up to
                 20\%.",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "ACM Transactions on Architecture and Code Optimization
                 (TACO)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J924",
  keywords =     "64-bit implementation; implicit typing; Java object
                 model; typed virtual addressing; Virtual machine",
}

@Article{Vilner:2007:FCC,
  author =       "Tamar Vilner and Ela Zur and Judith Gal-Ezer",
  title =        "Fundamental concepts of {CS1}: procedural vs. object
                 oriented paradigm --- a case study",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "171--175",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268835",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  abstract =     "For some time, there has been an ongoing debate among
                 Computer Science (CS) educators about the advantages
                 and disadvantages of the shift from the procedural to
                 the Object-Oriented (OO) paradigm. In our institution,
                 we decided to implement this shift in the year 2005,
                 when we changed our introductory course and started,
                 right from the beginning, to teach the Java language,
                 instead of the procedural facet of C++. While we still
                 offered the two different paradigms in parallel, we had
                 two similar groups each taking one of the paradigms.
                 These two groups served as the research population of
                 the study we describe in this paper. We examined
                 whether the shift from the procedural to the OO
                 paradigm had an effect on students' perception of
                 fundamental concepts taught in the introductory
                 course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Wang:2007:PAS,
  author =       "Yi-Hsien Wang and I-Chen Wu and Jyh-Yaw Jiang",
  title =        "A portable {AWT\slash Swing} architecture for {Java}
                 game development",
  journal =      j-SPE,
  volume =       "37",
  number =       "7",
  pages =        "727--745",
  month =        jun,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.786",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:15 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "2 Nov 2006",
}

@Article{Wassermann:2007:SCD,
  author =       "Gary Wassermann and Carl Gould and Zhendong Su and
                 Premkumar Devanbu",
  title =        "Static checking of dynamically generated queries in
                 database applications",
  journal =      j-TOSEM,
  volume =       "16",
  number =       "4",
  pages =        "14:1--14:??",
  month =        sep,
  year =         "2007",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1276933.1276935",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Mon Jun 16 11:12:55 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Many data-intensive applications dynamically construct
                 queries in response to client requests and execute
                 them. Java servlets, for example, can create strings
                 that represent SQL queries and then send the queries,
                 using JDBC, to a database server for execution. The
                 servlet programmer enjoys static checking via Java's
                 strong type system. However, the Java type system does
                 little to check for possible errors in the dynamically
                 generated SQL query strings. Thus, a type error in a
                 generated selection query (e.g., comparing a string
                 attribute with an integer) can result in an SQL runtime
                 exception. Currently, such defects must be rooted out
                 through careful testing, or (worse) might be found by
                 customers at runtime. In this article, we present a
                 sound, static program analysis technique to verify that
                 dynamically generated query strings do not contain type
                 errors. We describe our analysis technique and provide
                 soundness results for our static analysis algorithm. We
                 also describe the details of a prototype tool based on
                 the algorithm and present several illustrative defects
                 found in senior software-engineering student-team
                 projects, online tutorial examples, and a real-world
                 purchase order system written by one of the authors.",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "context-free language reachability; database queries;
                 JDBC; Static checking",
}

@Book{Weaver:2007:JSD,
  author =       "James L. Weaver",
  title =        "{JavaFX} script: dynamic {Java} scripting for rich
                 {Internet}\slash client-side applications",
  publisher =    "Apress",
  address =      "Berkeley, CA, USA",
  pages =        "xi + 201",
  year =         "2007",
  ISBN =         "1-59059-945-4",
  ISBN-13 =      "978-1-59059-945-7",
  LCCN =         "????",
  bibdate =      "Tue Jan 27 14:50:16 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  acknowledgement = ack-nhfb,
}

@Article{Wyman:2007:ZZI,
  author =       "L. W. Wyman and J. Casta{\~n}o and J. P. Kubala and R.
                 J. Maddison and B. R. Pierce and R. R. Rogers",
  title =        "{zAAPs} and {zIIPs}: Increasing the strategic value of
                 {System z}",
  journal =      j-IBM-JRD,
  volume =       "51",
  number =       "1/2",
  pages =        "77--86",
  month =        jan # " \slash " # mar,
  year =         "2007",
  CODEN =        "IBMJAE",
  ISSN =         "0018-8646 (print), 2151-8556 (electronic)",
  ISSN-L =       "0018-8646",
  bibdate =      "Fri Feb 9 20:31:06 MST 2007",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/",
  URL =          "http://www.research.ibm.com/journal/rd/511/wyman.html",
  abstract =     "With the addition of IBM System z application assist
                 processors (zAAPs) and integrated information
                 processors (zIIPs) to the portfolio of special-purpose
                 IBM System z processors, the reinvention of the IBM
                 mainframe continues. Jointly, zAAPs and zIIPs provide
                 significant IBM System z9e integrated and
                 cost-effective processing cycles for today's strategic
                 Javae and DB2t for z/OS programming platforms which are
                 increasingly fundamental to enterprise-class business
                 environments. Overviews of zAAPs and zIIPs are
                 presented that describe their functionality, design,
                 and use by the z/OS operating system to achieve the
                 execution of both Java and z/OS DB2 programming
                 functions.",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Journal of Research and Development",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520",
  ordernumber =  "????",
}

@Article{Xiao:2007:HIB,
  author =       "Gaoyu Xiao and Aamer Aziz and Wieslaw L. Nowinski",
  title =        "Hybrid image-based collision detection in {Java 3D}",
  journal =      j-SPE,
  volume =       "37",
  number =       "9",
  pages =        "963--982",
  day =          "25",
  month =        jul,
  year =         "2007",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.796",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Oct 17 18:33:16 MDT 2007",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "19 Dec 2006",
}

@Article{Xinogalos:2007:TJB,
  author =       "Stelios Xinogalos and Maya Satratzemi and Vassilios
                 Dagdilelis",
  title =        "Teaching {Java} with {BlueJ}: a two-year experience",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "3",
  pages =        "345--345",
  month =        sep,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1269900.1268914",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:36 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of the 12th Annual SIGCSE Conference on
                 Innovation and Technology in Computer Science Education
                 (ITiCSE'07).",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Yang:2007:DPP,
  author =       "X. Yang and A. Akram and R. J. Allan",
  title =        "Developing portals\slash portlets using {Enterprise
                 JavaBeans} for {Grid} users",
  journal =      j-CCPE,
  volume =       "19",
  number =       "12",
  pages =        "1633--1641",
  day =          "25",
  month =        aug,
  year =         "2007",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1200",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:15 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "7 Jun 2007",
}

@Article{Yang:2007:ERM,
  author =       "Byung-Sun Yang and Junpyo Lee and SeungIl Lee and
                 Seongbae Park and Yoo C. Chung and Suhyun Kim and Kemal
                 Ebcioglu and Erik Altman and Soo-Mook Moon",
  title =        "Efficient Register Mapping and Allocation in {LaTTe},
                 an Open-Source {Java} Just-in-Time Compiler",
  journal =      j-IEEE-TRANS-PAR-DIST-SYS,
  volume =       "18",
  number =       "1",
  pages =        "57--69",
  month =        jan,
  year =         "2007",
  CODEN =        "ITDSEO",
  DOI =          "https://doi.org/10.1109/TPDS.2007.10",
  ISSN =         "1045-9219 (print), 1558-2183 (electronic)",
  ISSN-L =       "1045-9219",
  bibdate =      "Thu Jul 3 14:26:51 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Parallel and Distributed
                 Systems",
  journal-URL =  "http://www.computer.org/tpds/archives.htm",
}

@Article{Yu:2007:JIB,
  author =       "Dachuan Yu and Ajay Chander and Nayeem Islam and Igor
                 Serikov",
  title =        "{JavaScript} instrumentation for browser security",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "237--249",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1190216.1190252",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "It is well recognized that JavaScript can be exploited
                 to launch browser-based security attacks. We propose to
                 battle such attacks using program instrumentation.
                 Untrusted JavaScript code goes through a rewriting
                 process which identifies relevant operations, modifies
                 questionable behaviors, and prompts the user (a web
                 page viewer) for decisions on how to proceed when
                 appropriate. Our solution is parametric with respect to
                 the security policy-the policy is implemented
                 separately from the rewriting, and the same rewriting
                 process is carried out regardless of which policy is in
                 use. Be-sides providing a rigorous account of the
                 correctness of our solution, we also discuss practical
                 issues including policy management and prototype
                 experiments. A useful by-product of our work is an
                 operational semantics of a core subset of JavaScript,
                 where code embedded in (HTML) documents may generate
                 further document pieces (with new code embedded) at
                 runtime, yielding a form of self-modifying code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "edit automata; JavaScript; program instrumentation;
                 web browser",
}

@Article{Zhang:2007:ACA,
  author =       "Weilei Zhang and Barbara G. Ryder",
  title =        "Automatic construction of accurate application call
                 graph with library call abstraction for {Java}",
  journal =      j-J-SOFTW-MAINT-EVOL,
  volume =       "19",
  number =       "4",
  pages =        "231--252",
  month =        jul,
  year =         "2007",
  CODEN =        "JSMECT",
  DOI =          "https://doi.org/10.1002/smr.351",
  ISSN =         "1532-060X (print), 1532-0618 (electronic)",
  ISSN-L =       "1532-060X",
  bibdate =      "Wed Jan 31 10:00:21 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/jsoftwmaintevol.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Software Maintenance and Evolution:
                 Research and Practice",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
}

@Article{Abraham:2008:DPS,
  author =       "Erika {\'A}brah{\'a}m and Frank S. de Boer and
                 Willem-Paul de Roever and Martin Steffen",
  title =        "A Deductive Proof System for Multithreaded {Java} with
                 Exceptions",
  journal =      j-FUND-INFO,
  volume =       "82",
  number =       "4",
  pages =        "391--463",
  month =        jul,
  year =         "2008",
  CODEN =        "FUMAAJ",
  ISSN =         "0169-2968 (print), 1875-8681 (electronic)",
  ISSN-L =       "0169-2968",
  bibdate =      "Sat Mar 5 17:06:39 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/multithreading.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Fundamenta Informaticae",
  journal-URL =  "http://content.iospress.com/journals/fundamenta-informaticae",
}

@Article{Alagic:2008:GJP,
  author =       "Suad Alagi{\'c} and Mark Royer",
  title =        "Genericity in {Java}: persistent and database systems
                 implications",
  journal =      j-VLDB-J,
  volume =       "17",
  number =       "4",
  pages =        "847--878",
  month =        jul,
  year =         "2008",
  CODEN =        "VLDBFR",
  ISSN =         "1066-8888 (print), 0949-877X (electronic)",
  ISSN-L =       "1066-8888",
  bibdate =      "Mon Jun 23 10:51:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Lack of parametric polymorphism has been a major
                 obstacle for making Java a viable database programming
                 language. Regrettably, a recently accepted solution for
                 genericity in Java 5.0 has far-reaching negative
                 implications for persistent and database systems
                 because of static and dynamic type violations. Severe
                 implications occur in typical database transactions
                 when processing a variety of database collections.
                 Well-known approaches to persistence in Java, including
                 Java's own persistence mechanism, do not perform
                 correctly due to incorrect dynamic type information
                 that gets promoted to persistence along with objects.
                 Dynamic checking of types of objects fetched from the
                 persistent store may now lead to unexpected type
                 violations. Further problems occur in reflective
                 transactions as Java Core Reflection now allows dynamic
                 type violations without detecting them or throwing
                 standard exceptions. All of this shows that extending
                 Java with parametric polymorphism has not made Java a
                 more viable database programming language. Both legacy
                 systems, such as those based on the Java binding of the
                 ODMG or JDO, and future Java-related persistent and
                 database technologies will be affected. The source of
                 these problems is in an implementation idiom called
                 type erasure. This paper provides formal proofs of the
                 above implications of type erasure along with specific
                 samples of code in Java 5.0 illustrating these
                 violations. The limitations of the virtual platform and
                 extensions required for persistent systems to solve
                 this problem are also elaborated.",
  acknowledgement = ack-nhfb,
  fjournal =     "VLDB Journal: Very Large Data Bases",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J869",
  keywords =     "Java; object persistence; object-oriented databases;
                 reflection; transactions; type systems; virtual
                 platforms",
}

@Article{Allenstein:2008:QSS,
  author =       "Brett Allenstein and Andrew Yost and Paul Wagner and
                 Joline Morrison",
  title =        "A query simulation system to illustrate database query
                 execution",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "493--497",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352301",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "The underlying processes that enable database query
                 execution are fundamental to understanding database
                 management systems. However, these processes are
                 complex and can be difficult to explain and illustrate.
                 To address this problem, we have developed a Java-based
                 query simulation system that enables students to
                 visualize the steps involved in processing DML queries.
                 We performed a field experiment to evaluate the system,
                 and the results suggest that the system improves
                 student comprehension of the query execution process.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Anonymous:2008:BRBe,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{SAS Graphics for Java:
                 Examples Using SAS AppDev Studio and the Output
                 Delivery System}} by Wendy Bohnenkamp; Jackie
                 Iverson}",
  journal =      j-TECHNOMETRICS,
  volume =       "50",
  number =       "3",
  pages =        "412--412",
  month =        aug,
  year =         "2008",
  CODEN =        "TCMTA2",
  DOI =          "https://doi.org/10.2307/25471510",
  ISSN =         "0040-1706 (print), 1537-2723 (electronic)",
  ISSN-L =       "0040-1706",
  bibdate =      "Sat Jun 21 13:21:24 MDT 2014",
  bibsource =    "http://www.jstor.org/journals/00401706.html;
                 http://www.jstor.org/stable/i25471481;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sas.bib;
                 http://www.math.utah.edu/pub/tex/bib/technometrics2000.bib",
  URL =          "http://www.jstor.org/stable/25471510",
  acknowledgement = ack-nhfb,
  fjournal =     "Technometrics",
  journal-URL =  "http://www.jstor.org/journals/00401706.html",
}

@Article{Appert:2008:SAS,
  author =       "C. Appert and M. Beaudouin-Lafon",
  title =        "{SwingStates}: adding state machines to {Java} and the
                 {Swing} toolkit",
  journal =      j-SPE,
  volume =       "38",
  number =       "11",
  pages =        "1149--1182",
  day =          "??",
  month =        sep,
  year =         "2008",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.867",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Mar 17 09:55:30 MDT 2010",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "Dec 19 2007 10:50AM",
}

@Article{Arnold:2008:QER,
  author =       "Matthew Arnold and Martin Vechev and Eran Yahav",
  title =        "{QVM}: an efficient runtime for detecting defects in
                 deployed systems",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "143--162",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449776",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Coping with software defects that occur in the
                 post-deployment stage is a challenging problem: bugs
                 may occur only when the system uses a specific
                 configuration and only under certain usage scenarios.
                 Nevertheless, halting production systems until the bug
                 is tracked and fixed is often impossible. Thus,
                 developers have to try to reproduce the bug in
                 laboratory conditions. Often the reproduction of the
                 bug consists of the lion share of the debugging
                 effort.\par

                 In this paper we suggest an approach to address the
                 aforementioned problem by using a specialized runtime
                 environment (QVM, for {\em Quality Virtual Machine\/}).
                 QVM efficiently detects defects by continuously
                 monitoring the execution of the application in a
                 production setting. QVM enables the efficient checking
                 of violations of user-specified correctness properties,
                 e.g., typestate safety properties, Java assertions, and
                 heap properties pertaining to ownership.\par

                 QVM is markedly different from existing techniques for
                 continuous monitoring by using a novel overhead manager
                 which enforces a user-specified overhead budget for
                 quality checks. Existing tools for error detection in
                 the field usually disrupt the operation of the deployed
                 system. QVM, on the other hand, provides a balanced
                 trade off between the cost of the monitoring process
                 and the maintenance of sufficient accuracy for
                 detecting defects. Specifically, the overhead cost of
                 using QVM instead of a standard JVM, is low enough to
                 be acceptable in production environments.\par

                 We implemented QVM on top of IBM's J9 Java Virtual
                 Machine and used it to detect and fix various errors in
                 real-world applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "algorithms; reliability; virtual machines",
}

@Article{Auerbach:2008:FTG,
  author =       "Joshua Auerbach and David F. Bacon and Rachid
                 Guerraoui and Jesper Honig Spring and Jan Vitek",
  title =        "Flexible task graphs: a unified restricted thread
                 programming model for {Java}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "7",
  pages =        "1--11",
  month =        jul,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1375657.1375659",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:05:54 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The disadvantages of unconstrained shared-memory
                 multi-threading in Java, especially with regard to
                 latency and determinism in realtime systems, have given
                 rise to a variety of language extensions that place
                 restrictions on how threads allocate, share, and
                 communicate memory, leading to order-of-magnitude
                 reductions in latency and jitter. However, each model
                 makes different trade-offs with respect to
                 expressiveness, efficiency, enforcement, and latency,
                 and no one model is best for all applications.\par

                 In this paper we present Flexible Task Graphs
                 (Flexotasks), a single system that allows different
                 isolation policies and mechanisms to be combined in an
                 orthogonal manner, subsuming four previously proposed
                 models as well as making it possible to use new
                 combinations best suited to the needs of particular
                 applications. We evaluate our implementation on top of
                 the IBM Web-Sphere Real Time Java virtual machine using
                 both a microbenchmark and a 30 KLOC avionics collision
                 detector. We show that Flexotasks are capable of
                 executing periodic threads at 10 KHz with a standard
                 deviation of 1.2$ \mu $ s and that it achieves
                 significantly better performance than RTSJ's scoped
                 memory constructs while remaining impervious to
                 interference from global garbage collection.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Java Virtual Machine; memory management; ownership
                 types; real-time systems",
}

@Article{Badea:2008:IJS,
  author =       "Carmen Badea and Alexandru Nicolau and Alexander V.
                 Veidenbaum",
  title =        "Impact of {JVM} superoperators on energy consumption
                 in resource-constrained embedded systems",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "7",
  pages =        "23--30",
  month =        jul,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379023.1375661",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:05:54 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Energy consumption is one of the most important issues
                 in resource-constrained embedded systems. Many such
                 systems run Java-based applications due to Java's
                 architecture-independent format (bytecode). Standard
                 techniques for executing bytecode programs, e.g.
                 interpretation or just-in-time compilation, have
                 performance or memory issues that make them unsuitable
                 for resource-constrained embedded systems.\par

                 A superoperator-extended, lightweight Java Virtual
                 Machine (JVM) can be used in resource-constrained
                 embedded systems to improve performance and reduce
                 memory consumption. This paper shows that such a JVM
                 also significantly reduces energy consumption. This is
                 due primarily to a considerable reduction in the number
                 of memory accesses and thus in energy consumption in
                 the instruction and data TLBs and caches and, in most
                 cases, in DRAM energy consumption. Since the fraction
                 of processor energy dissipated in these units is
                 approximately 60\%, the energy savings achieved are
                 significant.\par

                 The paper evaluates the number of load, store, and
                 computational instructions eliminated by the use of
                 proposed superoperators as compared to a simple
                 interpreter on a set of embedded benchmarks. Using
                 cache and DRAM per access energy we estimate the total
                 processor/DRAM energy saved by using our JVM. Our
                 results show that with 32KB caches the reduction in
                 energy consumption ranges from 40\% to 60\% of the
                 overall processor, plus DRAM energy. Even higher
                 savings may be achieved with smaller caches and
                 increased access to DRAM as DRAM access energy is
                 fairly high.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "embedded systems; energy estimation; Java Virtual
                 Machine; profile-guided optimization; superoperators",
}

@Article{Baldi:2008:TAL,
  author =       "Pierre F. Baldi and Cristina V. Lopes and Erik J.
                 Linstead and Sushil K. Bajracharya",
  title =        "A theory of aspects as latent topics",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "543--562",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449807",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "After more than 10 years, Aspect-Oriented Programming
                 (AOP) is still a controversial idea. While the concept
                 of aspects appeals to everyone's intuitions, concrete
                 AOP solutions often fail to convince researchers and
                 practitioners alike. This discrepancy results in part
                 from a lack of an adequate theory of aspects, which in
                 turn leads to the development of AOP solutions that are
                 useful in limited situations.\par

                 We propose a new theory of aspects that can be
                 summarized as follows: concerns are latent topics that
                 can be automatically extracted using statistical topic
                 modeling techniques adapted to software. Software
                 scattering and tangling can be measured precisely by
                 the entropies of the underlying topic-over-files and
                 files-over-topics distributions. Aspects are latent
                 topics with high scattering entropy.\par

                 The theory is validated empirically on both the large
                 scale, with a study of 4,632 Java projects, and the
                 small scale, with a study of 5 individual projects.
                 From these analyses, we identify two dozen topics that
                 emerge as general-purpose aspects across multiple
                 projects, as well as project-specific topics/concerns.
                 The approach is also shown to produce results that are
                 compatible with previous methods for identifying
                 aspects, and also extends them.\par

                 Our work provides not only a concrete approach for
                 identifying aspects at several scales in an
                 unsupervised manner but, more importantly, a
                 formulation of AOP grounded in information theory. The
                 understanding of aspects under this new perspective
                 makes additional progress toward the design of models
                 and tools that facilitate software development.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aspect-oriented programming; scattering; tangling;
                 topic models",
}

@Article{Bapst:2008:SIO,
  author =       "Frederic Bapst and Fran{\c{c}}ois Kilchoer",
  title =        "Signalling Integer Overflows in {Java}: a tool for
                 checking overflows in {Java} code",
  journal =      j-DDJ,
  volume =       "33",
  number =       "9",
  pages =        "54--58",
  month =        sep,
  year =         "2008",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Aug 12 18:02:50 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://home.hefr.ch/bapst/cojac",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
  keywords =     "integer overflow detection; Java",
  remark =       "The COJAC (Checking Overflows in JAva Code) tool
                 instruments a compiled {\tt .class} file, replacing
                 integer instructions subject to overflow with calls to
                 routines that report any overflow.",
}

@Book{Basham:2008:HFS,
  author =       "Bryan Basham and Kathy Sierra and Bert Bates",
  title =        "Head first servlets and {JSP}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  edition =      "Second",
  pages =        "xxxii + 879",
  year =         "2008",
  ISBN =         "0-596-51668-1",
  ISBN-13 =      "978-0-596-51668-0",
  LCCN =         "QA76.3 .B377 2008eb; QA76.3; QA76.3 .B377 2008;
                 Internet",
  bibdate =      "Sat Nov 13 10:16:55 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90;
                 prodorbis.library.yale.edu:7090/voyager",
  acknowledgement = ack-nhfb,
  remark =       "Passing the Sun certified Web component developer
                 exam.",
  subject =      "JavaServer pages; Electronic data processing
                 personnel; Certification; Study guides; Java (Computer
                 program language); Servlets",
  tableofcontents = "Why use servlets and JSPs? \\
                 Web app architecture \\
                 Mini MVC tutorial \\
                 Being a servlet \\
                 Being a web app \\
                 Conversational state \\
                 Being a JSP \\
                 Script-free pages \\
                 Custom tags are powerful \\
                 When even JSTL isn't enough \\
                 Deploying your web app \\
                 Keep it secret, keep it safe \\
                 The power of filters \\
                 Enterprise design patterns.",
}

@Article{Beckman:2008:VCU,
  author =       "Nels E. Beckman and Kevin Bierhoff and Jonathan
                 Aldrich",
  title =        "Verifying correct usage of atomic blocks and
                 typestate",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "227--244",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449783",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The atomic block, a synchronization primitive provided
                 to programmers in transactional memory systems, has the
                 potential to greatly ease the development of concurrent
                 software. However, atomic blocks can still be used
                 incorrectly, and race conditions can still occur at the
                 level of application logic. In this paper, we present a
                 intraprocedural static analysis, formalized as a type
                 system and proven sound, that helps programmers use
                 atomic blocks correctly. Using {\em access
                 permissions}, which describe how objects are aliased
                 and modified, our system statically prevents race
                 conditions and enforces typestate properties in
                 concurrent programs. We have implemented a prototype
                 static analysis for the Java language based on our
                 system and have used it to verify several realistic
                 examples.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "permissions; transactional memory; typestate",
}

@Article{Bellamy:2008:ELT,
  author =       "Ben Bellamy and Pavel Avgustinov and Oege de Moor and
                 Damien Sereni",
  title =        "Efficient local type inference",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "475--492",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449802",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Inference of static types for local variables in Java
                 bytecode is the first step of any serious tool that
                 manipulates bytecode, be it for decompilation,
                 transformation or analysis. It is important, therefore,
                 to perform that step as accurately and efficiently as
                 possible. Previous work has sought to give solutions
                 with good worst-case complexity.\par

                 We present a novel algorithm, which is optimised for
                 the common case rather than worst-case performance. It
                 works by first finding a set of minimal typings that
                 are valid for all assignments, and then checking
                 whether these minimal typings satisfy all uses. Unlike
                 previous algorithms, it does not explicitly build a
                 data structure of type constraints, and it is easy to
                 implement efficiently. We prove that the algorithm
                 produces a typing that is both sound (obeying the rules
                 of the language) and as tight as possible.\par

                 We then go on to present extensive experiments,
                 comparing the results of the new algorithm against the
                 previously best known method. The experiments include
                 bytecode that is generated in other ways than
                 compilation of Java source. The new algorithm is always
                 faster, typically by a factor 6, but on some real
                 benchmarks the gain is as high as a factor of 92.
                 Furthermore, whereas that previous method is sometimes
                 suboptimal, our algorithm always returns a tightest
                 possible type.\par

                 We also discuss in detail how we handle primitive
                 types, which is a difficult issue due to the
                 discrepancy in their treatment between Java bytecode
                 and Java source. For the application to decompilation,
                 however, it is very important to handle this
                 correctly.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "program analysis; type inference",
}

@Article{Bellia:2008:MPP,
  author =       "Marco Bellia and M. Eugenia Occhiuto",
  title =        "Methods as Parameters: A Preprocessing Approach to
                 Higher Order in {Java}",
  journal =      j-FUND-INFO,
  volume =       "85",
  number =       "1--4",
  pages =        "35--50",
  month =        sep,
  year =         "2008",
  CODEN =        "FUMAAJ",
  ISSN =         "0169-2968 (print), 1875-8681 (electronic)",
  ISSN-L =       "0169-2968",
  bibdate =      "Sat Mar 5 17:07:07 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Fundamenta Informaticae",
  journal-URL =  "http://content.iospress.com/journals/fundamenta-informaticae",
}

@Article{Bernardeschi:2008:DBV,
  author =       "C. Bernardeschi and N. {De Francesco} and G. Lettieri
                 and L. Martini and P. Masci",
  title =        "Decomposing bytecode verification by abstract
                 interpretation",
  journal =      j-TOPLAS,
  volume =       "31",
  number =       "1",
  pages =        "3:1--3:63",
  month =        dec,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1452044.1452047",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Dec 23 11:52:52 MST 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Bytecode verification is a key point in the security
                 chain of the Java platform. This feature is only
                 optional in many embedded devices since the memory
                 requirements of the verification process are too high.
                 In this article we propose an approach that
                 significantly reduces the use of memory by a
                 serial/parallel decomposition of the verification into
                 multiple specialized passes. The algorithm reduces the
                 type encoding space by operating on different
                 abstractions of the domain of types. The results of our
                 evaluation show that this bytecode verification can be
                 performed directly on small memory systems. The method
                 is formalized in the framework of abstract
                 interpretation.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "Abstract interpretation; bytecode verification",
}

@Article{Biernacki:2008:CDM,
  author =       "Dariusz Biernacki and Jean-Louis Cola{\c{c}}o and
                 Gregoire Hamon and Marc Pouzet",
  title =        "Clock-directed modular code generation for synchronous
                 data-flow languages",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "7",
  pages =        "121--130",
  month =        jul,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1375657.1375674",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:05:54 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The compilation of synchronous block diagrams into
                 sequential imperative code has been addressed in the
                 early eighties and can now be considered as folklore.
                 However, separate, or modular, code generation, though
                 largely used in existing compilers and particularly in
                 industrial ones, has never been precisely described or
                 entirely formalized. Such a formalization is now
                 fundamental in the long-term goal to develop a
                 mathematically certified compiler for a synchronous
                 language as well as in simplifying existing
                 implementations.\par

                 This article presents in full detail the modular
                 compilation of synchronous block diagrams into
                 sequential code. We consider a first-order functional
                 language reminiscent of LUSTRE, which it extends with a
                 general $n$-ary merge operator, a reset construct, and
                 a richer notion of clocks. The clocks are used to
                 express activation of computations in the program and
                 are specifically taken into account during the
                 compilation process to produce efficient imperative
                 code. We introduce a generic machine-based intermediate
                 language to represent transition functions, and we
                 present a concise clock-directed translation from the
                 source to this intermediate language. We address the
                 target code generation phase by describing a
                 translation from the intermediate language to JAVA and
                 C.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "compilation; real-time systems; semantics; synchronous
                 languages; type systems",
}

@Book{Bloch:2008:EJ,
  author =       "Joshua Bloch",
  title =        "Effective {Java}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxi + 346",
  year =         "2008",
  ISBN =         "0-321-35668-3 (paperback)",
  ISBN-13 =      "978-0-321-35668-0 (paperback)",
  LCCN =         "QA76.73.J38 B57 2008",
  bibdate =      "Tue Jan 27 16:10:46 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "The Java series",
  URL =          "http://www.loc.gov/catdir/toc/fy0805/2008926278.html",
  acknowledgement = ack-nhfb,
  remark =       "Revised and updated for Java SE 6.",
  subject =      "Java (Computer program language)",
  tableofcontents = "Introduction \\
                 Creating and destroying objects \\
                 Methods common to all objects \\
                 Classes and interfaces \\
                 Generics \\
                 Enums and annotations \\
                 Methods \\
                 General programming \\
                 Exceptions \\
                 Concurrency \\
                 Serialization",
}

@Article{Boehm:2008:FCC,
  author =       "Hans-J. Boehm and Sarita V. Adve",
  title =        "Foundations of the {C++} concurrency memory model",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "68--78",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379022.1375591",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Currently multi-threaded C or C++ programs combine a
                 single-threaded programming language with a separate
                 threads library. This is not entirely sound [7].\par

                 We describe an effort, currently nearing completion, to
                 address these issues by explicitly providing semantics
                 for threads in the next revision of the C++ standard.
                 Our approach is similar to that recently followed by
                 Java [25], in that, at least for a well-defined and
                 interesting subset of the language, we give
                 sequentially consistent semantics to programs that do
                 not contain data races. Nonetheless, a number of our
                 decisions are often surprising even to those familiar
                 with the Java effort:\par

                 We (mostly) insist on sequential consistency for
                 race-free programs, in spite of implementation issues
                 that came to light after the Java work.\par

                 We give no semantics to programs with data races. There
                 are no benign C++ data races.\par

                 We use weaker semantics for trylock than existing
                 languages or libraries, allowing us to promise
                 sequential consistency with an intuitive race
                 definition, even for programs with trylock.\par

                 This paper describes the simple model we would like to
                 be able to provide for C++ threads programmers, and
                 explain how this, together with some practical, but
                 often under-appreciated implementation constraints,
                 drives us towards the above decisions.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "c++; data race; memory consistency; memory model;
                 sequential consistency; trylock",
}

@Article{Bond:2008:TML,
  author =       "Michael D. Bond and Kathryn S. McKinley",
  title =        "Tolerating memory leaks",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "109--126",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449774",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Type safety and garbage collection in managed
                 languages eliminate memory errors such as dangling
                 pointers, double frees, and leaks of unreachable
                 objects. Unfortunately, a program still leaks memory if
                 it maintains references to objects it will never use
                 again. Leaked objects decrease program locality and
                 increase garbage collection frequency and workload. A
                 growing leak will eventually exhaust memory and crash
                 the program.\par

                 This paper introduces a {\em leak tolerance\/} approach
                 called {\em Melt\/} that safely eliminates performance
                 degradations and crashes due to leaks of dead but
                 reachable objects in managed languages, given
                 sufficient disk space to hold leaking objects. Melt (1)
                 identifies {\em stale\/} objects that the program is
                 not accessing; (2) segregates in-use and stale objects
                 by storing stale objects to disk; and (3) preserves
                 safety by activating stale objects if the program
                 subsequently accesses them. We design and build a
                 prototype implementation of Melt in a Java VM and show
                 it adds overhead low enough for production systems.
                 Whereas existing VMs grind to a halt and then crash on
                 programs with leaks, Melt keeps many of these programs
                 running much longer without significantly degrading
                 performance. Melt provides users the illusion of a
                 fixed leak and gives developers more time to fix leaky
                 programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "bug tolerance; managed languages; memory leaks",
}

@Article{Chen:2008:MJR,
  author =       "Chung-Kai Chen and Cheng-Wei Chen and Chien-Tan Ko and
                 Jenq-Kuen Lee and Jyh-Cheng Chen",
  title =        "Mobile {Java RMI} support over heterogeneous wireless
                 networks: a case study",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "68",
  number =       "11",
  pages =        "1425--1436",
  month =        nov,
  year =         "2008",
  CODEN =        "JPDCER",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Sep 1 16:27:23 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/07437315",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Chen:2008:TPC,
  author =       "Juan Chen and Chris Hawblitzel and Frances Perry and
                 Mike Emmi and Jeremy Condit and Derrick Coetzee and
                 Polyvios Pratikaki",
  title =        "Type-preserving compilation for large-scale optimizing
                 object-oriented compilers",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "183--192",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379022.1375604",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Type-preserving compilers translate well-typed source
                 code, such as Java or C\#, into verifiable target code,
                 such as typed assembly language or proof-carrying code.
                 This paper presents the implementation of
                 type-preserving compilation in a complex, large-scale
                 optimizing compiler. Compared to prior work, this
                 implementation supports extensive optimizations, and it
                 verifies a large portion of the interface between the
                 compiler and the runtime system. This paper
                 demonstrates the practicality of type-preserving
                 compilation in complex optimizing compilers: the
                 generated typed assembly language is only 2.3\% slower
                 than the base compiler's generated untyped assembly
                 language, and the type-preserving compiler is 82.8\%
                 slower than the base compiler.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "object-oriented compilers; type-preserving
                 compilation",
}

@Article{Chern:2008:ISD,
  author =       "Rick Chern and Kris {De Volder}",
  title =        "The impact of static-dynamic coupling on
                 remodularization",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "261--276",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449786",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We explore the concept of {\em static-dynamic
                 coupling\/} --the degree to which changes in a
                 program's static modular structure imply changes to its
                 dynamic structure. This paper investigates the impact
                 of static-dynamic coupling in a programming language on
                 the effort required to evolve the coarse modular
                 structure of programs written in that language. We
                 performed a series of remodularization case studies in
                 both Java and SubjectJ. SubjectJ is designed to be
                 similar to Java, but have strictly less static-dynamic
                 coupling. Our results include quantitative
                 measures-time taken and number of bugs introduced--as
                 well as a more subjective qualitative analysis of the
                 remodularization process. All results point in the same
                 direction and suggest that static-dynamic coupling
                 causes substantial accidental complexity for the
                 remodularization of Java programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "hyperslices; language design; refactoring;
                 remodularization; static-dynamic coupling;
                 subject-oriented programming",
}

@Article{Choi:2008:SHM,
  author =       "Yoonseo Choi and Hwansoo Han",
  title =        "Shared heap management for memory-limited {Java}
                 virtual machines",
  journal =      j-TECS,
  volume =       "7",
  number =       "2",
  pages =        "13:1--13:??",
  month =        feb,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1331331.1331337",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Jun 12 15:22:00 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "One scarce resource in embedded systems is memory.
                 Multitasking makes the lack of memory problem even
                 worse. Most current embedded systems, which do not
                 provide virtual memory, simply divide physical memory
                 and evenly assign contiguous memory chunks to multiple
                 applications. Such simple memory management can
                 frequently cause the lack of available memory for some
                 applications, while others are not using the full
                 amount of assigned memory. To overcome inefficiency in
                 current memory management, we present an efficient heap
                 management scheme that allows multiple applications to
                 share heap space. To reduce overall heap memory usage,
                 applications adaptively acquire subheaps out of shared
                 pool of memory and release surplus subheaps to shared
                 pool. As a result, applications see noncontiguous
                 multiple subheaps as a heap in their address space. We
                 target Java applications to implement our heap-sharing
                 scheme in the KVM from Sun Microsystems. To protect
                 fragmented heap space with a limited number of regions
                 in memory protection unit (MPU), we maintain only a
                 limited number of subheaps. We experimentally evaluate
                 our heap management scheme with J2ME MIDP applications.
                 Our static and dynamic schemes reduce heap memory
                 usage, on average, by 30 and 27\%, respectively. For
                 both schemes, overheads are kept low. The execution
                 times in our schemes are increased only by 0.01\% for
                 static scheme and 0.35\% for dynamic scheme, on
                 average.",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "dynamic memory management; garbage collection; heap
                 sharing; memory protection unit",
}

@Article{Cimadamore:2008:RJW,
  author =       "Maurizio Cimadamore and Mirko Viroli",
  title =        "On the reification of {Java} wildcards",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "73",
  number =       "2--3",
  pages =        "59--75",
  day =          "1",
  month =        oct,
  year =         "2008",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:22 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Corliss:2008:BCJ,
  author =       "Marc L. Corliss and E. Christopher Lewis",
  title =        "{Bantam}: a customizable, {Java}-based, classroom
                 compiler",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "38--42",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352153",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "This paper introduces the Bantam Java compiler
                 project, a new language and compiler designed
                 specifically for the classroom Bantam Java, the source
                 programming language, is a small subset of the Java
                 language, which is a commonly-used language in
                 introductory programming courses. Because Bantam Java
                 is similar to Java, it leverages the student's existing
                 intuition and the student can automatically apply what
                 they learn in the course directly to Java. The Bantam
                 Java project is also customizable (it supports several
                 tools and targets), which gives instructors flexibility
                 in designing course assignments. Finally, the Bantam
                 Java compiler project includes a free, comprehensive,
                 student manual which can be used in conjunction with
                 any compiler textbook.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Crockford:2008:JGP,
  author =       "Douglas Crockford",
  title =        "{JavaScript}: the good parts",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xiii + 153",
  year =         "2008",
  ISBN =         "0-596-51774-2",
  ISBN-13 =      "978-0-596-51774-8",
  LCCN =         "QA76.73.J39 C763 2008",
  bibdate =      "Wed Apr 27 11:12:33 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language)",
}

@Article{Cross:2008:EAV,
  author =       "James H. {Cross II} and T. Dean Hendrix and David A.
                 Umphress and Larry A. Barowski",
  title =        "Exploring accessibility and visibility relationships
                 in {Java}",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "103--108",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384300",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "Inheritance and polymorphism are important OOP topics
                 in CS1 and CS2. While these concepts are generally
                 straightforward, there are subtleties that may leave
                 students confused. For example, accessibility of a
                 field in an object is generally determined by the
                 declaring type and access modifiers of the field, and
                 the context in the executing program from which the
                 field is referenced. The dynamic object viewers in
                 jGRASP have been expanded to allow the user to: (1)
                 change the declared type of the object reference to any
                 compatible type and (2) change the accessibility
                 context of the object reference. These options enable
                 the user to explore accessibility and visibility
                 relationships by experimenting with any object on the
                 workbench or in the debugger. Symbols, color, and text
                 are used in the viewer to indicate inheritance
                 relationships, accessibility, and visibility of fields
                 and methods. Initial classroom use has demonstrated the
                 potential for these new viewer features as an aid to
                 students who are learning about inheritance and
                 polymorphism.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Dagenais:2008:ESA,
  author =       "Barth{\'e}l{\'e}my Dagenais and Laurie Hendren",
  title =        "Enabling static analysis for partial {Java} programs",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "313--328",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449790",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Software engineering tools often deal with the source
                 code of programs retrieved from the web or source code
                 repositories. Typically, these tools only have access
                 to a subset of a program's source code (one file or a
                 subset of files) which makes it difficult to build a
                 complete and typed intermediate representation (IR).
                 Indeed, for incomplete object-oriented programs, it is
                 not always possible to completely disambiguate the
                 syntactic constructs and to recover the declared type
                 of certain expressions because the declaration of many
                 types and class members are not accessible.\par

                 We present a framework that performs partial type
                 inference and uses heuristics to recover the declared
                 type of expressions and resolve ambiguities in partial
                 Java programs. Our framework produces a complete and
                 typed IR suitable for further static analysis. We have
                 implemented this framework and used it in an empirical
                 study on four large open source systems which shows
                 that our system recovers most declared types with a low
                 error rate, even when only one class is accessible.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Java; partial programs; type inference",
}

@Article{Damiani:2008:TSS,
  author =       "Ferruccio Damiani and Elena Giachino and Paola
                 Giannini and Sophia Drossopoulou",
  title =        "A type safe state abstraction for coordination in
                 {Java}-like languages",
  journal =      j-ACTA-INFO,
  volume =       "45",
  number =       "7--8",
  pages =        "479--536",
  month =        dec,
  year =         "2008",
  CODEN =        "AINFA2",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibdate =      "Tue Sep 6 22:41:25 MDT 2011",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0001-5903&volume=45&issue=7;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0001-5903&volume=45&issue=7&spage=479",
  acknowledgement = ack-nhfb,
  fjournal =     "Acta Informatica",
  journal-URL =  "http://www.springerlink.com/content/0001-5903",
}

@Book{Deitel:2008:JFI,
  author =       "Harvey M. Deitel",
  title =        "{Java} fundamentals. {I} and {II}: Video
                 {LiveLessons}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  year =         "2008",
  ISBN =         "0-13-713129-1",
  ISBN-13 =      "978-0-13-713129-7",
  LCCN =         "QA76.73.J38",
  bibdate =      "Sat Nov 30 17:06:56 MST 2013",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "1 streaming video file (16h36m25s).",
  series =       "LiveLessons",
  URL =          "http://proquest.safaribooksonline.com/9780137131297",
  abstract =     "Java Fundamentals I and II will show you everything
                 you need to know to start building robust, powerful
                 software with Java SE.",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language)",
}

@InProceedings{deMoor:2008:TID,
  author =       "Oege de Moor and Damien Sereni and Pavel Avgustinov
                 and Mathieu Verbaere",
  title =        "Type inference for datalog and its application to
                 query optimisation",
  crossref =     "Lenzerini:2008:PTS",
  pages =        "291--300",
  year =         "2008",
  DOI =          "https://doi.org/10.1145/1376916.1376957",
  bibdate =      "Fri Jun 20 14:17:29 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Certain variants of object-oriented Datalog can be
                 compiled to Datalog with negation. We seek to apply
                 optimisations akin to virtual method resolution (a
                 well-known technique in compiling Java and other OO
                 languages) to improve efficiency of the resulting
                 Datalog programs. The effectiveness of such
                 optimisations strongly depends on the precision of the
                 underlying type inference algorithm. Previous work on
                 type inference for Datalog has focussed on Cartesian
                 abstractions, where the type of each field is computed
                 separately. Such Cartesian type inference is inherently
                 imprecise in the presence of field equalities. We
                 propose a type system where equalities are tracked, and
                 present a type inference algorithm. The algorithm is
                 proved sound. We also prove that it is optimal for
                 Datalog without negation, in the sense that the
                 inferred type is as tight as possible. Extensive
                 experiments with our type-based optimisations, in a
                 commercial implementation of object-oriented Datalog,
                 confirm the benefits of this non-Cartesian type
                 inference algorithm.",
  acknowledgement = ack-nhfb,
  keywords =     "datalog; query optimization; type inference",
}

@Article{Distefano:2008:JTP,
  author =       "Dino Distefano and Matthew J. Parkinson",
  title =        "{jStar}: towards practical verification for {Java}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "213--226",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449782",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In this paper we introduce a novel methodology for
                 verifying a large set of Java programs which builds on
                 recent theoretical developments in program
                 verification: it combines the idea of abstract
                 predicate families and the idea of symbolic execution
                 and abstraction using separation logic. The proposed
                 technology has been implemented in a new automatic
                 verification system, called jStar, which combines
                 theorem proving and abstract interpretation techniques.
                 We demonstrate the effectiveness of our methodology by
                 using jStar to verify example programs implementing
                 four popular design patterns (subject/observer,
                 visitor, factory, and pooling). Although these patterns
                 are extensively used by object-oriented developers in
                 real-world applications, so far they have been highly
                 challenging for existing object-oriented verification
                 techniques.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "classes; design patterns; moduarity; separation
                 logic",
}

@Article{Djordjevic:2008:JPM,
  author =       "Mirela Djordjevic",
  title =        "{Java} projects motivated by student interests",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "321--321",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384364",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "We present four Java projects suggested by our student
                 that were developed in Java CS1/CS2 course. What is in
                 interest of our students who start programming? The
                 answer might be different from the teachers or textbook
                 approach. The themes include games, drawing, colors,
                 measuring time, etc. Questions can be raised if we can
                 just monitor a process of studying by watching the
                 development of projects and simply making directions in
                 different ways, or can we as teachers learn what major
                 interests of our students are when learning to program.
                 We share our finding of interesting examples.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ducournau:2008:PHA,
  author =       "Roland Ducournau",
  title =        "Perfect hashing as an almost perfect subtype test",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "6",
  pages =        "33:1--33:56",
  month =        oct,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1391956.1391960",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Sat Nov 1 20:05:05 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Subtype tests are an important issue in the
                 implementation of object-oriented programming
                 languages. Many techniques have been proposed, but none
                 of them perfectly fulfills the five requirements that
                 we have identified: constant-time, linear-space,
                 multiple inheritance, dynamic loading and inlining. In
                 this article, we propose a subtyping test
                 implementation that involves a combination of usual
                 hashtables and Cohen's display, which is a well-known
                 technique for single inheritance hierarchies. This
                 novel approach is based on {\em perfect hashing}, that
                 is, an optimized and truly constant-time variant of
                 hashing that applies to {\em immutable\/} hashtables.
                 We show that the resulting technique closely meets all
                 five requirements. Furthermore, in the framework of
                 Java-like languages --- characterized by single
                 inheritance of classes and multiple subtyping of
                 interfaces --- perfect hashing also applies to method
                 invocation when the receiver is typed by an interface.
                 The proposed technique is compared to some
                 alternatives, including the proposal by Palacz and
                 Vitek [2003]. Time-efficiency is assessed at the cycle
                 level in the framework of Driesen's pseudo-code and the
                 linear-space criterion is validated by statistical
                 simulation on benchmarks consisting of large-scale
                 class hierarchies.",
  acknowledgement = ack-nhfb,
  articleno =    "33",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "Casting; coloring; downcast; dynamic loading;
                 interfaces; method tables; multiple inheritance;
                 multiple subtyping; perfect hashing; single
                 inheritance; subtype test; virtual function tables",
}

@Book{Elliott:2008:HHS,
  author =       "James Elliott and Ryan Fowler and Tim O{\'B}rien",
  title =        "Harnessing {Hibernate}: [a step-by-step guide to
                 {Java} persistence]",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiv + 363",
  year =         "2008",
  ISBN =         "0-596-51772-6",
  ISBN-13 =      "978-0-596-51772-4",
  LCCN =         "????",
  bibdate =      "Tue Jan 27 16:00:07 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "US\$39.99",
  acknowledgement = ack-nhfb,
}

@Article{Escribano:2008:DTJ,
  author =       "Carmen Escribano and Antonio Giraldo and Mar{\'\i}a
                 Asunci{\'o}n Sastre and Mario Trotta",
  title =        "Digital topology {Java} applet",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "329--329",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384372",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "We present here a java applet, accessible through the
                 World Wide Web, which allows to apply to a binary
                 digital image a series of topological algorithms for
                 image processing.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Fekete:2008:TSD,
  author =       "Alan D. Fekete",
  title =        "Teaching students to develop thread-safe {Java}
                 classes",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "119--123",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384304",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "Concurrent programming was once the preserve of
                 experts writing systems internals; but recently the
                 growing importance of application servers, and the
                 excellent support in Java and C\# for thread handling,
                 has brought threads and locking as topics that every
                 software developer might experience, and therefore
                 every computer science graduate ought to know. In this
                 paper we report on several years of experience teaching
                 this material in the early years of the curriculum. We
                 focus on one aspect of multi-threaded code, namely how
                 to write sensible thread-safe classes. We identify the
                 learning outcomes we aim to deliver, and we discuss the
                 main pedagogic difficulties students find. We present
                 some examples that can help students avoid common
                 erroneous views.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Fink:2008:ETV,
  author =       "Stephen J. Fink and Eran Yahav and Nurit Dor and G.
                 Ramalingam and Emmanuel Geay",
  title =        "Effective typestate verification in the presence of
                 aliasing",
  journal =      j-TOSEM,
  volume =       "17",
  number =       "2",
  pages =        "9:1--9:??",
  month =        apr,
  year =         "2008",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1348250.1348255",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Mon Jun 16 11:13:13 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This article addresses the challenge of sound
                 typestate verification, with acceptable precision, for
                 real-world Java programs. We present a novel framework
                 for verification of typestate properties, including
                 several new techniques to precisely treat aliases
                 without undue performance costs. In particular, we
                 present a flow-sensitive, context-sensitive, integrated
                 verifier that utilizes a parametric abstract domain
                 combining typestate and aliasing information. To scale
                 to real programs without compromising precision, we
                 present a staged verification system in which faster
                 verifiers run as early stages which reduce the workload
                 for later, more precise, stages.\par

                 We have evaluated our framework on a number of real
                 Java programs, checking correct API usage for various
                 Java standard libraries. The results show that our
                 approach scales to hundreds of thousands of lines of
                 code, and verifies correctness for 93\% of the
                 potential points of failure.",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "Alias analysis; program verification; typestate",
}

@Article{Flanagan:2008:TAS,
  author =       "Cormac Flanagan and Stephen N. Freund and Marina
                 Lifshin and Shaz Qadeer",
  title =        "Types for atomicity: {Static} checking and inference
                 for {Java}",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "4",
  pages =        "20:1--20:52",
  month =        jul,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1377492.1377495",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Aug 5 19:14:53 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Atomicity is a fundamental correctness property in
                 multithreaded programs. A method is atomic if, for
                 every execution, there is an equivalent serial
                 execution in which the actions of the method are not
                 interleaved with actions of other threads. Atomic
                 methods are amenable to sequential reasoning, which
                 significantly facilitates subsequent analysis and
                 verification.\par

                 This article presents a type system for specifying and
                 verifying the atomicity of methods in multithreaded
                 Java programs using a synthesis of Lipton's theory of
                 reduction and type systems for race detection. The type
                 system supports guarded, write-guarded, and unguarded
                 fields, as well as thread-local data, parameterized
                 classes and methods, and protected locks. We also
                 present an algorithm for verifying atomicity via type
                 inference.\par

                 We have applied our type checker and type inference
                 tools to a number of commonly used Java library classes
                 and programs. These tools were able to verify the vast
                 majority of methods in these benchmarks as atomic,
                 indicating that atomicity is a widespread methodology
                 for multithreaded programming. In addition, reported
                 atomicity violations revealed some subtle errors in the
                 synchronization disciplines of these programs.",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "Atomicity; concurrent programs; type inference; type
                 systems",
}

@Article{Frenger:2008:HJ,
  author =       "Paul Frenger",
  title =        "Hard {Java}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "5",
  pages =        "5--9",
  month =        may,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1402227.1402231",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:28 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Sun Microsystems has been a fantastic repository of
                 talent for years, somewhat reminiscent of Apple
                 Computer and the Xerox PARC (Palo Alto Research
                 Center). Sun developed the SPARC line of CPUs for their
                 Solaris Operating System (a flavor of Unix). This group
                 devised the only-ever hardware- and
                 software-independent computer boot-up system (OpenBoot
                 / Open Firmware / IEEE 1275). They also brought forth
                 Java, a programming language which today seems
                 ubiquitous and indispensable.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Frost:2008:UJL,
  author =       "Daniel Frost",
  title =        "{Ucigame}, a {Java} library for games",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "310--314",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352243",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "Ucigame (pronounced OO-see-GAH-me) is a Java package
                 that supports the programming of $2$D sprite-based
                 computer games. Designed for novice programmers, it
                 enables students in an introductory class to write
                 computer games that have animated sprites, music and
                 sound effects, and event-driven keyboard and mouse
                 handling. Ucigame has also been used successfully in a
                 senior-level class for experienced programmers.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Fry:2008:VD,
  author =       "Ben Fry",
  title =        "Visualizing data",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xiii + 366",
  year =         "2008",
  ISBN =         "0-596-51455-7",
  ISBN-13 =      "978-0-596-51455-6",
  LCCN =         "T385 .F79 2008; T385",
  bibdate =      "Tue Aug 5 17:58:20 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596514556",
  abstract =     "Provides information on the methods of visualizing
                 data on the Web, along with example projects and
                 code.",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Web site
                 development; Web sites; Authoring programs; Processing
                 (Web site development technology)",
}

@Article{Furr:2008:CTS,
  author =       "Michael Furr and Jeffrey S. Foster",
  title =        "Checking type safety of foreign function calls",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "4",
  pages =        "18:1--18:63",
  month =        jul,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1377492.1377493",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Aug 5 19:14:53 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Foreign function interfaces (FFIs) allow components in
                 different languages to communicate directly with each
                 other. While FFIs are useful, they often require
                 writing tricky low-level code and include little or no
                 static safety checking, thus providing a rich source of
                 hard-to-find programming errors. In this article, we
                 study the problem of enforcing type safety across the
                 OCaml-to-C FFI and the Java Native Interface (JNI). We
                 present O-Saffire and J-Saffire, a pair of multilingual
                 type inference systems that ensure C code that uses
                 these FFIs accesses high-level data safely. Our
                 inference systems use {\em representational types\/} to
                 model C's low-level view of OCaml and Java values, and
                 singleton types to track integers, strings, memory
                 offsets, and type tags through C. J-Saffire, our Java
                 system, uses a polymorphic flow-insensitive,
                 unification-based analysis. Polymorphism is important
                 because it allows us to precisely model user-defined
                 wrapper functions and the more than 200 JNI functions.
                 O-Saffire, our OCaml system, uses a monomorphic
                 flow-sensitive analysis because, while polymorphism is
                 much less important for the OCaml FFI flow-sensitivity
                 is critical to track conditional branches, which are
                 used when pattern matching OCaml data in C. O-Saffire
                 also tracks garbage collection information to ensure
                 that local C pointers to the OCaml heap are registered
                 properly, which is not necessary for the JNI. We have
                 applied O-Saffire and J-Saffire to a set of benchmarks
                 and found many bugs and questionable coding practices.
                 These results suggest that static checking of FFIs can
                 be a valuable tool in writing correct multilingual
                 software.",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "dataflow analysis; FFI; flow-sensitive type system;
                 foreign function calls; Foreign function interface;
                 Java; Java Native Interface; JNI; multilingual type
                 inference; multilingual type system; OCaml;
                 representational type",
}

@Article{Gal:2008:JBV,
  author =       "Andreas Gal and Christian W. Probst and Michael
                 Franz",
  title =        "{Java} bytecode verification via static single
                 assignment form",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "4",
  pages =        "21:1--21:21",
  month =        jul,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1377492.1377496",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Aug 5 19:14:53 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java Virtual Machines (JVMs) traditionally perform
                 bytecode verification by way of an iterative dataflow
                 analysis. Bytecode verification is necessary to ensure
                 type safety because temporary variables in the JVM are
                 not statically typed. We present an alternative
                 verification mechanism that transforms JVM bytecode
                 into Static Single Assignment Form (SSA) and thereby
                 propagates definitions directly to uses. Type checking
                 at control flow merge points can then be performed in a
                 single pass.\par

                 Our prototype implementation of the new algorithm is
                 faster than the standard JVM bytecode verifier. It has
                 the additional benefit of generating SSA as a side
                 effect, which may be immediately useful for a
                 subsequent dynamic compilation stage.",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "dataflow analysis; Java bytecode verification; static
                 single assignment form",
}

@InProceedings{Gardner:2008:LHR,
  author =       "Philippa A. Gardner and Gareth D. Smith and Mark J.
                 Wheelhouse and Uri D. Zarfaty",
  title =        "Local {Hoare} reasoning about {DOM}",
  crossref =     "Lenzerini:2008:PTS",
  pages =        "261--270",
  year =         "2008",
  DOI =          "https://doi.org/10.1145/1376916.1376953",
  bibdate =      "Fri Jun 20 14:17:29 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The W3C Document Object Model (DOM) specifies an XML
                 update library. DOM is written in English, and is
                 therefore not compositional and not complete. We
                 provide a first step towards a compositional
                 specification of DOM. Unlike DOM, we are able to work
                 with a minimal set of commands and obtain a complete
                 reasoning for straight-line code. Our work transfers
                 O'Hearn, Reynolds and Yang's local Hoare reasoning for
                 analysing heaps to XML, viewing XML as an in-place
                 memory store as does DOM. In particular, we apply
                 recent work by Calcagno, Gardner and Zarfaty on local
                 Hoare reasoning about simple tree update to this
                 real-world DOM application. Our reasoning not only
                 formally specifies a significant subset of DOM Core
                 Level 1, but can also be used to verify, for example,
                 invariant properties of simple Javascript programs.",
  acknowledgement = ack-nhfb,
  keywords =     "context logic; dom; local Hoare reasoning; XML",
}

@Article{Gebotys:2008:EAW,
  author =       "Catherine H. Gebotys and Brian A. White",
  title =        "{EM} analysis of a wireless {Java}-based {PDA}",
  journal =      j-TECS,
  volume =       "7",
  number =       "4",
  pages =        "44:1--44:??",
  month =        jul,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1376804.1376812",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Tue Aug 5 19:32:59 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The susceptibility of wireless portable devices to
                 electromagnetic (EM) attacks is largely unknown. If
                 analysis of electromagnetic (EM) waves emanating from
                 the wireless device during a cryptographic computation
                 do leak sufficient information, it may be possible for
                 an attacker to reconstruct the secret key. Possession
                 of the secret cryptographic key would render all future
                 wireless communications insecure and cause further
                 potential problems, such as identity theft. Despite the
                 complexities of a PDA wireless device, such as
                 operating system events, interrupts, cache misses, and
                 other interfering events, this article demonstrates
                 that, for the first time, repeatable EM differential
                 attacks are possible. The proposed differential
                 analysis methodology involves precharacterization of
                 the PDA device (thresholding and pattern recognition),
                 and a new frequency-based differential analysis. Unlike
                 previous research, the new methodology does not require
                 perfect alignment of EM frames and is repeatable in the
                 presence of a complex embedded system (including cache
                 misses, operating system events, etc), thus supporting
                 attacks on real embedded systems. This research is
                 important for future wireless embedded systems, which
                 will increasingly demand higher levels of security.",
  acknowledgement = ack-nhfb,
  articleno =    "44",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "countermeasures; EM analysis; power attacks;
                 Side-channel analysis",
}

@Article{Genaud:2008:EPC,
  author =       "St{\'e}phane Genaud and Pierre Gan{\c{c}}arski and
                 Guillaume Latu and Alexandre Blansch{\'e} and Choopan
                 Rattanapoka and Damien Vouriot",
  title =        "Exploitation of a parallel clustering algorithm on
                 commodity hardware with {P2P-MPI}",
  journal =      j-J-SUPERCOMPUTING,
  volume =       "43",
  number =       "1",
  pages =        "21--41",
  month =        jan,
  year =         "2008",
  CODEN =        "JOSUED",
  DOI =          "https://doi.org/10.1007/s11227-007-0136-2",
  ISSN =         "0920-8542 (print), 1573-0484 (electronic)",
  ISSN-L =       "0920-8542",
  bibdate =      "Wed Jul 9 17:32:33 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0920-8542&volume=43&issue=1;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0920-8542&volume=43&issue=1&spage=21",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of Supercomputing",
  journal-URL =  "http://link.springer.com/journal/11227",
  keywords =     "Clustering; Evolutionary algorithms; Grid; Java;
                 Parallel algorithms",
}

@Article{Georges:2008:JPE,
  author =       "Andy Georges and Lieven Eeckhout and Dries Buytaert",
  title =        "{Java} performance evaluation through rigorous replay
                 compilation",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "367--384",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449794",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "A managed runtime environment, such as the Java
                 virtual machine, is non-trivial to benchmark. Java
                 performance is affected in various complex ways by the
                 application and its input, as well as by the virtual
                 machine (JIT optimizer, garbage collector, thread
                 scheduler, etc.). In addition, non-determinism due to
                 timer-based sampling for JIT optimization, thread
                 scheduling, and various system effects further
                 complicate the Java performance benchmarking
                 process.\par

                 Replay compilation is a recently introduced Java
                 performance analysis methodology that aims at
                 controlling non-determinism to improve experimental
                 repeatability. The key idea of replay compilation is to
                 control the compilation load during experimentation by
                 inducing a pre-recorded compilation plan at replay
                 time. Replay compilation also enables teasing apart
                 performance effects of the application versus the
                 virtual machine.\par

                 This paper argues that in contrast to current practice
                 which uses a single compilation plan at replay time,
                 multiple compilation plans add statistical rigor to the
                 replay compilation methodology. By doing so, replay
                 compilation better accounts for the variability
                 observed in compilation load across compilation plans.
                 In addition, we propose matched-pair comparison for
                 statistical data analysis. Matched-pair comparison
                 considers the performance measurements per compilation
                 plan before and after an innovation of interest as a
                 pair, which enables limiting the number of compilation
                 plans needed for accurate performance analysis compared
                 to statistical analysis assuming unpaired
                 measurements.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "benchmarking; Java; matched-pair comparison;
                 performance evaluation; replay compilation; virtual
                 machine",
}

@Article{Gestwicki:2008:TDP,
  author =       "Paul Gestwicki and Fu-Shing Sun",
  title =        "Teaching Design Patterns Through Computer Game
                 Development",
  journal =      j-JERIC,
  volume =       "8",
  number =       "1",
  pages =        "2:1--2:??",
  month =        mar,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1348713.1348715",
  ISSN =         "1531-4278",
  bibdate =      "Fri Jun 20 10:13:08 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/jeric/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present an approach for teaching design patterns
                 that emphasizes object-orientation and patterns
                 integration. The context of computer game development
                 is used to engage and motivate students, and it is
                 additionally rich with design patterns. A case study is
                 presented based on EEClone, an arcade-style computer
                 game implemented in Java. Our students analyzed various
                 design patterns within EEClone, and from this
                 experience, learned how to apply design patterns in
                 their own game software. The six principal patterns of
                 EEClone are described in detail, followed by a
                 description of our teaching methodology, assessment
                 techniques, and results.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "ACM Journal on Educational Resources in Computing
                 (JERIC)",
  keywords =     "assessment; design patterns; games in education; UML",
}

@Article{Ghosh:2008:BFI,
  author =       "Sudipto Ghosh and John L. Kelly",
  title =        "Bytecode fault injection for {Java} software",
  journal =      j-J-SYST-SOFTW,
  volume =       "81",
  number =       "11",
  pages =        "2034--2043",
  month =        nov,
  year =         "2008",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Tue Sep 7 07:27:04 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Gil:2008:WIS,
  author =       "Joseph Gil and Itay Maman",
  title =        "{Whiteoak}: introducing structural typing into
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "73--90",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449771",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper presents WHITEOAK: a JAVA extension that
                 introduces structural type equivalence and subtyping
                 into the language. We argue that structural subtyping
                 addresses common software design problems, and promotes
                 the development of loosely coupled modules without
                 compromising type safety.\par

                 We discuss language design issues, including subtyping
                 in face of self-referencing structural types,
                 compile-time operators for computing the new types from
                 existing ones, and the semantics of constructors and
                 non-abstract methods in structural types. We describe
                 implementation techniques, including the compile-time
                 and run-time challenges that we faced (in particular,
                 preserving the identity of objects). Measurement
                 indicate that the performance of our implementation of
                 structural dispatching is comparable to that of the
                 JVM's standard invocation mechanisms.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "abstraction; Java; structural subtyping",
}

@Article{Godefroid:2008:GBW,
  author =       "Patrice Godefroid and Adam Kiezun and Michael Y.
                 Levin",
  title =        "Grammar-based whitebox fuzzing",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "206--215",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379022.1375607",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Whitebox fuzzing is a form of automatic dynamic test
                 generation, based on symbolic execution and constraint
                 solving, designed for security testing of large
                 applications. Unfortunately, the current effectiveness
                 of whitebox fuzzing is limited when testing
                 applications with highly-structured inputs, such as
                 compilers and interpreters. These applications process
                 their inputs in stages, such as lexing, parsing and
                 evaluation. Due to the enormous number of control paths
                 in early processing stages, whitebox fuzzing rarely
                 reaches parts of the application beyond those first
                 stages.\par

                 In this paper, we study how to enhance whitebox fuzzing
                 of complex structured-input applications with a
                 grammar-based specification of their valid inputs. We
                 present a novel dynamic test generation algorithm where
                 symbolic execution directly generates grammar-based
                 constraints whose satisfiability is checked using a
                 custom grammar-based constraint solver. We have
                 implemented this algorithm and evaluated it on a large
                 security-critical application, the JavaScript
                 interpreter of Internet Explorer 7 (IE7). Results of
                 our experiments show that grammar-based whitebox
                 fuzzing explores deeper program paths and avoids
                 dead-ends due to non-parsable inputs. Compared to
                 regular whitebox fuzzing, grammar-based whitebox
                 fuzzing increased coverage of the code generation
                 module of the IE7 JavaScript interpreter from 53\% to
                 81\% while using three times fewer tests.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "automatic test generation; grammars; program
                 verification; software testing",
}

@Article{Goldwasser:2008:TOO,
  author =       "Michael H. Goldwasser and David Letscher",
  title =        "Teaching an object-oriented {CS1} -: with {Python}",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "42--46",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384285",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "There is an ongoing debate regarding the role of
                 object orientation in the introductory programming
                 sequence. While the pendulum swings to and fro between
                 the ``objects first'' and ``back to basics'' extremes,
                 there is general agreement that object-oriented
                 programming is central to modern software development
                 and therefore integral to a computer science
                 curriculum. Developing effective approaches to teach
                 these principles raises challenges that have been
                 exacerbated by the use of Java or C++ as the first
                 instructional language. In this paper, we recommend
                 Python as an excellent choice for teaching an
                 object-oriented CS1. Although often viewed as a
                 ``scripting'' language, Python is a fully
                 object-oriented language with a consistent object model
                 and a rich set of built-in classes. Based upon our
                 experiences, we describe aspects of the language that
                 help support a balanced introduction to object
                 orientation in CS1. We also discuss the downstream
                 effects on our students' transition to Java and C++ in
                 subsequent courses.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gravvanis:2008:JMB,
  author =       "George A. Gravvanis and Victor N. Epitropou",
  title =        "{Java} multithreading-based parallel approximate
                 arrow-type inverses",
  journal =      j-CCPE,
  volume =       "20",
  number =       "10",
  pages =        "1151--1172",
  month =        jul,
  year =         "2008",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1262",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:25 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "18 Sep 2007",
}

@Article{Gries:2008:PAT,
  author =       "David Gries",
  title =        "A principled approach to teaching {OO} first",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "31--35",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352149",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "There has been debate about whether OO should, or even
                 can, be taught first in CS1 (using Java). We claim that
                 OO can be taught successfully, provided certain
                 principles are followed. These principles lead to the
                 requirement of an appropriate model for classes and
                 objects, which we provide.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Guizzo:2008:GFG,
  author =       "Erico Guizzo",
  title =        "The game-frame guild",
  journal =      j-IEEE-SPECTRUM,
  volume =       "45",
  number =       "8",
  pages =        "44--52",
  month =        aug,
  year =         "2008",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2008.4586287",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Sat Jan 18 12:29:46 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
  keywords =     "Cities and towns; computer games; game-frame guild;
                 IBM mainframe; Java; Large-scale systems; Layout;
                 Marine vehicles; massive games; Military computing;
                 online games; Planets; Programming profession;
                 Weapons",
}

@Book{Haase:2008:FRC,
  author =       "Chet Haase and Romain Guy",
  title =        "Filthy rich clients: developing animated and graphical
                 effects for desktop {Java} applications",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxvii + 572",
  year =         "2008",
  ISBN =         "0-13-241393-0 (paperback)",
  ISBN-13 =      "978-0-13-241393-0 (paperback)",
  LCCN =         "QA76.73.C153 H33 2008",
  bibdate =      "Tue Jan 27 16:12:32 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "The Java series",
  URL =          "http://www.loc.gov/catdir/toc/ecip0717/2007019818.html",
  acknowledgement = ack-nhfb,
  subject =      "Object-oriented programming (Computer science); Java
                 (Computer program language)",
}

@Article{Henkel:2008:DDA,
  author =       "Johannes Henkel and Christoph Reichenbach and Amer
                 Diwan",
  title =        "Developing and debugging algebraic specifications for
                 {Java} classes",
  journal =      j-TOSEM,
  volume =       "17",
  number =       "3",
  pages =        "14:1--14:??",
  month =        jun,
  year =         "2008",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1363102.1363105",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Wed Jun 25 08:43:45 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Modern programs make extensive use of reusable
                 software libraries. For example, a study of a number of
                 large Java applications shows that between 17\% and
                 30\% of the classes in those applications use container
                 classes defined in the {\tt java.util} package. Given
                 this extensive code reuse in Java programs, it is
                 important for the interfaces of reusable classes to be
                 well documented. An interface is well documented if it
                 satisfies the following requirements: (1) the
                 documentation completely describes how to use the
                 interface; (2) the documentation is clear; (3) the
                 documentation is unambiguous; and (4) any deviation
                 between the documentation and the code is machine
                 detectable. Unfortunately, documentation in natural
                 language, which is the norm, does not satisfy the above
                 requirements. Formal specifications can satisfy them
                 but they are difficult to develop, requiring
                 significant effort on the part of programmers.\par

                 To address the practical difficulties with formal
                 specifications, we describe and evaluate a tool to help
                 programmers write and debug algebraic specifications.
                 Given an algebraic specification of a class, our
                 interpreter generates a prototype that can be used
                 within an application like a regular Java class. When
                 running an application that uses the prototype, the
                 interpreter prints error messages that tell the
                 developer in which way the specification is incomplete
                 or inconsistent with a hand-coded implementation of the
                 class. We use case studies to demonstrate the
                 usefulness of our system.",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "algebraic interpretation; algebraic specifications;
                 specification discovery",
}

@Article{Henkel:2008:EDD,
  author =       "J. Henkel and C. Reichenbach and A. Diwan",
  title =        "Errata for {``Discovering Documentation for Java
                 Container Classes''} [Aug 07 526--543]",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "34",
  number =       "2",
  pages =        "303--303",
  month =        mar # "\slash " # apr,
  year =         "2008",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2008.22",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 11:00:42 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "See \cite{Henkel:2007:DDJ}.",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4476755",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Higo:2008:MBA,
  author =       "Yoshiki Higo and Shinji Kusumoto and Katsuro Inoue",
  title =        "A metric-based approach to identifying refactoring
                 opportunities for merging code clones in a {Java}
                 software system",
  journal =      j-J-SOFTW-MAINT-EVOL,
  volume =       "20",
  number =       "6",
  pages =        "435--461",
  month =        nov,
  year =         "2008",
  CODEN =        "JSMECT",
  DOI =          "https://doi.org/10.1002/smr.394",
  ISSN =         "1532-060X (print), 1532-0618 (electronic)",
  ISSN-L =       "1532-060X",
  bibdate =      "Wed Jan 31 10:00:24 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/jsoftwmaintevol.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Software Maintenance and Evolution:
                 Research and Practice",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
}

@Article{Huang:2008:DSL,
  author =       "Shan Shan Huang and David Zook and Yannis
                 Smaragdakis",
  title =        "Domain-specific languages and program generation with
                 {meta-AspectJ}",
  journal =      j-TOSEM,
  volume =       "18",
  number =       "2",
  pages =        "6:1--6:??",
  month =        nov,
  year =         "2008",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1416563.1416566",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Tue Nov 11 15:45:20 MST 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Meta-AspectJ (MAJ) is a language for generating
                 AspectJ programs using code templates. MAJ itself is an
                 extension of Java, so users can interleave arbitrary
                 Java code with AspectJ code templates. MAJ is a
                 structured metaprogramming tool: a well-typed generator
                 implies a syntactically correct generated program. MAJ
                 promotes a methodology that combines aspect-oriented
                 and generative programming. A valuable application is
                 in implementing small domain-specific language
                 extensions as generators using unobtrusive annotations
                 for syntax extension and AspectJ as a back-end. The
                 advantages of this approach are twofold. First, the
                 generator integrates into an existing software
                 application much as a regular API or library, instead
                 of as a language extension. Second, a mature language
                 implementation is easy to achieve with little effort
                 since AspectJ takes care of the low-level issues of
                 interfacing with the base Java language.\par

                 In addition to its practical value, MAJ offers valuable
                 insights to metaprogramming tool designers. It is a
                 mature metaprogramming tool for AspectJ (and, by
                 extension, Java): a lot of emphasis has been placed on
                 context-sensitive parsing and error reporting. As a
                 result, MAJ minimizes the number of metaprogramming
                 (quote/unquote) operators and uses type inference to
                 reduce the need to remember type names for syntactic
                 entities.",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "domain-specific languages; language extensions;
                 Metaprogramming; program synthesis; program
                 transformation; program verification",
}

@Article{Huang:2008:ESS,
  author =       "Shan Shan Huang and Yannis Smaragdakis",
  title =        "Expressive and safe static reflection with {MorphJ}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "79--89",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1375581.1375592",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Recently, language extensions have been proposed for
                 Java and C\# to support pattern-based reflective
                 declaration. These extensions introduce a disciplined
                 form of meta-programming and aspect-oriented
                 programming to mainstream languages: They allow members
                 of a class (i.e., fields and methods) to be declared by
                 statically iterating over and pattern-matching on
                 members of other classes. Such techniques, however,
                 have been unable to safely express simple, but common,
                 idioms such as declaring getter and setter methods for
                 fields.\par

                 In this paper, we present a mechanism that addresses
                 the lack of expressiveness in past work without
                 sacrificing safety. Our technique is based on the idea
                 of nested patterns that elaborate the outer-most
                 pattern with blocking or enabling conditions. We
                 implemented this mechanism in a language, MorphJ. We
                 demonstrate the expressiveness of MorphJ with
                 real-world applications. In particular, the MorphJ
                 reimplementation of DSTM2, a software transactional
                 memory library, reduces 1,107 lines of Java reflection
                 and bytecode engineering library calls to just 374
                 lines of MorphJ code. At the same time, the MorphJ
                 solution is both high level and safer, as MorphJ can
                 separately type check generic classes and catch errors
                 early. We present and formalize the MorphJ type system,
                 and offer a type-checking algorithm.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aspect-oriented programming; class morphing; language
                 extensions; meta-programming; object-oriented
                 programming; structural abstraction",
}

@Article{Hulaas:2008:PTL,
  author =       "Jarle Hulaas and Walter Binder",
  title =        "Program transformations for light-weight {CPU}
                 accounting and control in the {Java Virtual Machine}",
  journal =      j-HIGHER-ORDER-SYMB-COMPUT,
  volume =       "21",
  number =       "1--2",
  pages =        "119--146",
  month =        jun,
  year =         "2008",
  CODEN =        "LSCOEX",
  DOI =          "https://doi.org/10.1007/s10990-008-9026-4",
  ISSN =         "1388-3690 (print), 2212-0793 (electronic)",
  ISSN-L =       "1388-3690",
  bibdate =      "Wed Jul 9 12:34:46 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1388-3690&volume=21&issue=1;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1388-3690&volume=21&issue=1&spage=119",
  acknowledgement = ack-nhfb,
  fjournal =     "Higher-Order and Symbolic Computation",
  keywords =     "Bytecode engineering; Java; Program transformations;
                 Resource management",
}

@Book{ISO:2008:IIId,
  author =       "{ISO}",
  title =        "{ISO/IEC 9075-13:2008 Information technology ---
                 Database languages --- SQL --- Part 13: QL Routines and
                 Types Using the Java TM Programming Language
                 (SQL/JRT)}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "186",
  day =          "17",
  month =        jul,
  year =         "2008",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Thu Apr 26 12:13:07 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/isostd.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38646",
  acknowledgement = ack-nhfb,
}

@Article{Jacobs:2008:PMC,
  author =       "Bart Jacobs and Frank Piessens and Jan Smans and K.
                 Rustan M. Leino and Wolfram Schulte",
  title =        "A programming model for concurrent object-oriented
                 programs",
  journal =      j-TOPLAS,
  volume =       "31",
  number =       "1",
  pages =        "1:1--1:48",
  month =        dec,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1452044.1452045",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Dec 23 11:52:52 MST 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Reasoning about multithreaded object-oriented programs
                 is difficult, due to the nonlocal nature of object
                 aliasing and data races. We propose a programming
                 regime (or {\em programming model\/}) that rules out
                 data races, and enables local reasoning in the presence
                 of object aliasing and concurrency. Our programming
                 model builds on the multithreading and synchronization
                 primitives as they are present in current mainstream
                 programming languages. Java or C\# programs developed
                 according to our model can be annotated by means of
                 stylized comments to make the use of the model
                 explicit. We show that such annotated programs can be
                 formally verified to comply with the programming model.
                 If the annotated program verifies, the underlying Java
                 or C\# program is guaranteed to be free from data
                 races, and it is sound to reason locally about program
                 behavior. Verification is modular: a program is valid
                 if all methods are valid, and validity of a method does
                 not depend on program elements that are not visible to
                 the method. We have implemented a verifier for programs
                 developed according to our model in a custom build of
                 the Spec\# programming system, and we have validated
                 our approach on a case study.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "Aliasing; data races; local reasoning; modular
                 reasoning; ownership; verification condition
                 generation",
}

@Article{Joao:2008:IPOa,
  author =       "Jose A. Joao and Onur Mutlu and Hyesoon Kim and Rishi
                 Agarwal and Yale N. Patt",
  title =        "Improving the performance of object-oriented languages
                 with dynamic predication of indirect jumps",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "36",
  number =       "1",
  pages =        "80--90",
  month =        mar,
  year =         "2008",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/1353535.1346293",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Tue Jun 17 11:51:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Indirect jump instructions are used to implement
                 increasingly-common programming constructs such as
                 virtual function calls, switch-case statements, jump
                 tables, and interface calls. The performance impact of
                 indirect jumps is likely to increase because indirect
                 jumps with multiple targets are difficult to predict
                 even with specialized hardware.\par

                 This paper proposes a new way of handling
                 hard-to-predict indirect jumps: dynamically predicating
                 them. The compiler (static or dynamic) identifies
                 indirect jumps that are suitable for predication along
                 with their control-flow merge (CFM) points. The
                 hardware predicates the instructions between different
                 targets of the jump and its CFM point if the jump turns
                 out to be hard-to-predict at run time. If the jump
                 would actually have been mispredicted, its dynamic
                 predication eliminates a pipeline flush, thereby
                 improving performance.\par

                 Our evaluations show that Dynamic Indirect jump
                 Predication (DIP) improves the performance of a set of
                 object-oriented applications including the Java DaCapo
                 benchmark suite by 37.8\% compared to a commonly-used
                 branch target buffer based predictor, while also
                 reducing energy consumption by 24.8\%. We compare DIP
                 to three previously proposed indirect jump predictors
                 and find that it provides the best performance and
                 energy-efficiency.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
  keywords =     "dynamic predication; indirect jumps; object-oriented
                 languages; predicated execution; virtual functions",
}

@Article{Joao:2008:IPOb,
  author =       "Jose A. Joao and Onur Mutlu and Hyesoon Kim and Rishi
                 Agarwal and Yale N. Patt",
  title =        "Improving the performance of object-oriented languages
                 with dynamic predication of indirect jumps",
  journal =      j-OPER-SYS-REV,
  volume =       "42",
  number =       "2",
  pages =        "80--90",
  month =        mar,
  year =         "2008",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1353535.1346293",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:20:12 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Indirect jump instructions are used to implement
                 increasingly-common programming constructs such as
                 virtual function calls, switch-case statements, jump
                 tables, and interface calls. The performance impact of
                 indirect jumps is likely to increase because indirect
                 jumps with multiple targets are difficult to predict
                 even with specialized hardware.\par

                 This paper proposes a new way of handling
                 hard-to-predict indirect jumps: dynamically predicating
                 them. The compiler (static or dynamic) identifies
                 indirect jumps that are suitable for predication along
                 with their control-flow merge (CFM) points. The
                 hardware predicates the instructions between different
                 targets of the jump and its CFM point if the jump turns
                 out to be hard-to-predict at run time. If the jump
                 would actually have been mispredicted, its dynamic
                 predication eliminates a pipeline flush, thereby
                 improving performance.\par

                 Our evaluations show that Dynamic Indirect jump
                 Predication (DIP) improves the performance of a set of
                 object-oriented applications including the Java DaCapo
                 benchmark suite by 37.8\% compared to a commonly-used
                 branch target buffer based predictor, while also
                 reducing energy consumption by 24.8\%. We compare DIP
                 to three previously proposed indirect jump predictors
                 and find that it provides the best performance and
                 energy-efficiency.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "dynamic predication; indirect jumps; object-oriented
                 languages; predicated execution; virtual functions",
}

@Article{Joao:2008:IPOc,
  author =       "Jose A. Joao and Onur Mutlu and Hyesoon Kim and Rishi
                 Agarwal and Yale N. Patt",
  title =        "Improving the performance of object-oriented languages
                 with dynamic predication of indirect jumps",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "3",
  pages =        "80--90",
  month =        mar,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1353535.1346293",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:03:40 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Indirect jump instructions are used to implement
                 increasingly-common programming constructs such as
                 virtual function calls, switch-case statements, jump
                 tables, and interface calls. The performance impact of
                 indirect jumps is likely to increase because indirect
                 jumps with multiple targets are difficult to predict
                 even with specialized hardware.\par

                 This paper proposes a new way of handling
                 hard-to-predict indirect jumps: dynamically predicating
                 them. The compiler (static or dynamic) identifies
                 indirect jumps that are suitable for predication along
                 with their control-flow merge (CFM) points. The
                 hardware predicates the instructions between different
                 targets of the jump and its CFM point if the jump turns
                 out to be hard-to-predict at run time. If the jump
                 would actually have been mispredicted, its dynamic
                 predication eliminates a pipeline flush, thereby
                 improving performance.\par

                 Our evaluations show that Dynamic Indirect jump
                 Predication (DIP) improves the performance of a set of
                 object-oriented applications including the Java DaCapo
                 benchmark suite by 37.8\% compared to a commonly-used
                 branch target buffer based predictor, while also
                 reducing energy consumption by 24.8\%. We compare DIP
                 to three previously proposed indirect jump predictors
                 and find that it provides the best performance and
                 energy-efficiency.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "dynamic predication; indirect jumps; object-oriented
                 languages; predicated execution; virtual functions",
}

@Article{Jung:2008:EEH,
  author =       "Dong-Heon Jung and JongKuk Park and Sung-Hwan Bae and
                 Jaemok Lee and Soo-Mook Moon",
  title =        "Efficient exception handling in {Java} bytecode-to-{C}
                 ahead-of-time compiler for embedded systems",
  journal =      j-COMP-LANGS-SYS-STRUCT,
  volume =       "34",
  number =       "4",
  pages =        "170--183",
  month =        dec,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1016/j.cl.2007.06.004",
  ISSN =         "1477-8424 (print), 1873-6866 (electronic)",
  ISSN-L =       "1477-8424",
  bibdate =      "Thu Mar 8 08:39:19 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/complngs.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/14778424",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1477842407000176",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Languages, Systems \& Structures",
  journal-URL =  "http://www.sciencedirect.com/science/journal/14778424",
}

@Article{Kats:2008:MSB,
  author =       "Lennart C. L. Kats and Martin Bravenboer and Eelco
                 Visser",
  title =        "Mixing source and bytecode: a case for compilation by
                 normalization",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "91--108",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449772",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Language extensions increase programmer productivity
                 by providing concise, often domain-specific syntax, and
                 support for static verification of correctness,
                 security, and style constraints. Language extensions
                 can often be realized through translation to the base
                 language, supported by preprocessors and extensible
                 compilers. However, various kinds of extensions require
                 further adaptation of a base compiler's internal stages
                 and components, for example to support separate
                 compilation or to make use of low-level primitives of
                 the platform (e.g., jump instructions or unbalanced
                 synchronization). To allow for a more loosely coupled
                 approach, we propose an open compiler model based on
                 normalization steps from a high-level language to a
                 subset of it, the core language. We developed such a
                 compiler for a mixed Java and (core) bytecode language,
                 and evaluate its effectiveness for composition
                 mechanisms such as traits, as well as statement-level
                 and expression-level language extensions.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "bytecode; compilers; domain-specific languages; dryad
                 compiler; embedded languages; iterators; Java; language
                 extensions; meta programming; SDF; source tracing;
                 stratego; traits",
}

@Article{Kawachiya:2008:ARM,
  author =       "Kiyokuni Kawachiya and Kazunori Ogata and Tamiya
                 Onodera",
  title =        "Analysis and reduction of memory inefficiencies in
                 {Java} strings",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "385--402",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449795",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper describes a novel approach to reduce the
                 memory consumption of Java programs, by focusing on
                 their 'string memory inefficiencies'. In recent Java
                 applications, string data occupies a large amount of
                 the heap area. For example, about 40\% of the live heap
                 area is used for string data when a production J2EE
                 application server is running. By investigating the
                 string data in the live heap, we identified two types
                 of memory inefficiencies -- 'duplication' and 'unused
                 literals'. In the heap, there are many string objects
                 that have the same values. There also exist many string
                 literals whose values are not actually used by the
                 application. Since these inefficiencies exist as live
                 objects, they cannot be eliminated by existing garbage
                 collection techniques, which only remove dead objects.
                 Quantitative analysis of Java heaps in real
                 applications revealed that more than 50\% of the string
                 data in the live heap is wasted by these
                 inefficiencies. To reduce the string memory
                 inefficiencies, this paper proposes two techniques at
                 the Java virtual machine level, 'StringGC' for
                 eliminating duplicated strings at the time of garbage
                 collection, and 'Lazy Body Creation' for delaying part
                 of the literal instantiation until the literal's value
                 is actually used. We also present an interesting
                 technique at the Java program level, which we call
                 'BundleConverter', for preventing unused message
                 literals from being instantiated. Prototype
                 implementations on a production Java virtual machine
                 have achieved about 18\% reduction of the live heap in
                 the production application server. The proposed
                 techniques could also reduce the live heap of standard
                 Java benchmarks by 11.6\% on average, without
                 noticeable performance degradation.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "footprint analysis and reduction; garbage collection;
                 Java; memory management; string",
}

@Article{Kimball:2008:CCW,
  author =       "Aaron Kimball and Sierra Michels-Slettvet and
                 Christophe Bisciglia",
  title =        "Cluster computing for {Web}-scale data processing",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "116--120",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352177",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "In this paper we present the design of a modern course
                 in cluster computing and large-scale data processing.
                 The defining differences between this and previously
                 published designs are its focus on processing very
                 large data sets and its use of Hadoop, an open source
                 Java-based implementation of MapReduce and the Google
                 File System as the platform for programming exercises.
                 Hadoop proved to be a key element for successfully
                 implementing structured lab activities and independent
                 design projects. Through this course, offered at the
                 University of Washington in 2007, we imparted new
                 skills on our students, improving their ability to
                 design systems capable of solving web-scale problems.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kireev:2008:RTJ,
  author =       "Alexandre N. Kireev and Olivier J. F. Martin",
  title =        "Real-time {Java} simulations of multiple interference
                 dielectric filters",
  journal =      j-COMP-PHYS-COMM,
  volume =       "179",
  number =       "12",
  pages =        "903--907",
  day =          "15",
  month =        dec,
  year =         "2008",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/j.cpc.2008.07.015",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Mon Feb 13 23:42:38 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compphyscomm1970.bib;
                 http://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465508002531",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Kotzmann:2008:DJH,
  author =       "Thomas Kotzmann and Christian Wimmer and Hanspeter
                 M{\"o}ssenb{\"o}ck and Thomas Rodriguez and Kenneth
                 Russell and David Cox",
  title =        "Design of the {Java HotSpot\TM} client compiler for
                 {Java 6}",
  journal =      j-TACO,
  volume =       "5",
  number =       "1",
  pages =        "7:1--7:??",
  month =        may,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1369396.1370017",
  ISSN =         "1544-3566 (print), 1544-3973 (electronic)",
  ISSN-L =       "1544-3566",
  bibdate =      "Mon Jun 16 11:41:51 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Version 6 of Sun Microsystems' Java HotSpot{\TM} VM
                 ships with a redesigned version of the client
                 just-in-time compiler that includes several research
                 results of the last years. The client compiler is at
                 the heart of the VM configuration used by default for
                 interactive desktop applications. For such
                 applications, low startup and pause times are more
                 important than peak performance. This paper outlines
                 the new architecture of the client compiler and shows
                 how it interacts with the VM. It presents the
                 intermediate representation that now uses static
                 single-assignment (SSA) form and the linear scan
                 algorithm for global register allocation. Efficient
                 support for exception handling and deoptimization
                 fulfills the demands that are imposed by the dynamic
                 features of the Java programming language. The
                 evaluation shows that the new client compiler generates
                 better code in less time. The popular SPECjvm98
                 benchmark suite is executed 45\% faster, while the
                 compilation speed is also up to 40\% better. This
                 indicates that a carefully selected set of global
                 optimizations can also be integrated in just-in-time
                 compilers that focus on compilation speed and not on
                 peak performance. In addition, the paper presents the
                 impact of several optimizations on execution and
                 compilation speed. As the source code is freely
                 available, the Java HotSpot{\TM} VM and the client
                 compiler are the ideal basis for experiments with new
                 feedback-directed optimizations in a production-level
                 Java just-in-time compiler. The paper outlines research
                 projects that add fast algorithms for escape analysis,
                 automatic object inlining, and array bounds check
                 elimination.",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "ACM Transactions on Architecture and Code Optimization
                 (TACO)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J924",
  keywords =     "compiler; deoptimization; intermediate representation;
                 Java; just-in-time compilation; optimization; register
                 allocation",
}

@Article{Lai:2008:JIA,
  author =       "Charlie Lai",
  title =        "{Java} Insecurity: Accounting for Subtleties That Can
                 Compromise Code",
  journal =      j-IEEE-SOFTWARE,
  volume =       "25",
  number =       "1",
  pages =        "13--19",
  month =        jan # "\slash " # feb,
  year =         "2008",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/MS.2008.9",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Thu Jul 3 12:17:31 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Langmaack:2008:DAI,
  author =       "Hans Langmaack and Andrzej Salwicki and Marek
                 Warpechowski",
  title =        "A Deterministic Algorithm for Identifying Direct
                 Superclasses in {Java}",
  journal =      j-FUND-INFO,
  volume =       "85",
  number =       "1--4",
  pages =        "343--357",
  month =        sep,
  year =         "2008",
  CODEN =        "FUMAAJ",
  ISSN =         "0169-2968 (print), 1875-8681 (electronic)",
  ISSN-L =       "0169-2968",
  bibdate =      "Sat Mar 5 17:07:07 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Fundamenta Informaticae",
  journal-URL =  "http://content.iospress.com/journals/fundamenta-informaticae",
}

@Article{Lee:2008:EHS,
  author =       "Seong-Won Lee and Soo-Mook Moon and Seong-Moo Kim",
  title =        "Enhanced hot spot detection heuristics for embedded
                 {Java} just-in-time compilers",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "7",
  pages =        "13--22",
  month =        jul,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1375657.1375660",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:05:54 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Most Java just-in-time compilers (JITC) try to compile
                 only hot methods since the compilation overhead is part
                 of the running time. This requires precise and
                 efficient hot spot detection, which includes
                 distinguishing hot methods from cold methods, detecting
                 them as early as possible, and paying a small runtime
                 overhead for detection. A hot method could be
                 identified by measuring its running time during
                 interpretation since a long-running method is likely to
                 be a hot method. However, precise measurement of the
                 running time during execution is too expensive,
                 especially in embedded systems, so many counter-based
                 heuristics have been proposed to estimate it. The
                 Simple heuristic counts only method invocations without
                 any consideration of loops [1], while Sun's HotSpot
                 heuristic counts loop iterations as well, but does not
                 consider loop sizes or method sizes [2,14]. The static
                 analysis heuristic estimates the running time of a
                 method by statically analyzing loops or heavy-cost
                 bytecodes but does not measure their dynamic counts
                 [3]. Although the overhead of these heuristics is low,
                 they do not estimate the running time precisely, which
                 may lead to imprecise hot spot detection.\par

                 This paper proposes a new hot spot detection heuristic
                 which can estimate the running time more precisely than
                 others with a relatively low overhead. It dynamically
                 counts only important bytecodes interpreted, but with a
                 simple arithmetic calculation it can obtain the precise
                 count of all interpreted bytecodes. We also propose
                 employing a static analysis technique to predict those
                 hot methods which spend a huge execution time once
                 invoked. This static prediction can allow compiling
                 these methods at their first-invocation, complementing
                 the proposed dynamic estimation technique. We
                 implemented both, which led to a performance benefit of
                 10\% compared to the HotSpot heuristic.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "hot spot detection; J2ME CDC; Java just-in-time
                 compilation; Java Virtual Machine; Sun's Hotspot
                 heuristic",
}

@Article{Lhotak:2008:EBC,
  author =       "Ond{\v{r}}ej Lhot{\'a}k and Laurie Hendren",
  title =        "Evaluating the benefits of context-sensitive points-to
                 analysis using a {BDD}-based implementation",
  journal =      j-TOSEM,
  volume =       "18",
  number =       "1",
  pages =        "3:1--3:??",
  month =        sep,
  year =         "2008",
  CODEN =        "ATSMER",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Mon Oct 6 15:14:19 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present Paddle, a framework of BDD-based
                 context-sensitive points-to and call graph analyses for
                 Java, as well as client analyses that use their
                 results. Paddle supports several variations of
                 context-sensitive analyses, including call site strings
                 and object sensitivity, and context-sensitively
                 specializes both pointer variables and the heap
                 abstraction. We empirically evaluate the precision of
                 these context-sensitive analyses on significant Java
                 programs. We find that object-sensitive analyses are
                 more precise than comparable variations of the other
                 approaches, and that specializing the heap abstraction
                 improves precision more than extending the length of
                 context strings.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
}

@Article{Lhotak:2008:RAB,
  author =       "Ond{\v{r}}ej Lhot{\'a}k and Laurie Hendren",
  title =        "Relations as an abstraction for {BDD}-based program
                 analysis",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "4",
  pages =        "19:1--19:63",
  month =        jul,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1377492.1377494",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Aug 5 19:14:53 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In this article we present Jedd, a language extension
                 to Java that supports a convenient way of programming
                 with Binary Decision Diagrams (BDDs). The Jedd language
                 abstracts BDDs as database-style relations and
                 operations on relations, and provides static type rules
                 to ensure that relational operations are used
                 correctly.\par

                 The article provides a description of the Jedd language
                 and reports on the design and implementation of the
                 Jedd translator and associated runtime system. Of
                 particular interest is the approach to assigning
                 attributes from the high-level relations to physical
                 domains in the underlying BDDs, which is done by
                 expressing the constraints as a SAT problem and using a
                 modern SAT solver to compute the solution. Further, a
                 runtime system is defined that handles memory
                 management issues and supports a browsable profiling
                 tool for tuning the key BDD operations.\par

                 The motivation for designing Jedd was to support the
                 development of interrelated whole program analyses
                 based on BDDs. We have successfully used Jedd to build
                 Paddle, a framework of context-sensitive program
                 analyses, including points-to analysis and call graph
                 construction, as well as several client analyses.",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "Binary decision diagrams; Boolean formula
                 satisfiability; Java; language design; physical domain
                 assignment; points-to analysis; program analysis;
                 relations",
}

@Book{Liguori:2008:JPG,
  author =       "Robert Liguori and Patricia Liguori",
  title =        "{Java} pocket guide",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xiii + 177",
  year =         "2008",
  ISBN =         "0-596-51419-0",
  ISBN-13 =      "978-0-596-51419-8",
  LCCN =         "QA76.73.J38 L545 2008",
  bibdate =      "Sat Nov 13 10:15:12 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90;
                 prodorbis.library.yale.edu:7090/voyager",
  abstract =     "A guide to the Java programming language provides
                 concise information on such topics as naming
                 conventions, lexical elements, reference types,
                 exception handling, Java modifiers, the Java Platform
                 SE, and the Java Scripting API.",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Handbooks, manuals,
                 etc",
}

@Article{Lim:2008:RSS,
  author =       "Sang Boem Lim and Hanku Lee and Bryan Carpenter and
                 Geoffrey Fox",
  title =        "Runtime support for scalable programming in {Java}",
  journal =      j-J-SUPERCOMPUTING,
  volume =       "43",
  number =       "2",
  pages =        "165--182",
  month =        feb,
  year =         "2008",
  CODEN =        "JOSUED",
  DOI =          "https://doi.org/10.1007/s11227-007-0125-5",
  ISSN =         "0920-8542 (print), 1573-0484 (electronic)",
  ISSN-L =       "0920-8542",
  bibdate =      "Wed Jul 9 17:32:33 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0920-8542&volume=43&issue=2;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0920-8542&volume=43&issue=2&spage=165",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of Supercomputing",
  journal-URL =  "http://link.springer.com/journal/11227",
  keywords =     "HPJava; mpiJava; Parallel runtime library",
}

@Article{Liquori:2008:EFJ,
  author =       "Luigi Liquori and Arnaud Spiwack",
  title =        "Extending {FeatherTrait Java} with {Interfaces}",
  journal =      j-THEOR-COMP-SCI,
  volume =       "398",
  number =       "1--3",
  pages =        "243--260",
  day =          "28",
  month =        may,
  year =         "2008",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Mon Mar 28 21:49:15 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Article{Liquori:2008:FME,
  author =       "Luigi Liquori and Arnaud Spiwack",
  title =        "{FeatherTrait}: a modest extension of {Featherweight
                 Java}",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "2",
  pages =        "11:1--11:32",
  month =        mar,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1330017.1330022",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Jun 11 19:22:42 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Liu:2008:PBH,
  author =       "Tiancheng Liu and Ying Li and Andrew Schofield and
                 Matt Hogstrom and Kewei Sun and Ying Chen",
  title =        "Partition-based heap memory management in an
                 application server",
  journal =      j-OPER-SYS-REV,
  volume =       "42",
  number =       "1",
  pages =        "98--98",
  month =        jan,
  year =         "2008",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1341312.1341331",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:19:29 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Heap is an important shared resource in Java virtual
                 machine. A problem with memory management in one
                 component can affect the whole system and even result
                 in crashing the virtual machine. In this paper, we
                 propose a partition-based approach to manage heap in an
                 application server. In our approach, the shared heap is
                 divided into logical partitions, in which instances of
                 application components and server components are
                 allocated separately.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "application server; Java; memory management;
                 reliability",
}

@Article{Liu:2008:UOS,
  author =       "Peter L. Liu",
  title =        "Using open-source robocode as a {Java} programming
                 assignment",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "4",
  pages =        "63--67",
  month =        dec,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1473195.1473222",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:17 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper is a teacher-researcher's reflection upon
                 the use of open-source Robocode as a Java programming
                 assignment. Following the educational perspectives of
                 Parker Palmer and Elliot Eisner, it is a qualitative
                 inquiry into the learning experiences of the students
                 as well as the inner journey of a teacher. The design
                 of the assignment may be validated by the ITiCSE 2007
                 Working Group's matrix taxonomy.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Lobosco:2008:ERT,
  author =       "Marcelo Lobosco and Orlando Loques and Claudio L. de
                 Amorim",
  title =        "On the effectiveness of runtime techniques to reduce
                 memory sharing overheads in distributed {Java}
                 implementations",
  journal =      j-CCPE,
  volume =       "20",
  number =       "13",
  pages =        "1509--1538",
  day =          "10",
  month =        sep,
  year =         "2008",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1289",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:26 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "7 Dec 2007",
}

@Article{Lorenzen:2008:OFU,
  author =       "Torben Lorenzen and Abdul Sattar",
  title =        "Objects first using {Alice} to introduce object
                 constructs in {CS1}",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "2",
  pages =        "62--64",
  month =        jun,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1383602.1383636",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:13 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse40.html#LorenzenS08;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2008.bib",
  abstract =     "Java has become the programming language of choice for
                 the first computer programming course in most of the
                 computer science programs in the country. However, Java
                 is a true objected-oriented language and requires
                 instructors to introduce object-oriented constructs
                 (classes, objects and methods) early in the course.
                 This poses a problem for both students (who find the
                 introduction to objects to be very dry and abstract)
                 and instructors (who attempt to enliven this material).
                 In this paper, the authors describe how Alice is used
                 to introduce the essential concepts of object-oriented
                 programming in the beginning of a CS1 Java course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Lucas:2008:ITJ,
  author =       "Joan M. Lucas and Jonathan Jarvis",
  title =        "Incorporating transformations into {JFLAP} for
                 enhanced understanding of automata",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "14--18",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352143",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "This paper describes our experience extending the
                 educational software program JFLAP. JFLAP enables
                 students to design and simulate automata such as Finite
                 State Machines, push-down automata, and Turing
                 Machines. It is a valuable aid in any Automata Theory
                 course. We modified JFLAP so that students could write
                 Java programs that alter the actual automaton itself.
                 This utility greatly increases the students' ability to
                 grasp such fundamental topics as the Church--Turing
                 thesis and the theory of undecidability.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Mathiske:2008:ADF,
  author =       "Bernd Mathiske and Doug Simon and Dave Ungar",
  title =        "An assembler and disassembler framework for
                 {JavaTM~programmers}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "70",
  number =       "2--3",
  pages =        "127--148",
  day =          "1",
  month =        feb,
  year =         "2008",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:17 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Book{McFarland:2008:JMM,
  author =       "David Sawyer McFarland",
  title =        "{JavaScript}: the missing manual",
  publisher =    pub-POGUE-PRESS-OREILLY,
  address =      pub-POGUE-PRESS-OREILLY:adr,
  pages =        "xiv + 528",
  year =         "2008",
  ISBN =         "0-596-51589-8",
  ISBN-13 =      "978-0-596-51589-8",
  LCCN =         "QA76.73.J39 M388 2008; **See",
  bibdate =      "Wed Apr 27 11:27:09 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 library.mit.edu:9909/mit01",
  series =       "Missing manual",
  URL =          "http://proquest.safaribooksonline.com/9780596515898",
  acknowledgement = ack-nhfb,
  subject =      "JavaScript (Computer program language)",
}

@Article{Menon:2008:SGL,
  author =       "Vijay Menon and Steven Balensiefer and Tatiana
                 Shpeisman and Ali-Reza Adl-Tabatabai and Richard L.
                 Hudson and Bratin Saha and Adam Welc",
  title =        "Single global lock semantics in a weakly atomic
                 {STM}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "5",
  pages =        "15--26",
  month =        may,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1402227.1402235",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:28 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "As memory transactions have been proposed as a
                 language-level replacement for locks, there is growing
                 need for well-defined semantics. In contrast to
                 database transactions, transaction memory (TM)
                 semantics are complicated by the fact that programs may
                 access the same memory locations both inside and
                 outside transactions. {\em Strongly atomic\/}
                 semantics, where non-transactional accesses are treated
                 as implicit single-operation transactions, remain
                 difficult to provide without specialized hardware
                 support and/or significant performance overhead. As an
                 alternative, many in the community have informally
                 proposed that a {\em single global lock semantics\/}
                 [16, 9], where transaction semantics are mapped to
                 those of regions protected by a single global lock,
                 provide an intuitive and efficiently implementable
                 model for programmers.\par

                 In this paper, we explore the implementation and
                 performance implications of single global lock
                 semantics in a weakly atomic STM from the perspective
                 of Java, and we discuss why even recent STM
                 implementations fall short of these semantics. We
                 describe a new weakly atomic Java STM implementation
                 that provides single global lock semantics while
                 permitting concurrent execution, but we show that this
                 comes at a significant performance cost. We also
                 propose and implement various alternative semantics
                 that loosen single lock requirements while still
                 providing strong guarantees. We compare our new
                 implementations to previous ones, including a strongly
                 atomic STM. [22]",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Miller:2008:BRP,
  author =       "J. Miller",
  title =        "Book Review: {Practical API Design: Confessions of a
                 Java Framework Architect (1st edition), Jaroslav
                 Tulach, Apress, 2008, \$74.99, ISBN:
                 978-1-4302-0973-7}",
  journal =      j-QUEUE,
  volume =       "6",
  number =       "6",
  pages =        "54--54",
  month =        oct,
  year =         "2008",
  CODEN =        "AQCUAE",
  DOI =          "https://doi.org/10.1145/1466443.1466457",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Mon Dec 8 14:10:44 MST 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Moller:2008:IFM,
  author =       "Michael M{\"o}ller and Ernst-R{\"u}diger Olderog and
                 Holger Rasch and Heike Wehrheim",
  title =        "Integrating a formal method into a software
                 engineering process with {UML} and {Java}",
  journal =      j-FORM-ASP-COMPUT,
  volume =       "20",
  number =       "2",
  pages =        "161--204",
  month =        mar,
  year =         "2008",
  CODEN =        "FACME5",
  DOI =          "https://doi.org/10.1007/s00165-007-0042-7",
  ISSN =         "0934-5043 (print), 1433-299X (electronic)",
  ISSN-L =       "0934-5043",
  bibdate =      "Tue Mar 17 20:58:26 MDT 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/formaspcomput.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1007/s00165-007-0042-7",
  acknowledgement = ack-nhfb,
  fjournal =     "Formal Aspects of Computing",
  journal-URL =  "http://link.springer.com/journal/165",
}

@Article{Moors:2008:GHK,
  author =       "Adriaan Moors and Frank Piessens and Martin Odersky",
  title =        "Generics of a higher kind",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "423--438",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449798",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "With Java 5 and C\# 2.0, first-order parametric
                 polymorphism was introduced in mainstream
                 object-oriented programming languages under the name of
                 generics. Although the first-order variant of generics
                 is very useful, it also imposes some restrictions: it
                 is possible to abstract over a type, but the resulting
                 type constructor cannot be abstracted over. This can
                 lead to code duplication. We removed this restriction
                 in Scala, by allowing type constructors as type
                 parameters and abstract type members. This paper
                 presents the design and implementation of the resulting
                 type constructor polymorphism. Furthermore, we study
                 how this feature interacts with existing
                 object-oriented constructs, and show how it makes the
                 language more expressive.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "higher-kinded types; higher-order genericity; Scala;
                 type constructor polymorphism",
}

@Book{Morrison:2008:ACK,
  author =       "Michael Morrison",
  title =        "{Ajax} construction kit: building plug-and-play {Ajax}
                 applications",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xvii + 291",
  year =         "2008",
  ISBN =         "0-13-235008-4 (paperback)",
  ISBN-13 =      "978-0-13-235008-2 (paperback)",
  LCCN =         "TK5105.8885.A52 M67 2008",
  bibdate =      "Sun Jan 24 17:06:14 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Negus live Linux series",
  acknowledgement = ack-nhfb,
  subject =      "Ajax (Web site development technology); Web site
                 development; JavaScript (Computer program language);
                 Asynchronous transfer mode",
}

@Book{Morrison:2008:HFJ,
  author =       "Michael Morrison",
  title =        "Head first {JavaScript}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxxiv + 615",
  year =         "2008",
  ISBN =         "0-596-52774-8",
  ISBN-13 =      "978-0-596-52774-7",
  LCCN =         "QA76.73.J39eb; QA76.73.J39",
  bibdate =      "Tue Aug 5 18:08:01 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "Head first series",
  URL =          "http://www.oreilly.com/catalog/9780596527747",
  acknowledgement = ack-nhfb,
  remark =       "A brain-friendly guide, p.1. Safari ``free online ed.
                 with purchase of this book.",
  subject =      "JavaScript (Computer program language); Web sites;
                 Design; Internet programming",
  tableofcontents = "The interactive web \\
                 Storing data \\
                 Exploring the client: browser spelunking \\
                 Decision making \\
                 Looping \\
                 Functions: reduce, reuse, recycle \\
                 Forms and validation \\
                 Wrangling the page: slicing and dicing HTML with the
                 DOM \\
                 Bringing data to life \\
                 Creating custom objects \\
                 Kill bugs dead: good scripts gone wrong \\
                 Dynamic data: touchy-feely web applications",
  xxnote =       "Check year: 2007 or 2008??",
}

@Article{Murphy:2008:BTD,
  author =       "Christian Murphy and Eunhee Kim and Gail Kaiser and
                 Adam Cannon",
  title =        "Backstop: a tool for debugging runtime errors",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "173--177",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352193",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "The errors that Java programmers are likely to
                 encounter can roughly be categorized into three groups:
                 compile-time (semantic and syntactic), logical, and
                 runtime (exceptions). While much work has focused on
                 the first two, there are very few tools that exist for
                 interpreting the sometimes cryptic messages that result
                 from runtime errors. Novice programmers in particular
                 have difficulty dealing with uncaught exceptions in
                 their code and the resulting stack traces, which are by
                 no means easy to understand. We present Backstop, a
                 tool for debugging runtime errors in Java applications.
                 This tool provides more user-friendly error messages
                 when an uncaught exception occurs, and also provides
                 debugging support by allowing users to watch the
                 execution of the program and the changes to the values
                 of variables. We also present the results of two
                 preliminary studies conducted on introductory-level
                 programmers using the two different features of the
                 tool.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Murphy:2008:DGB,
  author =       "Laurie Murphy and Gary Lewandowski and Ren{\'e}e
                 McCauley and Beth Simon and Lynda Thomas and Carol
                 Zander",
  title =        "Debugging: the good, the bad, and the quirky --- a
                 qualitative analysis of novices' strategies",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "163--167",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352191",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "A qualitative analysis of debugging strategies of
                 novice Java programmers is presented. The study
                 involved 21 CS2 students from seven universities in the
                 U.S. and U.K. Subjects ``warmed up'' by coding a
                 solution to a typical introductory problem. This was
                 followed by an exercise debugging a syntactically
                 correct version with logic errors. Many novices found
                 and fixed bugs using strategies such as tracing,
                 commenting out code, diagnostic print statements and
                 methodical testing. Some competently used online
                 resources and debuggers. Students also used pattern
                 matching to detect errors in code that ``just didn't
                 look right''. However, some used few strategies,
                 applied them ineffectively, or engaged in other
                 unproductive behaviors. This led to poor performance,
                 frustration for some, and occasionally the introduction
                 of new bugs. Pedagogical implications and suggestions
                 for future research are discussed.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Muschevici:2008:MDP,
  author =       "Radu Muschevici and Alex Potanin and Ewan Tempero and
                 James Noble",
  title =        "Multiple dispatch in practice",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "563--582",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449808",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Multiple dispatch uses the run time types of more than
                 one argument to a method call to determine which method
                 body to run. While several languages over the last 20
                 years have provided multiple dispatch, most
                 object-oriented languages still support only single
                 dispatch forcing programmers to implement multiple
                 dispatch manually when required. This paper presents an
                 empirical study of the use of multiple dispatch in
                 practice, considering six languages that support
                 multiple dispatch, and also investigating the potential
                 for multiple dispatch in Java programs. We hope that
                 this study will help programmers understand the uses
                 and abuses of multiple dispatch; virtual machine
                 implementors optimise multiple dispatch; and language
                 designers to evaluate the choice of providing multiple
                 dispatch in new programming languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "double dispatch; empirical software engineering;
                 instanceof; multimethods; multiple dispatch",
}

@Article{Nami:2008:COO,
  author =       "Mohammad Reza Nami",
  title =        "A comparison of object-oriented languages in software
                 engineering",
  journal =      j-SIGSOFT,
  volume =       "33",
  number =       "4",
  pages =        "6:1--6:??",
  month =        jul,
  year =         "2008",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1384139.1384145",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:38 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Object-oriented programming is still a relatively new
                 technology in the world of web development.
                 Object-oriented programming languages directly support
                 the object notions of classes, inheritance, information
                 hiding, and dynamic binding. In Object-Oriented
                 Programming, a program is seen as comprising a
                 collection of individual modules, or objects, that act
                 on each other. Each of these objects could be seen as
                 an independent program in itself, with a distinct role
                 or responsibility. Object-Oriented Programming provides
                 greater flexibility and easier maintenance across large
                 systems and can sometimes make understanding and
                 analyzing complex procedures a lot easier. This paper
                 presents a comparison of object-oriented programming in
                 software engineering including properties of Java, C++,
                 Eiffel, and Smalltalk languages.",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Nicoara:2008:CSE,
  author =       "Angela Nicoara and Gustavo Alonso and Timothy Roscoe",
  title =        "Controlled, systematic, and efficient code replacement
                 for running {Java} programs",
  journal =      j-OPER-SYS-REV,
  volume =       "42",
  number =       "4",
  pages =        "233--246",
  month =        may,
  year =         "2008",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1352592.1352617",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:21:34 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In this paper we present PROSE, a system that performs
                 reversible and systematic changes to running Java
                 applications without requiring them to be shut down.
                 PROSE is motivated by scenarios such as hotfixes,
                 online program instrumentation and debugging, and
                 evolution of critical legacy applications. In PROSE,
                 changes to running applications are performed by
                 replacing method bodies. To select which code to
                 replace, PROSE supports matching based on both type
                 information and regular expressions. New code can
                 invoke the method it replaces, facilitating code
                 evolution. Changes are composable, and may be reordered
                 or selectively withdrawn at any time. Furthermore, the
                 dynamic changes are expressed as Java classes rather
                 than through an additional programming language. We
                 describe the architecture of PROSE, the challenges of
                 using aggressive inlining to achieve performance, and
                 use standard benchmarks to demonstrate code performance
                 comparable with, or better than, compile-time systems
                 from the Aspect-Oriented Programming community.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "dynamic bytecode instrumentation; inlining; PROSE;
                 run-time method code replacement; run-time
                 modification",
}

@Article{Oi:2008:LVA,
  author =       "Hitoshi Oi",
  title =        "Local variable access behavior of a
                 hardware-translation based {Java} virtual machine",
  journal =      j-J-SYST-SOFTW,
  volume =       "81",
  number =       "11",
  pages =        "2059--2068",
  month =        nov,
  year =         "2008",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Tue Sep 7 07:27:04 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Oliva:2008:ALF,
  author =       "E. Oliva and A. Natali and A. Ricci and M. Viroli",
  title =        "An Adaptation Logic Framework for {Java}-based
                 Component Systems",
  journal =      j-J-UCS,
  volume =       "14",
  number =       "13",
  pages =        "2158--??",
  month =        "????",
  year =         "2008",
  CODEN =        "????",
  ISSN =         "0948-6968",
  ISSN-L =       "0948-6968",
  bibdate =      "Wed Aug 25 22:38:57 MDT 2010",
  bibsource =    "http://www.jucs.org/jucs;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jucs.org/jucs_14_13/an_adaptation_logic_framework",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
}

@Article{Parkinson:2008:SLA,
  author =       "Matthew J. Parkinson and Gavin M. Bierman",
  title =        "Separation logic, abstraction and inheritance",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "1",
  pages =        "75--86",
  month =        jan,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1328897.1328451",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:02:13 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Inheritance is a fundamental concept in
                 object-oriented programming, allowing new classes to be
                 defined in terms of old classes. When used with care,
                 inheritance is an essential tool for object-oriented
                 programmers. Thus, for those interested in developing
                 formal verification techniques, the treatment of
                 inheritance is of paramount importance. Unfortunately,
                 inheritance comes in a number of guises, all requiring
                 subtle techniques.\par

                 To address these subtleties, most existing verification
                 methodologies typically adopt one of two restrictions
                 to handle inheritance: either (1) they prevent a
                 derived class from restricting the behaviour of its
                 base class (typically by syntactic means) to trivialize
                 the proof obligations; or (2) they allow a derived
                 class to restrict the behaviour of its base class, but
                 require that every inherited method must be reverified.
                 Unfortunately, this means that typical inheritance-rich
                 code either cannot be verified or results in an
                 unreasonable number of proof obligations.\par

                 In this paper, we develop a separation logic for a core
                 object-oriented language. It allows derived classes
                 which override the behaviour of their base class, yet
                 supports the inheritance of methods without
                 reverification where this is safe. For each method, we
                 require two specifications: a static specification that
                 is used to verify the implementation and direct method
                 calls (in Java this would be with a super call); and a
                 dynamic specification that is used for calls that are
                 dynamically dispatched; along with a simple
                 relationship between the two specifications. Only the
                 dynamic specification is involved with behavioural
                 subtyping. This simple separation of concerns leads to
                 a powerful system that supports all forms of
                 inheritance with low proof-obligation overheads. We
                 both formalize our methodology and demonstrate its
                 power with a series of inheritance examples.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "classes; modularity; separation logic",
}

@Article{Pausch:2008:ADM,
  author =       "Randy Pausch",
  title =        "{Alice}: a dying man's passion",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "1--1",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352137",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "I have spent the last fifteen years of my life leading
                 an incredible team. Our quest (which we did not even
                 realize in the beginning) was to revolutionize the way
                 computer programming is taught. Current versions of the
                 Alice system (Alice v2.0, and Caitlin Kelleher's
                 ``Storytelling Alice'') have been very effective in the
                 college classroom and in tests with middle school
                 girls. The use of drag-and-drop authoring to create
                 $3$D movies has proved to be a powerful motivator for
                 students of all ages and both genders. In 2008, we will
                 release Alice v3.0, which provides ``real Java''
                 programming and the characters from EA's ``The Sims,''
                 the most popular PC video game in history. Damn shame I
                 won't be there to see it. As you probably know, I'm
                 dying of pancreatic cancer, as became widely known in
                 my ``Last Lecture.'' Like Moses, I get to see the
                 promised land, but not set foot in it. But the vision
                 is clear. Long before I became ill, Dennis Cosgrove
                 took over the responsibility for the design of Alice
                 v3.0, and he's doing a whale of a job. Steve Cooper (of
                 St. Joseph's University), Wanda Dann, and Don Slater
                 are handling the pedagogic materials for college and
                 high school, and Caitlin Kelleher (now junior faculty
                 at Washington University in St. Louis) is heading the
                 efforts regarding middle school girls. This talk will
                 address the history, philosophy, and future of the
                 Alice project, and will include a behind-the-scenes
                 look at a pre-release version of Alice v3.0. I will
                 give this address in person if I am still alive and
                 able, or by a combination of pre-taped video and help
                 from the Alice team. I cannot imagine a better
                 professional legacy than what the Alice team is
                 currently building.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Potter:2008:CJC,
  author =       "Bruce Potter",
  title =        "Controlling {JavaScript} with {Caja}",
  journal =      j-NETWORK-SECURITY,
  volume =       "2008",
  number =       "1",
  pages =        "7--8",
  month =        jan,
  year =         "2008",
  CODEN =        "NTSCF5",
  DOI =          "https://doi.org/10.1016/S1353-4858(08)70006-0",
  ISSN =         "1353-4858 (print), 1872-9371 (electronic)",
  ISSN-L =       "1353-4858",
  bibdate =      "Mon Dec 4 16:59:47 MST 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/network-security.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1353485808700060",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Security",
  journal-URL =  "https://www.sciencedirect.com/journal/network-security",
}

@Article{Pratter:2008:SGJ,
  author =       "Frederick M. Pratter",
  title =        "{SAS} Graphics for {Java}: Examples Using {SAS AppDev
                 Studio} and the {Output Delivery System}",
  journal =      j-AMER-STAT,
  volume =       "62",
  number =       "4",
  pages =        "359--359",
  month =        nov,
  year =         "2008",
  CODEN =        "ASTAAJ",
  DOI =          "https://doi.org/10.1198/tas.2008.s267",
  ISSN =         "0003-1305 (print), 1537-2731 (electronic)",
  ISSN-L =       "0003-1305",
  bibdate =      "Thu Aug 26 21:48:27 MDT 2010",
  bibsource =    "http://www.amstat.org/publications/tas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "The American Statistician",
  journal-URL =  "http://www.tandfonline.com/loi/utas20",
}

@Article{Prokopski:2008:APC,
  author =       "Gregory B. Prokopski and Clark Verbrugge",
  title =        "Analyzing the performance of code-copying virtual
                 machines",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "403--422",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449796",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Many popular programming languages use
                 interpreter-based execution for portability, supporting
                 dynamic or reflective properties, and ease of
                 implementation. {\em Code-copying\/} is an optimization
                 technique for interpreters that reduces the performance
                 gap between interpretation and {\em JIT\/} compilation,
                 offering significant speedups over direct-threading
                 interpretation. Due to varying language features and
                 virtual machine design, however, not all languages
                 benefit from codecopying to the same extent. We
                 consider here properties of interpreted languages, and
                 in particular bytecode and virtual machine construction
                 that enhance or reduce the impact of code-copying. We
                 implemented code-copying and compared performance with
                 the original direct-threading virtual machines for
                 three languages, Java (SableVM), OCaml, and Ruby
                 (Yarv), examining performance on three different
                 architectures, ia32 (Pentium 4), x86\_64 (AMD64) and
                 PowerPC (G5). Best speedups are achieved on ia32 by
                 OCaml (maximum 4.88 times, 2.81 times on average),
                 where a small and simple bytecode design facilitates
                 improvements to branch prediction brought by
                 code-copying. Yarv only slightly improves over
                 direct-threading; large working sizes of bytecodes, and
                 a relatively small fraction of time spent in the actual
                 interpreter loop both limit the application of
                 codecopying and its overall net effect. We are able to
                 show that simple ahead of time analysis of VM and
                 execution properties can help determine the suitability
                 of code-copying for a particular VM before an
                 implementation of code-copying is even attempted.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "branch prediction; code-copying; compiler
                 optimization; dynamic analysis; performance; virtual
                 machines",
}

@Article{Pullen:2008:DAL,
  author =       "J. Mark Pullen and Jim X. Chen",
  title =        "Distributed application launching for high quality
                 graphics in synchronous distance education",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "204--208",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384326",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "Previous ITiCSE papers have reported on Network
                 EducationWare (NEW), an open source software system
                 that supports synchronous and asynchronous distance
                 education easily and inexpensively via the Internet.
                 This paper reports on an innovative capability recently
                 added to NEW that enables simultaneous execution of
                 applications on all participating computers in both
                 Windows and Linux systems, and explains how we have
                 used this capability to teach a course in Computer
                 Graphics online. Teaching graphics in this way
                 previously was impossible because transmitting the
                 visual output of graphics programs in real time with
                 good quality is too demanding for normal Internet
                 connections. This problem was solved by using the NEW
                 application launcher to invoke Java classes, provided
                 by the instructor, on all student computers
                 simultaneously. The capability works with modest
                 Internet capacity and also is captured in recorded
                 sessions for asynchronous use. We explain how the NEW
                 capability works and describe its use in online
                 teaching of Computer Graphics.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Radenski:2008:JGC,
  author =       "Atanas Radenski and Jeff Furlong and Vladimir Zanev",
  title =        "The {Java} 5 generics compromise orthogonality to keep
                 compatibility",
  journal =      j-J-SYST-SOFTW,
  volume =       "81",
  number =       "11",
  pages =        "2069--2078",
  month =        nov,
  year =         "2008",
  CODEN =        "JSSODM",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Tue Sep 7 07:27:04 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01641212",
  acknowledgement = ack-nhfb,
  fjournal =     "The Journal of systems and software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}

@Article{Reyes:2008:GDJ,
  author =       "Miguel Reyes and {\'A}gueda Mata",
  title =        "Games developed in {Java} for teaching ``Combinatorial
                 Game Theory''",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "359--359",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384401",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "In this poster we develop some games in java, and we
                 give the mathematical theory necessary to obtain an
                 optimal strategy to play. This games are ``Scoring
                 Cards'', ``Wythoff'', and ``Twins''; they frame within
                 the course about ``Combinatorial Game Theory'', in
                 which we applied a new method of learning, motivating
                 to the student to make a work on the one hand
                 cooperative, and by another competitive one. They will
                 have to develop different strategies in games and they
                 will try to win to each other.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Roberson:2008:ESM,
  author =       "Michael Roberson and Melanie Harries and Paul T. Darga
                 and Chandrasekhar Boyapati",
  title =        "Efficient software model checking of soundness of type
                 systems",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "493--504",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449803",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper presents novel techniques for checking the
                 soundness of a type system automatically using a
                 software model checker. Our idea is to systematically
                 generate every type correct intermediate program state
                 (within some finite bounds), execute the program one
                 step forward if possible using its small step
                 operational semantics, and then check that the
                 resulting intermediate program state is also type
                 correct--but do so efficiently by detecting
                 similarities in this search space and pruning away
                 large portions of the search space. Thus, given only a
                 specification of type correctness and the small step
                 operational semantics for a language, our system
                 automatically checks type soundness by checking that
                 the progress and preservation theorems hold for the
                 language (albeit for program states of at most some
                 finite size). Our preliminary experimental results on
                 several languages--including a language of integer and
                 boolean expressions, a simple imperative programming
                 language, an object-oriented language which is a subset
                 of Java, and a language with ownership types--indicate
                 that our approach is feasible and that our search space
                 pruning techniques do indeed significantly reduce what
                 is otherwise an extremely large search space. Our paper
                 thus makes contributions both in the area of checking
                 soundness of type systems, and in the area of reducing
                 the state space of a software model checker.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "software model checking; type soundness",
}

@Article{Rolfe:2008:PFO,
  author =       "Timothy J. Rolfe",
  title =        "Perverse and foolish oft {I} strayed",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "2",
  pages =        "52--55",
  month =        jun,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1383602.1383634",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:13 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse40.html#Rolfe08;
                 http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2008.bib",
  abstract =     "This uses a massively wrong-headed algorithm for
                 sorting to exemplify the use of the backtracking
                 strategy and the branch-and-bound strategy. In
                 addition, brief notes are included on parallel
                 processing approaches: Java threads on multi-core
                 computers and distributed processing through such
                 message passing systems as PVM and MPI.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Rolfe:2008:SMA,
  author =       "Timothy J. Rolfe",
  title =        "A specimen {MPI} application: {$N$}-Queens in
                 parallel",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "4",
  pages =        "42--45",
  month =        dec,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1473195.1473217",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:17 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The generalized problem of placing n queens on an n
                 -by- n board provides an ``embarrassingly parallel''
                 problem for parallel solution. This paper expands on
                 the discussion presented in the May 2005 issue of Dr.
                 Dobb's Journal [1], specifically taking the parallel
                 execution through Java threads and bringing it into an
                 application in C taking advantage of MPI.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Schafer:2008:SER,
  author =       "Max Sch{\"a}fer and Torbj{\"o}rn Ekman and Oege de
                 Moor",
  title =        "Sound and extensible renaming for {Java}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "277--294",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449787",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Descriptive names are crucial to understand code.
                 However, good names are notoriously hard to choose and
                 manually changing a globally visible name can be a
                 maintenance nightmare. Hence, tool support for
                 automated renaming is an essential aid for developers
                 and widely supported by popular development
                 environments.\par

                 This work improves on two limitations in current
                 refactoring tools: too weak preconditions that lead to
                 unsoundness where names do not bind to the correct
                 declarations after renaming, and too strong
                 preconditions that prevent renaming of certain
                 programs. We identify two main reasons for unsoundness:
                 complex name lookup rules make it hard to define
                 sufficient preconditions, and new language features
                 require additional preconditions. We alleviate both
                 problems by presenting a novel extensible technique for
                 creating symbolic names that are guaranteed to bind to
                 a desired entity in a particular context by inverting
                 lookup functions. The inverted lookup functions can
                 then be tailored to create qualified names where
                 otherwise a conflict would occur, allowing the
                 refactoring to proceed and improve on the problem with
                 too strong preconditions.\par

                 We have implemented renaming for Java as an extension
                 to the JastAdd Extensible Java Compiler and integrated
                 it in Eclipse. We show examples for which other
                 refactoring engines have too weak preconditions, as
                 well as examples where our approach succeeds in
                 renaming entities by inserting qualifications. To
                 validate the extensibility of the approach we have
                 implemented renaming support for Java 5 and AspectJ
                 like inter-type declarations as modular extensions to
                 the initial Java 1.4 refactoring engine. The renaming
                 engine is only a few thousand lines of code including
                 extensions and performance is on par with industrial
                 strength refactoring tools.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "extensible compilers; name analysis; refactoring;
                 renaming",
}

@Article{Schneider:2008:DOE,
  author =       "Florian T. Schneider and Vijay Menon and Tatiana
                 Shpeisman and Ali-Reza Adl-Tabatabai",
  title =        "Dynamic optimization for efficient strong atomicity",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "181--194",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449779",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Transactional memory (TM) is a promising concurrency
                 control alternative to locks. Recent work has
                 highlighted important memory model issues regarding TM
                 semantics and exposed problems in existing TM
                 implementations. For safe, managed languages such as
                 Java, there is a growing consensus towards strong
                 atomicity semantics as a sound, scalable solution.
                 Strong atomicity has presented a challenge to implement
                 efficiently because it requires instrumentation of
                 non-transactional memory accesses, incurring
                 significant overhead even when a program makes minimal
                 or no use of transactions. To minimize overhead,
                 existing solutions require either a sophisticated type
                 system, specialized hardware, or static whole-program
                 analysis. These techniques do not translate easily into
                 a production setting on existing hardware. In this
                 paper, we present novel dynamic optimizations that
                 significantly reduce strong atomicity overheads and
                 make strong atomicity practical for dynamic language
                 environments. We introduce analyses that optimistically
                 track which non-transactional memory accesses can avoid
                 strong atomicity instrumentation, and we describe a
                 lightweight speculation and recovery mechanism that
                 applies these analyses to generate
                 speculatively-optimized but safe code for strong
                 atomicity in a dynamically-loaded environment. We show
                 how to implement these mechanisms efficiently by
                 leveraging existing dynamic optimization infrastructure
                 in a Java system. Measurements on a set of
                 transactional and non-transactional Java workloads
                 demonstrate that our techniques substantially reduce
                 the overhead of strong atomicity from a factor of 5x
                 down to 10\% or less over an efficient weak atomicity
                 baseline.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "code generation; compiler optimizations; dynamic
                 optimizations; strong atomicity; transactional memory;
                 virtual machines",
}

@Article{Schonberg:2008:PAS,
  author =       "E. Schonberg and R. Dewar",
  title =        "A Principled Approach to Software Engineering
                 Education, or {Java} Considered Harmful",
  journal =      j-ADA-USER-J,
  volume =       "29",
  number =       "3",
  pages =        "200--??",
  month =        sep,
  year =         "2008",
  CODEN =        "AUJOET",
  ISSN =         "1381-6551",
  bibdate =      "Wed Sep 1 09:00:38 MDT 2010",
  bibsource =    "http://www.ada-europe.org/AUJ/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Ada User Journal",
  journal-URL =  "http://www.ada-europe.org/auj/archive",
}

@Article{Sen:2008:RDR,
  author =       "Koushik Sen",
  title =        "Race directed random testing of concurrent programs",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "11--21",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379022.1375584",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Bugs in multi-threaded programs often arise due to
                 data races. Numerous static and dynamic program
                 analysis techniques have been proposed to detect data
                 races. We propose a novel randomized dynamic analysis
                 technique that utilizes potential data race information
                 obtained from an existing analysis tool to separate
                 real races from false races without any need for manual
                 inspection. Specifically, we use potential data race
                 information obtained from an existing dynamic analysis
                 technique to control a random scheduler of threads so
                 that real race conditions get created with very high
                 probability and those races get resolved randomly at
                 runtime. Our approach has several advantages over
                 existing dynamic analysis tools. First, we can create a
                 real race condition and resolve the race randomly to
                 see if an error can occur due to the race. Second, we
                 can replay a race revealing execution efficiently by
                 simply using the same seed for random number
                 generation--we do not need to record the execution.
                 Third, our approach has very low overhead compared to
                 other precise dynamic race detection techniques because
                 we only track all synchronization operations and a
                 single pair of memory access statements that are
                 reported to be in a potential race by an existing
                 analysis. We have implemented the technique in a
                 prototype tool for Java and have experimented on a
                 number of large multi-threaded Java programs. We report
                 a number of previously known and unknown bugs and real
                 races in these Java programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "concurrency; dynamic analysis; race detection; random
                 testing",
}

@Article{Serfass:2008:SSP,
  author =       "Doug Serfass and Kalyan S. Thiparthi and Coskun
                 Bayrak",
  title =        "Search, sort, pagination, association and (other)
                 {CRUD}: a comparison of {ActiveScaffold} and {MyFaces}
                 tomahawk",
  journal =      j-SIGSOFT,
  volume =       "33",
  number =       "4",
  pages =        "1:1--1:??",
  month =        jul,
  year =         "2008",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1384139.1384140",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:38 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Web applications have many more model objects exposed
                 on the backend, or admin side, than they do on the
                 front, or public side. Coding interfaces for all those
                 models is redundant and a waste of resources when all
                 that is needed is Search, Sort, Pagination, (support
                 for) Association and CRUD. Implementing these
                 interfaces can often require more programming time than
                 the public side of an application. We will analyze an
                 application that was developed using Ruby on Rails (or
                 Rails) [1] and ActiveScaffold [2]. We will compare a
                 subset of the ActiveScaffold portion of this
                 application with an example created using Java and
                 MyFaces Tomahawk [3]. ActiveScaffold and MyFaces
                 Tomahawk are open source software (OSS). Our results
                 will show that ActiveScaffold has a greater number of
                 features and is more reusable than MyFaces Tomahawk.
                 This information is useful to web developers
                 responsible for creating the admin interfaces of web
                 applications.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Sestoft:2008:PLC,
  author =       "Peter Sestoft",
  title =        "Programming language concepts for software
                 developers",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "11",
  pages =        "119--123",
  month =        nov,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1480828.1480854",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Dec 31 12:36:25 MST 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This note describes and motivates our current plans
                 for an undergraduate course on programming language
                 concepts for software development students. We describe
                 the competences we expect students to acquire as well
                 as the topics covered by the course. We plan to use C\#
                 and Scheme as instruction languages, and will study the
                 implementation of Java and C\# with their underlying
                 platforms, the Java Virtual Machine and .NET Common
                 Language Runtime. We emphasize implementation exercises
                 and experiments. This comes at the expense of classical
                 compiler course subjects such as register allocation
                 and optimization of imperative loop-intensive code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "programming languages curriculum",
}

@Article{Shankar:2008:JLD,
  author =       "Ajeet Shankar and Matthew Arnold and Rastislav Bodik",
  title =        "{Jolt}: lightweight dynamic analysis and removal of
                 object churn",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "127--142",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449775",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "It has been observed that component-based applications
                 exhibit {\em object churn}, the excessive creation of
                 short-lived objects, often caused by trading
                 performance for modularity. Because churned objects are
                 short-lived, they appear to be good candidates for
                 stack allocation. Unfortunately, most churned objects
                 escape their allocating function, making escape
                 analysis ineffective.\par

                 We reduce object churn with three contributions. First,
                 we formalize two measures of churn, {\em capture\/} and
                 {\em control\/} (15). Second, we develop lightweight
                 dynamic analyses for measuring both {\em capture\/} and
                 {\em control}. Third, we develop an algorithm that uses
                 {\em capture\/} and {\em control\/} to inline portions
                 of the call graph to make churned objects non-escaping,
                 enabling churn optimization via escape
                 analysis.\par

                 JOLT is a lightweight dynamic churn optimizer that uses
                 our algorithms. We embedded JOLT in the JIT compiler of
                 the IBM J9 commercial JVM, and evaluated JOLT on large
                 application frameworks, including Eclipse and JBoss. We
                 found that JOLT eliminates over 4 times as many
                 allocations as a state-of-the-art escape analysis
                 alone.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "allocation optimization; churn; escape analysis;
                 inlining; Java; selective optimization; virtual
                 machine",
}

@Article{Sheard:2008:GSA,
  author =       "Judy Sheard and Angela Carbone and Raymond Lister and
                 Beth Simon and Errol Thompson and Jacqueline L.
                 Whalley",
  title =        "Going {SOLO} to assess novice programmers",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "209--213",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384328",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "This paper explores the programming knowledge of
                 novices using Biggs' SOLO taxonomy. It builds on
                 previous work of Lister et al. (2006) and addresses
                 some of the criticisms of that work. The research was
                 conducted by studying the exam scripts for 120
                 introductory programming students, in which three
                 specific questions were analyzed using the SOLO
                 taxonomy. The study reports the following four
                 findings: when the instruction to students used by
                 Lister et al. --- ``In plain English, explain what the
                 following segment of Java code does'' --- is replaced
                 with a less ambiguous instruction, many students still
                 provide multistructural responses; students are
                 relatively consistent in the SOLO level of their
                 answers; student responses on SOLO reading tasks
                 correlate positively with performance on writing tasks;
                 postgraduates students manifest a higher level of
                 thinking than undergraduates.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Shi:2008:VMS,
  author =       "Yunhe Shi and Kevin Casey and M. Anton Ertl and David
                 Gregg",
  title =        "Virtual machine showdown: {Stack} versus registers",
  journal =      j-TACO,
  volume =       "4",
  number =       "4",
  pages =        "2:1--2:??",
  month =        jan,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1328195.1328197",
  ISSN =         "1544-3566 (print), 1544-3973 (electronic)",
  ISSN-L =       "1544-3566",
  bibdate =      "Mon Jun 16 11:41:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Virtual machines (VMs) enable the distribution of
                 programs in an architecture-neutral format, which can
                 easily be interpreted or compiled. A long-running
                 question in the design of VMs is whether a stack
                 architecture or register architecture can be
                 implemented more efficiently with an interpreter. We
                 extend existing work on comparing virtual stack and
                 virtual register architectures in three ways. First,
                 our translation from stack to register code and
                 optimization are much more sophisticated. The result is
                 that we eliminate an average of more than 46\% of
                 executed VM instructions, with the bytecode size of the
                 register machine being only 26\% larger than that of
                 the corresponding stack one. Second, we present a fully
                 functional virtual-register implementation of the Java
                 virtual machine (JVM), which supports Intel, AMD64,
                 PowerPC and Alpha processors. This register VM supports
                 inline-threaded, direct-threaded, token-threaded, and
                 switch dispatch. Third, we present experimental results
                 on a range of additional optimizations such as register
                 allocation and elimination of redundant heap loads. On
                 the AMD64 architecture the register machine using
                 switch dispatch achieves an average speedup of 1.48
                 over the corresponding stack machine. Even using the
                 more efficient inline-threaded dispatch, the register
                 VM achieves a speedup of 1.15 over the equivalent
                 stack-based VM.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "ACM Transactions on Architecture and Code Optimization
                 (TACO)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J924",
  keywords =     "interpreter; register architecture; stack
                 architecture; virtual machine",
}

@Article{Singer:2008:DAJ,
  author =       "Jeremy Singer and Chris Kirkham",
  title =        "Dynamic analysis of {Java} program concepts for
                 visualization and profiling",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "70",
  number =       "2--3",
  pages =        "111--126",
  day =          "1",
  month =        feb,
  year =         "2008",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:17 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Singh:2008:DRM,
  author =       "Paramvir Singh and Hardeep Singh",
  title =        "{DynaMetrics}: a runtime metric-based analysis tool
                 for object-oriented software systems",
  journal =      j-SIGSOFT,
  volume =       "33",
  number =       "6",
  pages =        "1--6",
  month =        nov,
  year =         "2008",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1449603.1449614",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:40 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Many Runtime/Dynamic metric suites for object-oriented
                 software systems have been devised over the past
                 decade. This paper introduces a new dynamic
                 metric-based evaluation and analysis tool for Java and
                 C++ software called DynaMetrics that is capable of
                 evaluating and analyzing all the major dynamic metrics
                 known till date. DynaMetrics also compares them with
                 their static counterparts in order to find the
                 usefulness of individual metric. The paper is part of
                 our ongoing research on runtime/dynamic metrics for
                 object-oriented software systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Book{Smart:2008:JPT,
  author =       "John Ferguson Smart",
  title =        "{Java} power tools",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xxxv + 871",
  year =         "2008",
  ISBN =         "0-596-52793-4",
  ISBN-13 =      "978-0-596-52793-8",
  LCCN =         "QA76.73.J38 S63 2008",
  bibdate =      "Sat Nov 13 10:14:57 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90;
                 prodorbis.library.yale.edu:7090/voyager",
  abstract =     "Focuses on open source tools that can increase
                 productivity in each area of the development cycle,
                 including: Ant, Maven 2, CVS, Subversion, CheckStyle,
                 PMD, FindBugs, Jupiter, JUnit 4, TestNG, Cobertura,
                 Bugzilla, Trac, Continuum, CruiseControl, LuntBuild,
                 and Hudson.",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Open source
                 software",
}

@Article{Smith:2008:JTI,
  author =       "Daniel Smith and Robert Cartwright",
  title =        "{Java} type inference is broken: can we fix it?",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "505--524",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449804",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java 5, the most recent major update to the Java
                 Programming Language, introduced a number of
                 sophisticated features, including a major extension to
                 the type system. While the technical details of these
                 new features are complex, much of this complexity is
                 hidden from the typical Java developer by an ambitious
                 type inference mechanism. Unfortunately, the extensions
                 to the Java 5 type system were so novel that their
                 technical details had not yet been thoroughly
                 investigated in the research literature. As a result,
                 the Java 5 compiler includes a pragmatic but flawed
                 type inference algorithm that is, by design, neither
                 sound nor locally complete. The language specification
                 points out that neither of these failures is
                 catastrophic: the correctness of potentially-unsound
                 results must be verified during type checking; and
                 incompleteness can usually be worked around by manually
                 providing the method type parameter bindings for a
                 given call site.\par

                 This paper dissects the type inference algorithm of
                 Java 5 and proposes a significant revision that is
                 sound and able to calculate correct results where the
                 Java 5 algorithm fails. The new algorithm is locally
                 complete with the exception of a difficult corner case.
                 Moreover, the new algorithm demonstrates that several
                 arbitrary restrictions in the Java type system---most
                 notably the ban on lower-bounded type parameter
                 declarations and the limited expressibility of
                 intersection types---are unnecessary. We hope that this
                 work will spur the evolution of a more coherent, more
                 comprehensive generic type system for Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "bounded quantification; generics; intersection types;
                 parameterized types; polymorphic methods; subtyping;
                 type argument inference; type inference; union types;
                 wildcards",
}

@Book{Steyer:2008:JDI,
  author =       "Ralph Steyer",
  title =        "{JavaFX: dynamische und interaktive Java-Applikationen
                 mit JavaFX}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "363",
  year =         "2008",
  ISBN =         "3-8273-2615-X",
  ISBN-13 =      "978-3-8273-2615-7",
  LCCN =         "????",
  bibdate =      "Tue Jan 27 14:50:16 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  series =       "Programmer`s choice",
  URL =          "http://www.gbv.de/dms/ilmenau/toc/55624642X.PDF",
  acknowledgement = ack-nhfb,
  remark =       "Auf der CD-ROM: Alle Beispiele, Eclipse 3.3.1,
                 NetBeans IDE 6.0 RC 2, Java 6 SDK.",
  subject =      "JavaFX",
}

@Book{Steyer:2008:JHC,
  editor =       "Ralph Steyer",
  title =        "{JavaFX: Einstieg f{\"u}r Anspruchsvolle - 7 Stunden
                 Video-Training; Lehr-Programm}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  year =         "2008",
  ISBN =         "3-8273-6144-3",
  ISBN-13 =      "978-3-8273-6144-8",
  LCCN =         "????",
  bibdate =      "Tue Jan 27 14:50:16 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  note =         "1 DVD (audio und rom)",
  price =        "EUR 39.95, SFR 65.00",
  URL =          "http://deposit.d-nb.de/cgi-bin/dokserv?id=3091158&prov=M&dok\_var=1&dok\_ext=htm",
  acknowledgement = ack-nhfb,
}

@Book{Stubblebine:2008:RAK,
  author =       "Toni Stubblebine and Peter Klicman and Lars Schulten",
  title =        "{Regul{\"a}re Ausdr{\"u}cke --- kurz and gut [f{\"u}r
                 Perl, Ruby, PHP, C\#, Python, Java and .NET]}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "131",
  year =         "2008",
  ISBN =         "3-89721-535-7",
  ISBN-13 =      "978-3-89721-535-1",
  LCCN =         "????",
  bibdate =      "Thu Jul 15 18:31:10 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "EUR 9.90",
  series =       "O'Reillys Taschenbibliothek",
  acknowledgement = ack-nhfb,
}

@Article{Su:2008:SOE,
  author =       "Wei Su and Chuan Cai and Paul S. Wang and Lian Li",
  title =        "A solution for online entering and editing
                 mathematical formulas (abstract only)",
  journal =      j-ACM-COMM-COMP-ALGEBRA,
  volume =       "42",
  number =       "1--2",
  pages =        "87--88",
  month =        mar # "/" # jun,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1394042.1394097",
  ISSN =         "1932-2232 (print), 1932-2240 (electronic)",
  ISSN-L =       "1932-2232",
  bibdate =      "Tue Aug 12 17:30:40 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The ability for users online creating and editing
                 mathematical expressions is very important for Science
                 Computing Systems, Science Communication Systems, and
                 Web-based Mathematics Education Systems. Lanzhou
                 university/China and Kent University/USA are jointly
                 developing a mathematical expression editor. The editor
                 MathEdit, implemented in JavaScript and MathML, is a
                 web-based visual interactive editor for mathematical
                 expressions. Figure 1 shows the end-user view of the
                 MathEdit architecture. In MathEdit the MathML Content
                 code is the core code of being edited mathematical
                 expression. User actions, inserting, deleting and
                 editing sub-expressions by mouse clicks and keyboard
                 input, are treated as commands. The commands will
                 invoke JavaScript functions in the command processing
                 module to modify the MathML content code by revising
                 DOM tree of expression. The MathML Content will
                 synchronously convert to MathML Presentation code and
                 Math Infix code. The user will intuitively see the
                 changed math expression displayed by MathML
                 Presentation.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Communications in Computer Algebra",
}

@Book{Subramaniam:2008:PST,
  author =       "Venkat Subramaniam",
  title =        "Programming {Scala}: tackle multicore complexity on
                 the {JVM}",
  publisher =    "Pragmatic Bookshelf",
  address =      "Raleigh, NC, USA",
  pages =        "x + 221",
  year =         "2008",
  ISBN =         "1-934356-31-X (paperback)",
  ISBN-13 =      "978-1-934356-31-9 (paperback)",
  LCCN =         "QA76.73.J38 S83 2008",
  bibdate =      "Thu Jan 21 14:00:30 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Scala (Computer program language); Java virtual
                 machine; Java (Computer program language)",
}

@Article{Sun:2008:JBH,
  author =       "J.-Z. Sun and J. Riekki and M. Jurmu and J. Sauvola",
  title =        "{Java}-Based {HTTP} Input Channel for Heterogeneous
                 Wireless Networks",
  journal =      j-INT-J-COMPUT-APPL,
  volume =       "30",
  number =       "2",
  pages =        "97--104",
  year =         "2008",
  DOI =          "https://doi.org/10.1080/1206212X.2008.11441887",
  ISSN =         "1206-212X (print), 1925-7074 (electronic)",
  ISSN-L =       "1206-212X",
  bibdate =      "Sat Apr 21 17:24:55 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ijca.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "https://www.tandfonline.com/doi/full/10.1080/1206212X.2008.11441887",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Computer Applications",
  journal-URL =  "https://www.tandfonline.com/loi/tjca20",
  online-date =  "11 Jul 2015",
}

@Article{Tansey:2008:ARI,
  author =       "Wesley Tansey and Eli Tilevich",
  title =        "Annotation refactoring: inferring upgrade
                 transformations for legacy applications",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "295--312",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449788",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Since annotations were added to the Java language,
                 many frameworks have moved to using annotated Plain Old
                 Java Objects (POJOs) in their newest releases. Legacy
                 applications are thus forced to undergo extensive
                 restructuring in order to migrate from old framework
                 versions to new versions based on annotations ({\em
                 Version Lock-in\/}). Additionally, because annotations
                 are embedded in the application code, changing between
                 framework vendors may also entail largescale manual
                 changes ({\em Vendor Lock-in\/}).\par

                 This paper presents a novel refactoring approach that
                 effectively solves these two problems. Our approach
                 infers a concise set of semantics-preserving
                 transformation rules from two versions of a single
                 class. Unlike prior approaches that detect only simple
                 structural refactorings, our algorithm can infer
                 general composite refactorings and is more than 97\%
                 accurate on average. We demonstrate the effectiveness
                 of our approach by automatically upgrading more than
                 80K lines of the unit testing code of four open-source
                 Java applications to use the latest version of the
                 popular JUnit testing framework.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "annotations; eclipse; frameworks; Java; JUnit;
                 metadata; refactoring; upgrading",
}

@Article{Tanter:2008:FMA,
  author =       "{\'E}ric Tanter and Rodolfo Toledo and Guillaume
                 Pothier and Jacques Noy{\'e}",
  title =        "Flexible metaprogramming and {AOP} in {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "72",
  number =       "1--2",
  pages =        "22--30",
  day =          "1",
  month =        jun,
  year =         "2008",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:20 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Tatlock:2008:DTR,
  author =       "Zachary Tatlock and Chris Tucker and David Shuffelton
                 and Ranjit Jhala and Sorin Lerner",
  title =        "Deep typechecking and refactoring",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "37--52",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449768",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Large software systems are typically composed of
                 multiple layers, written in different languages and
                 loosely coupled using a string-based interface. For
                 example, in modern web-applications, a server written
                 in Java communicates with a database back-end by
                 passing in query strings. This widely prevalent
                 approach is unsafe as the analyses developed for the
                 individual layers are oblivious to the semantics of the
                 dynamically constructed strings, making it impossible
                 to statically reason about the correctness of the
                 interaction. Further, even simple refactoring in such
                 systems is daunting and error prone as the changes must
                 also be applied to isolated string fragments scattered
                 across the code base.\par

                 We present techniques for deep typechecking and
                 refactoring for systems that combine Java code with a
                 database back-end using the Java Persistence API [10].
                 Deep typechecking ensures that the queries that are
                 constructed dynamically are type safe and that the
                 values returned from the queries are used safely by the
                 program. Deep refactoring builds upon typechecking to
                 allow programmers to safely and automatically propagate
                 code refactorings through the query string
                 fragments.\par

                 Our algorithms are implemented in a tool called QUAIL.
                 We present experiments evaluating the effectiveness of
                 QUAIL on several benchmarks ranging from 3,369 to
                 82,907 lines of code. We show that QUAIL is able to
                 verify that 84\% of query strings in our benchmarks are
                 type safe. Finally, we show that QUAIL reduces the
                 number of places in the code that a programmer must
                 look at in order to perform a refactoring by several
                 orders of magnitude.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "cross language refactoring; cross language
                 typechecking; JPA query analysis",
}

@Article{Tavares:2008:GIO,
  author =       "Andre L. C. Tavares and Marco Tulio Valente",
  title =        "A gentle introduction to {OSGi}",
  journal =      j-SIGSOFT,
  volume =       "33",
  number =       "5",
  pages =        "8:1--8:??",
  month =        sep,
  year =         "2008",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1402521.1402526",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:39 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "The Open Services Gateway Initiative (OSGi) is a
                 framework that supports the implementation of
                 component-based, service-oriented applications in Java.
                 The framework manages the life-cycle of modules (called
                 bundles in OSGi) and provides means to publish and
                 search for services. Moreover, it supports the dynamic
                 install and uninstall of bundles. Nowadays, OSGi is
                 used in many application domains, including mobile
                 phones, embedded devices, and application servers. In
                 this paper, we provide a gentle introduction to the
                 basic services provided by OSGi. The presentation is
                 guided by a simple case study, involving the
                 implementation of a Dictionary System.",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Thomas:2008:DHF,
  author =       "Ga{\"e}l Thomas and Nicolas Geoffray and Charles
                 Cl{\'e}ment and Bertil Folliot",
  title =        "Designing highly flexible virtual machines: the
                 {JnJVM} experience",
  journal =      j-SPE,
  volume =       "38",
  number =       "15",
  pages =        "1643--1675",
  day =          "??",
  month =        dec,
  year =         "2008",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.887",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Mar 17 09:55:32 MDT 2010",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "Jun 6 2008 6:18AM",
}

@Article{Thornton:2008:SSW,
  author =       "Matthew Thornton and Stephen H. Edwards and Roy P. Tan
                 and Manuel A. P{\'e}rez-Qui{\~n}ones",
  title =        "Supporting student-written tests of {GUI} programs",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "1",
  pages =        "537--541",
  month =        mar,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1352322.1352316",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:10 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE 08.",
  abstract =     "Tools like JUnit and its relatives are making software
                 testing reachable even for introductory students. At
                 the same time, however, many introductory computer
                 sciences courses use graphical interfaces as an
                 ``attention grabber'' for students and as a metaphor
                 for teaching object-oriented programming.
                 Unfortunately, developing software tests for programs
                 that have significant graphical user interfaces is
                 beyond the abilities of typical students (and, for that
                 matter, many educators). This paper describes a
                 framework for combining readily available tools to
                 create an infrastructure for writing tests for Java
                 programs that have graphical user interfaces. These
                 tests are level-appropriate for introductory students
                 and fit in with current approaches in computer science
                 education that incorporate testing in programming
                 assignments. An analysis of data collected during
                 actual student use of the framework in a CS1 course is
                 presented.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Trofin:2008:SVC,
  author =       "Mircea Trofin and John Murphy",
  title =        "Static verification of component composition in
                 contextual composition frameworks",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "10",
  number =       "3",
  pages =        "247--261",
  month =        jun,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1007/s10009-007-0061-y",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Wed Jul 9 18:12:31 MDT 2008",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1433-2779&volume=10&issue=3;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1433-2779&volume=10&issue=3&spage=247",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
  keywords =     "Contextual composition; Enterprise Java; Software
                 components; Static analysis",
}

@Article{Tseng:2008:PPD,
  author =       "I-Lun Tseng and Adam Postula",
  title =        "Partitioning parameterized 45-degree polygons with
                 constraint programming",
  journal =      j-TODAES,
  volume =       "13",
  number =       "3",
  pages =        "52:1--52:??",
  month =        jul,
  year =         "2008",
  CODEN =        "ATASFO",
  DOI =          "https://doi.org/10.1145/1367045.1367061",
  ISSN =         "1084-4309 (print), 1557-7309 (electronic)",
  ISSN-L =       "1084-4309",
  bibdate =      "Tue Aug 5 18:41:27 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/todaes/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "An algorithm for partitioning parameterized 45-degree
                 polygons into parameterized trapezoids is proposed in
                 this article. The algorithm is based on the plane-sweep
                 technique and can handle polygons with complicated
                 constraints. The input to the algorithm consists of the
                 contour of a parameterized polygon to be partitioned
                 and a set of constraints for parameters of the contour.
                 The algorithm uses horizontal cuts only and generates a
                 number of nonoverlapping trapezoids whose union is the
                 original parameterized polygon. Processing of
                 constraints and coordinates that contain first-order
                 multiple-variable polynomials has been made possible by
                 incorporating the JaCoP constraint programming library.
                 The proposed algorithm has been implemented in Java
                 programming language and can be used as the basis to
                 build the trapezoidal corner stitching data structure
                 for parameterized VLSI layout masks.",
  acknowledgement = ack-nhfb,
  articleno =    "52",
  fjournal =     "ACM Transactions on Design Automation of Electronic
                 Systems (TODAES)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J776",
  keywords =     "analog and mixed-signal design; parameterized layouts;
                 parameterized polygons; polygon decomposition;
                 trapezoidal corner stitching",
}

@Book{Tulach:2008:PAD,
  author =       "Jaroslav Tulach",
  title =        "Practical {API} design: confessions of a {Java
                 Framework} architect",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  year =         "2008",
  ISBN =         "1-4302-0973-9",
  ISBN-13 =      "978-1-4302-0973-7",
  LCCN =         "????",
  bibdate =      "Mon Dec 8 14:16:37 MST 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 library.mit.edu:9909/mit01",
  acknowledgement = ack-nhfb,
}

@Article{Unkel:2008:AIS,
  author =       "Christopher Unkel and Monica S. Lam",
  title =        "Automatic inference of stationary fields: a
                 generalization of {Java}'s final fields",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "1",
  pages =        "183--195",
  month =        jan,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1328897.1328463",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:02:13 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Java programmers can document that the relationship
                 between two objects is unchanging by declaring the
                 field that encodes that relationship to be final. This
                 information can be used in program understanding and
                 detection of errors in new code additions.
                 Unfortunately, few fields in programs are actually
                 declared final. Programs often contain fields that
                 could be final, but are not declared so. Moreover, the
                 definition of final has restrictions on initialization
                 that limit its applicability.\par

                 We introduce stationary fields as a generalization of
                 final. A field in a program is stationary if, for every
                 object that contains it, all writes to the field occur
                 before all the reads. Unlike the definition of final
                 fields, there can be multiple writes during
                 initialization, and initialization can span multiple
                 methods.\par

                 We have developed an efficient algorithm for inferring
                 which fields are stationary in a program, based on the
                 observation that many fields acquire their value very
                 close to object creation. We presume that an object's
                 initialization phase has concluded when its reference
                 is saved in some heap object. We perform precise
                 analysis only regarding recently created objects.
                 Applying our algorithm to real-world Java programs
                 demonstrates that stationary fields are more common
                 than final fields: 44-59\% vs. 11-17\% respectively in
                 our benchmarks.\par

                 These surprising results have several significant
                 implications. First, substantial portions of Java
                 programs appear to be written in a functional style.
                 Second, initialization of these fields occurs very
                 close to object creation, when very good alias
                 information is available. These results open the door
                 for more accurate and efficient pointer alias
                 analysis.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "final; initialization; Java; stationary",
}

@Article{vanHeiningen:2008:BMD,
  author =       "Willem van Heiningen and Steve MacDonald and Tim
                 Brecht",
  title =        "{Babylon}: middleware for distributed, parallel, and
                 mobile {Java} applications",
  journal =      j-CCPE,
  volume =       "20",
  number =       "10",
  pages =        "1195--1224",
  month =        jul,
  year =         "2008",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1264",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:25 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Jan 2008",
}

@Article{vanTonder:2008:JLD,
  author =       "Martin van Tonder and Kevin Naude and Charmain
                 Cilliers",
  title =        "{Jenuity}: a lightweight development environment for
                 intermediate level programming courses",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "58--62",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384289",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "The complexity and resource requirements of
                 professional IDEs mean that they are unsuitable for use
                 in intermediate level programming courses. Jenuity is
                 an efficient development environment for the Java
                 programming language. Efficiency is essential as
                 students often have outdated hardware unable to run
                 mainstream development environments. This is of
                 particular relevance in the context of a developing
                 country. Jenuity provides advanced features usually
                 associated with more resource intensive tools. It
                 provides a simple and intuitive interface, which is
                 well suited to intermediate level programming courses.
                 Jenuity has been used successfully in the teaching of
                 these courses at the authors' institution since 2004.
                 The requirements, development and optimisation of this
                 tool are discussed. Techniques used to optimise Jenuity
                 for low specification student hardware, some of which
                 are novel, are presented. Experiences using Jenuity in
                 a university environment are also reported. The
                 efficiency of Jenuity is also demonstrated by means of
                 a comparison to mainstream development environments.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Velazquez-Iturbide:2008:SAS,
  author =       "J. {\'A}ngel Vel{\'a}zquez-Iturbide and Antonio
                 P{\'e}rez-Carrasco and Jaime Urquiza-Fuentes",
  title =        "{SRec}: an animation system of recursion for algorithm
                 courses",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "225--229",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384332",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "In this paper we describe SRec, a system to animate
                 recursion in Java programs. It is intended to assist in
                 algorithm courses to better understand and analyze
                 algorithm behavior. We make several contributions.
                 Firstly, SRec exhibits a comprehensive set of animation
                 and educational features. It provides three
                 complementary, coordinated views of recursion: traces,
                 the execution stack and activation trees. SRec allows
                 the user constructing and modifying animations without
                 effort. The animation can be played flexibly, both
                 forward and backwards. It also provides facilities to
                 integrate animations into courses. Secondly, the paper
                 describes the educational features of the system and
                 its use in algorithm courses. Thirdly, the system has
                 been fully evaluated with respect to usability (using
                 formative and summative methods) and has been compared
                 to other systems reported in the literature. The
                 results of both evaluations are highly positive.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Villalon:2008:HDD,
  author =       "Elena Villalon",
  title =        "High-Dimensionality Data Reduction with {Java}",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "10",
  number =       "5",
  pages =        "64--69",
  month =        sep # "\slash " # oct,
  year =         "2008",
  CODEN =        "CSENFA",
  DOI =          "https://doi.org/10.1109/MCSE.2008.134",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Thu May 13 11:08:14 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Book{Walls:2008:SA,
  author =       "Craig Walls and Ryan Breidenbach",
  title =        "{Spring} in action",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  edition =      "Second",
  pages =        "xxxiv + 730",
  year =         "2008",
  ISBN =         "(paperback), 1-933988-13-4 (paperback)",
  ISBN-13 =      "978-1-933988-13-9",
  LCCN =         "QA76.73.J38 W342 2008",
  bibdate =      "Tue Jan 27 16:11:49 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Covers Spring 2.0.",
  subject =      "Java (computer program language); application
                 software; development",
}

@Article{Wang:2008:DSJ,
  author =       "Tao Wang and Abhik Roychoudhury",
  title =        "Dynamic slicing on {Java} bytecode traces",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "2",
  pages =        "10:1--10:49",
  month =        mar,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1330017.1330021",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Jun 11 19:22:42 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Wegiel:2008:MCVa,
  author =       "Michal Wegiel and Chandra Krintz",
  title =        "The mapping collector: virtual memory support for
                 generational, parallel, and concurrent compaction",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "36",
  number =       "1",
  pages =        "91--102",
  month =        mar,
  year =         "2008",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/1353535.1346294",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Tue Jun 17 11:51:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Parallel and concurrent garbage collectors are
                 increasingly employed by managed runtime environments
                 (MREs) to maintain scalability, as multi-core
                 architectures and multi-threaded applications become
                 pervasive. Moreover, state-of-the-art MREs commonly
                 implement compaction to eliminate heap fragmentation
                 and enable fast linear object allocation.\par

                 Our empirical analysis of object demographics reveals
                 that unreachable objects in the heap tend to form
                 clusters large enough to be effectively managed at the
                 granularity of virtual memory pages. Even though
                 processes can manipulate the mapping of the virtual
                 address space through the standard operating system
                 (OS) interface on most platforms, extant
                 parallel/concurrent compactors do not do so to exploit
                 this clustering behavior and instead achieve compaction
                 by performing, relatively expensive, object moving and
                 pointer adjustment.\par

                 We introduce the Mapping Collector (MC), which
                 leverages virtual memory operations to reclaim and
                 consolidate free space without moving objects and
                 updating pointers. MC is a nearly-single-phase
                 compactor that is simpler and more efficient than
                 previously reported compactors that comprise two to
                 four phases. Through effective MRE-OS coordination, MC
                 maintains the simplicity of a non-moving collector
                 while providing efficient parallel and concurrent
                 compaction.\par

                 We implement both stop-the-world and concurrent MC in a
                 generational garbage collection framework within the
                 open-source HotSpot Java Virtual Machine. Our
                 experimental evaluation using a multiprocessor
                 indicates that MC significantly increases throughput
                 and scalability as well as reduces pause times,
                 relative to state-of-the-art, parallel and concurrent
                 compactors.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
  keywords =     "compaction; concurrent; parallel; virtual memory",
}

@Article{Wegiel:2008:MCVb,
  author =       "Michal Wegiel and Chandra Krintz",
  title =        "The {Mapping Collector}: virtual memory support for
                 generational, parallel, and concurrent compaction",
  journal =      j-OPER-SYS-REV,
  volume =       "42",
  number =       "2",
  pages =        "91--102",
  month =        mar,
  year =         "2008",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1353535.1346294",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Fri Jun 20 17:20:12 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Parallel and concurrent garbage collectors are
                 increasingly employed by managed runtime environments
                 (MREs) to maintain scalability, as multi-core
                 architectures and multi-threaded applications become
                 pervasive. Moreover, state-of-the-art MREs commonly
                 implement compaction to eliminate heap fragmentation
                 and enable fast linear object allocation.\par

                 Our empirical analysis of object demographics reveals
                 that unreachable objects in the heap tend to form
                 clusters large enough to be effectively managed at the
                 granularity of virtual memory pages. Even though
                 processes can manipulate the mapping of the virtual
                 address space through the standard operating system
                 (OS) interface on most platforms, extant
                 parallel/concurrent compactors do not do so to exploit
                 this clustering behavior and instead achieve compaction
                 by performing, relatively expensive, object moving and
                 pointer adjustment.\par

                 We introduce the Mapping Collector (MC), which
                 leverages virtual memory operations to reclaim and
                 consolidate free space without moving objects and
                 updating pointers. MC is a nearly-single-phase
                 compactor that is simpler and more efficient than
                 previously reported compactors that comprise two to
                 four phases. Through effective MRE-OS coordination, MC
                 maintains the simplicity of a non-moving collector
                 while providing efficient parallel and concurrent
                 compaction.\par

                 We implement both stop-the-world and concurrent MC in a
                 generational garbage collection framework within the
                 open-source HotSpot Java Virtual Machine. Our
                 experimental evaluation using a multiprocessor
                 indicates that MC significantly increases throughput
                 and scalability as well as reduces pause times,
                 relative to state-of-the-art, parallel and concurrent
                 compactors.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "compaction; concurrent; parallel; virtual memory",
}

@Article{Wegiel:2008:MCVc,
  author =       "Michal Wegiel and Chandra Krintz",
  title =        "The mapping collector: virtual memory support for
                 generational, parallel, and concurrent compaction",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "3",
  pages =        "91--102",
  month =        mar,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1353535.1346294",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:03:40 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Parallel and concurrent garbage collectors are
                 increasingly employed by managed runtime environments
                 (MREs) to maintain scalability, as multi-core
                 architectures and multi-threaded applications become
                 pervasive. Moreover, state-of-the-art MREs commonly
                 implement compaction to eliminate heap fragmentation
                 and enable fast linear object allocation.\par

                 Our empirical analysis of object demographics reveals
                 that unreachable objects in the heap tend to form
                 clusters large enough to be effectively managed at the
                 granularity of virtual memory pages. Even though
                 processes can manipulate the mapping of the virtual
                 address space through the standard operating system
                 (OS) interface on most platforms, extant
                 parallel/concurrent compactors do not do so to exploit
                 this clustering behavior and instead achieve compaction
                 by performing, relatively expensive, object moving and
                 pointer adjustment.\par

                 We introduce the Mapping Collector (MC), which
                 leverages virtual memory operations to reclaim and
                 consolidate free space without moving objects and
                 updating pointers. MC is a nearly-single-phase
                 compactor that is simpler and more efficient than
                 previously reported compactors that comprise two to
                 four phases. Through effective MRE-OS coordination, MC
                 maintains the simplicity of a non-moving collector
                 while providing efficient parallel and concurrent
                 compaction.\par

                 We implement both stop-the-world and concurrent MC in a
                 generational garbage collection framework within the
                 open-source HotSpot Java Virtual Machine. Our
                 experimental evaluation using a multiprocessor
                 indicates that MC significantly increases throughput
                 and scalability as well as reduces pause times,
                 relative to state-of-the-art, parallel and concurrent
                 compactors.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "compaction; concurrent; parallel; virtual memory",
}

@Article{Wegiel:2008:XTS,
  author =       "Michal Wegiel and Chandra Krintz",
  title =        "{XMem}: type-safe, transparent, shared memory for
                 cross-runtime communication and coordination",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "327--338",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1375581.1375621",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Developers commonly build contemporary enterprise
                 applications using type-safe, component-based
                 platforms, such as J2EE, and architect them to comprise
                 multiple tiers, such as a web container, application
                 server, and database engine. Administrators
                 increasingly execute each tier in its own managed
                 runtime environment (MRE) to improve reliability and to
                 manage system complexity through the fault containment
                 and modularity offered by isolated MRE instances. Such
                 isolation, however, necessitates expensive cross-tier
                 communication based on protocols such as object
                 serialization and remote procedure calls.
                 Administrators commonly co-locate communicating MREs on
                 a single host to reduce communication overhead and to
                 better exploit increasing numbers of available
                 processing cores. However, state-of-the-art MREs offer
                 no support for more efficient communication between
                 co-located MREs, while fast inter-process communication
                 mechanisms, such as shared memory, are widely available
                 as a standard operating system service on most modern
                 platforms.\par

                 To address this growing need, we present the design and
                 implementation of XMem ? type-safe, transparent, shared
                 memory support for co-located MREs. XMem guarantees
                 type-safety through coordinated, parallel,
                 multi-process class loading and garbage collection. To
                 avoid introducing any level of indirection, XMem
                 manipulates virtual memory mapping. In addition, object
                 sharing in XMem is fully transparent: shared objects
                 are identical to local objects in terms of field
                 access, synchronization, garbage collection, and method
                 invocation, with the only difference being that
                 shared-to-private pointers are disallowed. XMem
                 facilitates easy integration and use by existing
                 communication technologies and software systems, such
                 as RMI, JNDI, JDBC, serialization/XML, and network
                 sockets.\par

                 We have implemented XMem in the open-source,
                 production-quality HotSpot Java Virtual Machine. Our
                 experimental evaluation, based on core communication
                 technologies underlying J2EE, as well as using
                 open-source server applications, indicates that XMem
                 significantly improves throughput and response time by
                 avoiding the overheads imposed by object serialization
                 and network communication.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "class loading; garbage collection; interprocess
                 communication; managed runtimes; parallel; shared
                 memory; synchronization; transparent; type-safe",
}

@Article{Wei:2008:JDP,
  author =       "Wen Hsiang Wei and Guan Jhih Chen",
  title =        "{JavaStatSoft}: design patterns and features",
  journal =      j-COMP-STAT,
  volume =       "23",
  number =       "2",
  pages =        "235--251",
  month =        apr,
  year =         "2008",
  CODEN =        "CSTAEB",
  DOI =          "https://doi.org/10.1007/s00180-007-0092-6",
  ISSN =         "0943-4062 (print), 1613-9658 (electronic)",
  ISSN-L =       "0943-4062",
  bibdate =      "Thu Jun 18 16:19:36 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compstat.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://link.springer.com/article/10.1007/s00180-007-0092-6",
  acknowledgement = ack-nhfb,
  ajournal =     "Comp. Stat.",
  fjournal =     "Computational Statistics",
  journal-URL =  "http://link.springer.com/journal/180",
}

@Article{Weimer:2008:ESP,
  author =       "Westley Weimer and George C. Necula",
  title =        "Exceptional situations and program reliability",
  journal =      j-TOPLAS,
  volume =       "30",
  number =       "2",
  pages =        "8:1--8:51",
  month =        mar,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1330017.1330019",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Wed Jun 11 19:22:42 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "It is difficult to write programs that behave
                 correctly in the presence of run-time errors. Proper
                 behavior in the face of exceptional situations is
                 important to the reliability of long-running programs.
                 Existing programming language features often provide
                 poor support for executing clean-up code and for
                 restoring invariants.\par

                 We present a data-flow analysis for finding a certain
                 class of exception-handling defects: those related to a
                 failure to release resources or to clean up properly
                 along all paths. Many real-world programs violate such
                 resource usage rules because of incorrect exception
                 handling. Our flow-sensitive analysis keeps track of
                 outstanding obligations along program paths and does a
                 precise modeling of control flow in the presence of
                 exceptions. Using it, we have found over 1,300
                 exception handling defects in over 5 million lines of
                 Java code.\par

                 Based on those defects we propose a programming
                 language feature, the compensation stack, that keeps
                 track of obligations at run time and ensures that they
                 are discharged. We present a type system for
                 compensation stacks that tracks collections of
                 obligations. Finally, we present case studies to
                 demonstrate that this feature is natural, efficient,
                 and can improve reliability.",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Wiedermann:2008:IQE,
  author =       "Ben Wiedermann and Ali Ibrahim and William R. Cook",
  title =        "Interprocedural query extraction for transparent
                 persistence",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "19--36",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449767",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Transparent persistence promises to integrate
                 programming languages and databases by allowing
                 programs to access persistent data with the same ease
                 as non-persistent data. In this work we demonstrate the
                 feasibility of optimizing transparently persistent
                 programs by extracting queries to efficiently prefetch
                 required data. A static analysis derives query
                 structure and conditions across methods that access
                 persistent data. Using the static analysis, our system
                 transforms the program to execute explicit queries. The
                 transformed program composes queries across methods to
                 handle method calls that return persistent data. We
                 extend an existing Java compiler to implement the
                 static analysis and program transformation, handling
                 recursion and parameterized queries. We evaluate the
                 effectiveness of query extraction on the OO7 and
                 TORPEDO benchmarks. This work is focused on programs
                 written in the current version of Java, without
                 languages changes. However, the techniques developed
                 here may also be of value in conjunction with
                 object-oriented languages extended with high-level
                 query syntax.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "attribute grammars; databases; object-relational
                 mapping; programming languages; static analysis",
}

@Article{Willis:2008:CIJ,
  author =       "Darren Willis and David J. Pearce and James Noble",
  title =        "Caching and incrementalisation in the {Java Query
                 Language}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "1--18",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449766",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Many contemporary object-oriented programming
                 languages support first-class queries or
                 comprehensions. These language extensions make it
                 easier for programmers to write queries, but are
                 generally implemented no more efficiently than the code
                 using collections, iterators, and loops that they
                 replace. Crucially, whenever a query is re-executed, it
                 is recomputed from scratch. We describe a general
                 approach to optimising queries over mutable objects:
                 query results are cached, and those caches are
                 incrementally maintained whenever the collections and
                 objects underlying those queries are updated. We hope
                 that the performance benefits of our optimisations may
                 encourage more general adoption of first-class queries
                 by object-oriented programmers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "incrementalization; Java; querying",
}

@Article{Xian:2008:CAS,
  author =       "Feng Xian and Witawas Srisa-an and Hong Jiang",
  title =        "Contention-aware scheduler: unlocking execution
                 parallelism in multithreaded {Java} programs",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "163--180",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449778",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In multithreaded programming, locks are frequently
                 used as a mechanism for synchronization. Because
                 today's operating systems do not consider lock usage as
                 a scheduling criterion, scheduling decisions can be
                 unfavorable to multithreaded applications, leading to
                 performance issues such as convoying and heavy lock
                 contention in systems with multiple processors.
                 Previous efforts to address these issues (e.g.,
                 transactional memory, lock-free data structure) often
                 treat scheduling decisions as 'a fact of life,' and
                 therefore these solutions try to cope with the
                 consequences of undesirable scheduling instead of
                 dealing with the problem directly.\par

                 In this paper, we introduce {\em Contention-Aware
                 Scheduler (CA-Scheduler)}, which is designed to support
                 efficient execution of large multithreaded Java
                 applications in multiprocessor systems. Our proposed
                 scheduler employs a scheduling policy that reduces lock
                 contention. As will be shown in this paper, our
                 prototype implementation of the CA-Scheduler in Linux
                 and Sun HotSpot virtual machine only incurs 3.5\%
                 runtime overhead, while the overall performance
                 differences, when compared with a system with no
                 contention awareness, range from a degradation of 3\%
                 in a small multithreaded benchmark to an improvement of
                 15\% in a large Java application server benchmark.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Java; operating systems; scheduling",
}

@Article{Xian:2008:GCJ,
  author =       "Feng Xian and Witawas Srisa-an and Hong Jiang",
  title =        "Garbage collection: {Java} application servers'
                 {Achilles} heel",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "70",
  number =       "2--3",
  pages =        "89--110",
  day =          "1",
  month =        feb,
  year =         "2008",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:17 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Yu:2008:OCL,
  author =       "Zoe C. H. Yu and Francis C. M. Lau and Cho-Li Wang",
  title =        "Object co-location and memory reuse for {Java}
                 programs",
  journal =      j-TACO,
  volume =       "4",
  number =       "4",
  pages =        "4:1--4:??",
  month =        jan,
  year =         "2008",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1328195.1328199",
  ISSN =         "1544-3566 (print), 1544-3973 (electronic)",
  ISSN-L =       "1544-3566",
  bibdate =      "Mon Jun 16 11:41:35 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We introduce a new memory management system, STEMA,
                 which can improve the execution time of Java programs.
                 STEMA detects prolific types on-the-fly and co-locates
                 their objects in a special memory space which supports
                 reuse of memory. We argue and show that memory reuse
                 and co-location of prolific objects can result in
                 improved cache locality, reduced memory fragmentation,
                 reduced GC time, and faster object allocation. We
                 evaluate STEMA using 16 benchmarks. Experimental
                 results show that STEMA performs 2.7\%, 4.0\%, and
                 8.2\% on average better than MarkSweep, CopyMS, and
                 SemiSpace.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "ACM Transactions on Architecture and Code Optimization
                 (TACO)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J924",
  keywords =     "garbage collector; Java; memory allocator; memory
                 reuse; mutator; object co-location",
}

@Article{Zbrzezny:2008:TVJ,
  author =       "Andrzej Zbrzezny and Bo{\.z}ena Wo{\'z}na",
  title =        "Towards Verification of {Java} Programs in {perICS}",
  journal =      j-FUND-INFO,
  volume =       "85",
  number =       "1--4",
  pages =        "533--548",
  month =        sep,
  year =         "2008",
  CODEN =        "FUMAAJ",
  ISSN =         "0169-2968 (print), 1875-8681 (electronic)",
  ISSN-L =       "0169-2968",
  bibdate =      "Sat Mar 5 17:07:07 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Fundamenta Informaticae",
  journal-URL =  "http://content.iospress.com/journals/fundamenta-informaticae",
}

@Article{Zee:2008:FFV,
  author =       "Karen Zee and Viktor Kuncak and Martin Rinard",
  title =        "Full functional verification of linked data
                 structures",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "349--361",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379022.1375624",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present the first verification of full functional
                 correctness for a range of linked data structure
                 implementations, including mutable lists, trees,
                 graphs, and hash tables. Specifically, we present the
                 use of the Jahob verification system to verify formal
                 specifications, written in classical higher-order
                 logic, that completely capture the desired behavior of
                 the Java data structure implementations (with the
                 exception of properties involving execution time and/or
                 memory consumption). Given that the desired correctness
                 properties include intractable constructs such as
                 quantifiers, transitive closure, and lambda
                 abstraction, it is a challenge to successfully prove
                 the generated verification conditions.\par

                 Our Jahob verification system uses integrated reasoning
                 to split each verification condition into a conjunction
                 of simpler subformulas, then apply a diverse collection
                 of specialized decision procedures, first-order theorem
                 provers, and, in the worst case, interactive theorem
                 provers to prove each subformula. Techniques such as
                 replacing complex subformulas with stronger but simpler
                 alternatives, exploiting structure inherently present
                 in the verification conditions, and, when necessary,
                 inserting verified lemmas and proof hints into the
                 imperative source code make it possible to seamlessly
                 integrate all of the specialized decision procedures
                 and theorem provers into a single powerful integrated
                 reasoning system. By appropriately applying multiple
                 proof techniques to discharge different subformulas,
                 this reasoning system can effectively prove the complex
                 and challenging verification conditions that arise in
                 this context.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "data structure; decision procedure; Java; theorem
                 prover; verification",
}

@Article{Zhang:2008:VTB,
  author =       "Hua Zhang and Joohan Lee and Ratan Guha",
  title =        "{VCluster}: a thread-based {Java} middleware for {SMP}
                 and heterogeneous clusters with thread migration
                 support",
  journal =      j-SPE,
  volume =       "38",
  number =       "10",
  pages =        "1049--1071",
  day =          "??",
  month =        aug,
  year =         "2008",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.862",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Mar 17 09:55:30 MDT 2010",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "Nov 21 2007 5:15AM",
}

@Article{Ahmed:2009:SDR,
  author =       "Amal Ahmed and Derek Dreyer and Andreas Rossberg",
  title =        "State-dependent representation independence",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "1",
  pages =        "340--353",
  month =        jan,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1594834.1480925",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:38 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Mitchell's notion of representation independence is a
                 particularly useful application of Reynolds' relational
                 parametricity -- two different implementations of an
                 abstract data type can be shown contextually equivalent
                 so long as there exists a relation between their type
                 representations that is preserved by their operations.
                 There have been a number of methods proposed for
                 proving representation independence in various pure
                 extensions of System F (where data abstraction is
                 achieved through existential typing), as well as in
                 Algol- or Java-like languages (where data abstraction
                 is achieved through the use of local mutable state).
                 However, none of these approaches addresses the
                 interaction of existential type abstraction and local
                 state. In particular, none allows one to prove
                 representation independence results for generative ADTs
                 -- i.e. ADTs that both maintain some local state and
                 define abstract types whose internal representations
                 are dependent on that local state.\par

                 In this paper, we present a syntactic,
                 logical-relations-based method for proving
                 representation independence of generative ADTs in a
                 language supporting polymorphic types, existential
                 types, general recursive types, and unrestricted
                 ML-style mutable references. We demonstrate the
                 effectiveness of our method by using it to prove
                 several interesting contextual equivalences that
                 involve a close interaction between existential typing
                 and local state, as well as some well-known
                 equivalences from the literature (such as Pitts and
                 Stark's 'awkward' example) that have caused trouble for
                 previous logical-relations-based methods.\par

                 The success of our method relies on two key technical
                 innovations. First, in order to handle generative ADTs,
                 we develop a possible-worlds model in which relational
                 interpretations of types are allowed to grow over time
                 in a manner that is tightly coupled with changes to
                 some local state. Second, we employ a step-indexed
                 stratification of possible worlds, which facilitates a
                 simplified account of mutable references of higher
                 type.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "abstract data types; existential types; local state;
                 representation independence; step-indexed logical
                 relations",
}

@Article{Astrachan:2009:APC,
  author =       "Owen Astrachan and Henry Walker and Chris Stephenson
                 and Lien Diaz and Jan Cuny",
  title =        "Advanced placement computer science: the future of
                 tracking the first year of instruction",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "1",
  pages =        "397--398",
  month =        mar,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1539024.1509005",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE '09.",
  abstract =     "The Advanced Placement (AP) Computer Science program
                 is intended to reflect enough of a common core of a
                 first semester or year of university-level computer
                 science so that placement or credit can be awarded for
                 work done before college. The SIGCSE symposia have a
                 long history of providing forums for discussing the
                 evolution of the AP program from its inception [1] to
                 the transition from Pascal to C++ [3] to the transition
                 from C++ to Java [2,5,7,8,9]. Panels related to how
                 credit and placement are awarded have also been part of
                 the SIGCSE conferences [4,6]. This special session is a
                 report of the ongoing process of developing new and
                 possible wide-ranging changes to the AP program.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Auerbach:2009:LLT,
  author =       "Joshua Auerbach and David F. Bacon and Daniel Iercan
                 and Christoph M. Kirsch and V. T. Rajan and Harald
                 R{\"o}ck and Rainer Trummer",
  title =        "Low-latency time-portable real-time programming with
                 {Exotasks}",
  journal =      j-TECS,
  volume =       "8",
  number =       "2",
  pages =        "15:1--15:??",
  month =        jan,
  year =         "2009",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1457255.1457262",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Feb 5 19:15:05 MST 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "{\em Exotasks\/} are a novel Java programming
                 construct that achieve three important goals. They
                 achieve low latency while allowing the fullest use of
                 Java language features, compared to previous attempts
                 to restrict the Java language for use in the
                 submillisecond domain. They support pluggable
                 schedulers, allowing easy implementation of new
                 scheduling paradigms in a real-time Java system. They
                 can achieve deterministic timing, even in the presence
                 of other Java threads, and across changes of hardware
                 and software platform. To achieve these goals, the
                 program is divided into tasks with private heaps. Tasks
                 may be strongly isolated, communicating only with each
                 other and guaranteeing determinism, or weakly isolated,
                 allowing some communication with the rest of the Java
                 application. Scheduling of the tasks' execution,
                 garbage collection, and value passing is accomplished
                 by the pluggable scheduler. Schedulers that we have
                 written employ logical execution time (LET) in
                 association with strong isolation to achieve time
                 portability. We have also built a quad-rotor model
                 helicopter, the JAviator, which we use to evaluate our
                 implementation of Exotasks in an experimental embedded
                 version of IBM's J9 real-time virtual machine. Our
                 experiments show that we are able to maintain very low
                 scheduling jitter and deterministic behavior in the
                 face of variations in both software load and hardware
                 platform. We also show that Exotasks perform nearly as
                 well as Eventrons on a benchmark audio application.",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "Real-time scheduling; time portability; UAVs; virtual
                 machine",
}

@Article{Axelsen:2009:GPT,
  author =       "Eyvind W. Axelsen and Stein Krogdahl",
  title =        "{Groovy} package templates: supporting reuse and
                 runtime adaption of class hierarchies",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "12",
  pages =        "15--26",
  month =        dec,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640134.1640139",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Aug 31 22:04:07 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We show how package templates, a modularization
                 mechanism originally developed for statically typed
                 languages like Java and C\#, can be applied to and
                 implemented in a dynamic language like Groovy, by using
                 the language's capabilities for meta-programming. We
                 then consider a set of examples and discuss dynamic PT
                 from the viewpoints of code modularization and reuse,
                 and dynamic adaption of classes at runtime.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "dynamic languages; modularization; OOP; templates",
}

@Article{Bardram:2009:ABC,
  author =       "Jakob E. Bardram",
  title =        "Activity-based computing for medical work in
                 hospitals",
  journal =      j-TOCHI,
  volume =       "16",
  number =       "2",
  pages =        "10:1--10:??",
  month =        jun,
  year =         "2009",
  CODEN =        "ATCIF4",
  DOI =          "https://doi.org/10.1145/1534903.1534907",
  ISSN =         "1073-0516 (print), 1557-7325 (electronic)",
  ISSN-L =       "1073-0516",
  bibdate =      "Fri Jun 12 10:37:53 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tochi/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Studies have revealed that people organize and think
                 of their work in terms of activities that are carried
                 out in pursuit of some overall objective, often in
                 collaboration with others. Nevertheless, modern
                 computer systems are typically single-user oriented,
                 that is, designed to support individual tasks such as
                 word processing while sitting at a desk. This article
                 presents the concept of Activity-Based Computing (ABC),
                 which seeks to create computational support for human
                 activities. The ABC approach has been designed to
                 address activity-based computing support for clinical
                 work in hospitals. In a hospital, the challenges
                 arising from the management of parallel activities and
                 interruptions are amplified because multitasking is now
                 combined with a high degree of mobility, collaboration,
                 and urgency. The article presents the empirical and
                 theoretical background for activity-based computing,
                 its principles, the Java-based implementation of the
                 ABC Framework, and an experimental evaluation together
                 with a group of hospital clinicians. The article
                 contributes to the growing research on support for
                 human activities, mobility, collaboration, and
                 context-aware computing. The ABC Framework presents a
                 unifying perspective on activity-based support for
                 human-computer interaction.",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "ACM Transactions on Computer-Human Interaction",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J756",
  keywords =     "activity-awareness; activity-based computing;
                 architecture; cooperation; electronic patient record;
                 Framework; ubiquitous computing",
}

@Article{Bauer:2009:CER,
  author =       "Lujo Bauer and Jay Ligatti and David Walker",
  title =        "Composing expressive runtime security policies",
  journal =      j-TOSEM,
  volume =       "18",
  number =       "3",
  pages =        "9:1--9:??",
  month =        may,
  year =         "2009",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1525880.1525882",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Wed Jun 3 16:34:58 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Program monitors enforce security policies by
                 interposing themselves into the control flow of
                 untrusted software whenever that software attempts to
                 execute security-relevant actions. At the point of
                 interposition, a monitor has authority to permit or
                 deny (perhaps conditionally) the untrusted software's
                 attempted action. Program monitors are common security
                 enforcement mechanisms and integral parts of operating
                 systems, virtual machines, firewalls, network auditors,
                 and antivirus and antispyware tools.\par

                 Unfortunately, the runtime policies we require program
                 monitors to enforce grow more complex, both as the
                 monitored software is given new capabilities and as
                 policies are refined in response to attacks and user
                 feedback. We propose dealing with policy complexity by
                 organizing policies in such a way as to make them
                 composable, so that complex policies can be specified
                 more simply as compositions of smaller subpolicy
                 modules. We present a fully implemented language and
                 system called Polymer that allows security engineers to
                 specify and enforce composable policies on Java
                 applications. We formalize the central workings of
                 Polymer by defining an unambiguous semantics for our
                 language. Using this formalization, we state and prove
                 an uncircumventability theorem which guarantees that
                 monitors will intercept all security-relevant actions
                 of untrusted software.",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "Policy composition; policy enforcement;
                 policy-specification language",
}

@Article{Bellia:2009:JSI,
  author =       "Marco Bellia and M. Eugenia Occhiuto",
  title =        "{Java$ \Omega $}: The Structures and the
                 Implementation of a Preprocessor for {Java} with $m$
                 and $ m c$ parameters",
  journal =      j-FUND-INFO,
  volume =       "93",
  number =       "1--3",
  pages =        "45--64",
  month =        jan,
  year =         "2009",
  CODEN =        "FUMAAJ",
  DOI =          "https://doi.org/10.3233/FI-2009-0087",
  ISSN =         "0169-2968 (print), 1875-8681 (electronic)",
  ISSN-L =       "0169-2968",
  bibdate =      "Sat Mar 5 17:08:45 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Fundamenta Informaticae",
  journal-URL =  "http://content.iospress.com/journals/fundamenta-informaticae",
}

@Article{Bertels:2009:EMM,
  author =       "Peter Bertels and Wim Heirman and Erik D'Hollander and
                 Dirk Stroobandt",
  title =        "Efficient memory management for hardware accelerated
                 {Java Virtual Machines}",
  journal =      j-TODAES,
  volume =       "14",
  number =       "4",
  pages =        "48:1--48:??",
  month =        aug,
  year =         "2009",
  CODEN =        "ATASFO",
  DOI =          "https://doi.org/10.1145/1562514.1562516",
  ISSN =         "1084-4309 (print), 1557-7309 (electronic)",
  ISSN-L =       "1084-4309",
  bibdate =      "Thu Aug 27 14:38:55 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/todaes/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Application-specific hardware accelerators can
                 significantly improve a system's performance. In a
                 Java-based system, we then have to consider a hybrid
                 architecture that consists of a Java Virtual Machine
                 running on a general-purpose processor connected to the
                 hardware accelerator. In such a hybrid architecture,
                 data communication between the accelerator and the
                 general-purpose processor can incur a significant cost,
                 which may even annihilate the original performance
                 improvement of adding the accelerator. A careful layout
                 of the data in the memory structure is therefore of
                 major importance to maintain the acceleration
                 performance benefits.\par

                 This article addresses the reduction of the
                 communication cost in a distributed shared memory
                 consisting of the main memory of the processor and the
                 accelerator's local memory, which are unified in the
                 Java heap. Since memory access times are highly
                 nonuniform, a suitable allocation of objects in either
                 main memory or the accelerator's local memory can
                 significantly reduce the communication cost. We propose
                 several techniques for finding the optimal location for
                 each Java object's data, either statically through
                 profiling or dynamically at runtime. We show how we can
                 reduce communication cost by up to 86\% for the SPECjvm
                 and DaCapo benchmarks. We also show that the best
                 strategy is application dependent and also depends on
                 the relative cost of remote versus local accesses. For
                 a relative cost higher than 10, a self-learning dynamic
                 approach often results in the best performance.",
  acknowledgement = ack-nhfb,
  articleno =    "48",
  fjournal =     "ACM Transactions on Design Automation of Electronic
                 Systems (TODAES)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J776",
  keywords =     "Dynamic memory management; hardware acceleration; Java
                 Virtual Machine",
}

@Article{Bertoli:2009:JPE,
  author =       "Marco Bertoli and Giuliano Casale and Giuseppe
                 Serazzi",
  title =        "{JMT}: performance engineering tools for system
                 modeling",
  journal =      j-SIGMETRICS,
  volume =       "36",
  number =       "4",
  pages =        "10--15",
  month =        mar,
  year =         "2009",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1530873.1530877",
  ISSN =         "0163-5999 (print), 1557-9484 (electronic)",
  ISSN-L =       "0163-5999",
  bibdate =      "Wed Aug 25 07:32:42 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present the Java Modelling Tools (JMT) suite, an
                 integrated framework of Java tools for performance
                 evaluation of computer systems using queueing models.
                 The suite offers a rich user interface that simplifies
                 the definition of performance models by means of wizard
                 dialogs and of a graphical design workspace.\par

                 The performance evaluation features of JMT span a wide
                 range of state-of-the-art methodologies including
                 discrete-event simulation, mean value analysis of
                 product-form networks, analytical identification of
                 bottleneck resources in multiclass environments, and
                 workload characterization with fuzzy clustering. The
                 discrete-event simulator supports several advanced
                 modeling features such as finite capacity regions,
                 load-dependent service times, bursty processes,
                 fork-and-join nodes, and implements spectral estimation
                 for analysis of simulative results. The suite is
                 open-source, released under the GNU general public
                 license (GPL), and it is available for free download
                 at: http://jmt.sourceforge.net.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMETRICS Performance Evaluation Review",
  journal-URL =  "http://portal.acm.org/toc.cfm?id=J618",
}

@Article{Bettini:2009:FJD,
  author =       "Lorenzo Bettini and Sara Capecchi and Betti Venneri",
  title =        "Featherweight {Java} with dynamic and static
                 overloading",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "74",
  number =       "5--6",
  pages =        "261--278",
  day =          "1",
  month =        mar,
  year =         "2009",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:26 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Binder:2009:CPJ,
  author =       "Walter Binder and Martin Schoeberl and Philippe Moret
                 and Alex Villaz{\'o}n",
  title =        "Cross-profiling for {Java} processors",
  journal =      j-SPE,
  volume =       "39",
  number =       "18",
  pages =        "1439--1465",
  day =          "25",
  month =        dec,
  year =         "2009",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.940",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Mar 17 10:02:44 MDT 2010",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "Oct 30 2009 5:41AM",
}

@Article{Bloom:2009:TRC,
  author =       "Bard Bloom and John Field and Nathaniel Nystrom and
                 Johan {\"O}stlund and Gregor Richards and Rok
                 Strni{\v{s}}a and Jan Vitek and Tobias Wrigstad",
  title =        "Thorn: robust, concurrent, extensible scripting on the
                 {JVM}",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "117--136",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640089.1640098",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Scripting languages enjoy great popularity due to
                 their support for rapid and exploratory development.
                 They typically have lightweight syntax, weak data
                 privacy, dynamic typing, powerful aggregate data types,
                 and allow execution of the completed parts of
                 incomplete programs. The price of these features comes
                 later in the software life cycle. Scripts are hard to
                 evolve and compose, and often slow. An additional
                 weakness of most scripting languages is lack of support
                 for concurrency - though concurrency is required for
                 scalability and interacting with remote services. This
                 paper reports on the design and implementation of
                 Thorn, a novel programming language targeting the JVM.
                 Our principal contributions are a careful selection of
                 features that support the evolution of scripts into
                 industrial grade programs - {\em e.g.}, an expressive
                 module system, an optional type annotation facility for
                 declarations, and support for concurrency based on
                 message passing between lightweight, isolated
                 processes. On the implementation side, Thorn has been
                 designed to accommodate the evolution of the language
                 itself through a compiler plugin mechanism and target
                 the Java virtual machine.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "actors; pattern matching; scripting",
}

@Article{Bocchino:2009:TES,
  author =       "Robert L. {Bocchino, Jr.} and Vikram S. Adve and Danny
                 Dig and Sarita V. Adve and Stephen Heumann and Rakesh
                 Komuravelli and Jeffrey Overbey and Patrick Simmons and
                 Hyojin Sung and Mohsen Vakilian",
  title =        "A type and effect system for deterministic parallel
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "97--116",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640097",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Today's shared-memory parallel programming models are
                 complex and error-prone. While many parallel programs
                 are intended to be deterministic, unanticipated thread
                 interleavings can lead to subtle bugs and
                 nondeterministic semantics. In this paper, we
                 demonstrate that a practical {\em type and effect
                 system\/} can simplify parallel programming by {\em
                 guaranteeing deterministic semantics\/} with modular,
                 compile-time type checking even in a rich, concurrent
                 object-oriented language such as Java. We describe an
                 object-oriented type and effect system that provides
                 several new capabilities over previous systems for
                 expressing deterministic parallel algorithms. We also
                 describe a language called Deterministic Parallel Java
                 (DPJ) that incorporates the new type system features,
                 and we show that a core subset of DPJ is sound. We
                 describe an experimental validation showing that DPJ
                 can express a wide range of realistic parallel
                 programs; that the new type system features are useful
                 for such programs; and that the parallel programs
                 exhibit good performance gains (coming close to or
                 beating equivalent, nondeterministic multithreaded
                 programs where those are available).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "commutativity; determinism; deterministic parallelism;
                 effect systems; effects",
}

@Article{Bond:2009:LP,
  author =       "Michael D. Bond and Kathryn S. McKinley",
  title =        "Leak pruning",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "3",
  pages =        "277--288",
  month =        mar,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1508244.1508277",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:39:26 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Managed languages improve programmer productivity with
                 type safety and garbage collection, which eliminate
                 memory errors such as dangling pointers, double frees,
                 and buffer overflows. However, because garbage
                 collection uses reachability to over-approximate live
                 objects, programs may still leak memory if programmers
                 forget to eliminate the last reference to an object
                 that will not be used again. Leaks slow programs by
                 increasing collector workload and frequency. Growing
                 leaks eventually crash programs.\par

                 This paper introduces leak pruning, which keeps
                 programs running by predicting and reclaiming leaked
                 objects at run time. It predicts dead objects and
                 reclaims them based on observing data structure usage
                 patterns. Leak pruning preserves semantics because it
                 waits for heap exhaustion before reclaiming objects and
                 poisons references to objects it reclaims. If the
                 program later tries to access a poisoned reference, the
                 virtual machine (VM) throws an error. We show leak
                 pruning has low overhead in a Java VM and evaluate it
                 on 10 leaking programs. Leak pruning does not help two
                 programs, executes five substantial programs 1.6-81X
                 longer, and executes three programs, including a leak
                 in Eclipse, for at least 24 hours. In the worst case,
                 leak pruning defers fatal errors. In the best case, it
                 keeps leaky programs running with preserved semantics
                 and consistent throughput.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "garbage collection; leak tolerance; managed languages;
                 memory leaks",
}

@Article{Bradel:2009:SPP,
  author =       "Borys J. Bradel and Tarek S. Abdelrahman",
  title =        "A study of potential parallelism among traces in
                 {Java} programs",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "74",
  number =       "5--6",
  pages =        "296--313",
  day =          "1",
  month =        mar,
  year =         "2009",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:26 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Bravenboer:2009:SDS,
  author =       "Martin Bravenboer and Yannis Smaragdakis",
  title =        "Strictly declarative specification of sophisticated
                 points-to analyses",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "243--262",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640108",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present the DOOP framework for points-to analysis
                 of Java programs. DOOP builds on the idea of specifying
                 pointer analysis algorithms declaratively, using
                 Datalog: a logic-based language for defining
                 (recursive) relations. We carry the declarative
                 approach further than past work by describing the full
                 end-to-end analysis in Datalog and optimizing
                 aggressively using a novel technique specifically
                 targeting highly recursive Datalog programs.\par

                 As a result, DOOP achieves several benefits, including
                 full order-of-magnitude improvements in runtime. We
                 compare DOOP with Lhotak and Hendren's PADDLE, which
                 defines the state of the art for context-sensitive
                 analyses. For the exact same logical points-to
                 definitions (and, consequently, identical precision)
                 DOOP is more than 15x faster than PADDLE for a
                 1-call-site sensitive analysis of the DaCapo
                 benchmarks, with lower but still substantial speedups
                 for other important analyses. Additionally, DOOP scales
                 to very precise analyses that are impossible with
                 PADDLE and Whaley et al.'s bddbddb, directly addressing
                 open problems in past literature. Finally, our
                 implementation is modular and can be easily configured
                 to analyses with a wide range of characteristics,
                 largely due to its declarativeness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "bdds; datalog; declarative; DOOP; points-to analysis",
}

@Article{Bronson:2009:FDB,
  author =       "Nathan G. Bronson and Christos Kozyrakis and Kunle
                 Olukotun",
  title =        "Feedback-directed barrier optimization in a strongly
                 isolated {STM}",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "1",
  pages =        "213--225",
  month =        jan,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1504176.1504200",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:38 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Researchers in transactional memory (TM) have proposed
                 open nesting as a methodology for increasing the
                 concurrency of transactional programs. The idea is to
                 ignore ``low-level'' memory operations of an
                 open-nested transaction when detecting conflicts for
                 its parent transaction, and instead perform abstract
                 concurrency control for the ``high-level'' operation
                 that the nested transaction represents. To support this
                 methodology, TM systems use an open-nested commit
                 mechanism that commits all changes performed by an
                 open-nested transaction directly to memory, thereby
                 avoiding low-level conflicts. Unfortunately, because
                 the TM runtime is unaware of the different levels of
                 memory, unconstrained use of open-nested commits can
                 lead to anomalous program behavior.\par

                 We describe the framework of {\em ownership-aware
                 transactional memory\/} which incorporates the notion
                 of modules into the TM system and requires that
                 transactions and data be associated with specific {\em
                 transactional modules\/} or Xmodules. We propose a new
                 {\em ownership-aware commit mechanism\/}, a hybrid
                 between an open-nested and closed-nested commit which
                 commits a piece of data differently depending on which
                 Xmodule owns the data. Moreover, we provide a set of
                 precise constraints on interactions and sharing of data
                 among the Xmodules based on familiar notions of
                 abstraction. The ownership-aware commit mechanism and
                 these restrictions on Xmodules allow us to prove that
                 ownership-aware TM has clean memory-level semantics. In
                 particular, it guarantees {\em serializability by
                 modules\/}, an adaptation of the definition of
                 multilevel serializability from database systems. In
                 addition, we describe how a programmer can specify
                 Xmodules and ownership in a Java-like language. Our
                 type system can enforce most of the constraints
                 required by ownership-aware TM statically, and can
                 enforce the remaining constraints dynamically. Finally,
                 we prove that if transactions in the process of
                 aborting obey restrictions on their memory footprint,
                 then ownership-aware TM is free from {\em semantic
                 deadlock\/}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "abstract serializability; open-nested transactions;
                 ownership types; ownership-aware transactions; safe
                 nesting; semantic deadlock; semantics; serializability
                 by modules; transactional memory; transactional memory
                 semantics; xmodules",
}

@Article{Brosgol:2009:ICL,
  author =       "Ben Brosgol",
  title =        "An introduction to the {C\#} language and {.NET}
                 infrastructure",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "3",
  pages =        "3--4",
  month =        dec,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1647420.1647423",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:37 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Prerequisites: Familiarity with Object Oriented
                 Programming principles in a language such as Ada, Java,
                 or C++. No previous experience with C\# or .NET is
                 assumed. This tutorial will describe the main elements
                 of the C\# programming language and the Common Language
                 Infrastructure (whose implementation by Microsoft is
                 knows as .NET). It will focus on C\#'s more novel
                 language features, using examples and comparisons with
                 other languages (in particular, Ada and Java) to
                 describe the semantics. Specific C\# language topics to
                 be covered include the compilation model, namespaces,
                 types, generics, exception handling, and threading.
                 Common Language Infrastructure / .NET topics include
                 summaries of the Base Class Library, Common
                 Intermediate Language, Common Language System, Common
                 Type System and Virtual Execution System. In short,
                 this tutorial may be considered as the presenter's
                 response to the following question: 'C\# is sometimes
                 described as Microsoft's answer to Java. Is this an
                 accurate assessment, and in any event how do C\# and
                 .NET relate to Ada?'",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
  keywords =     "Ada; infrastructure; interfacing; languages;
                 object-oriented; programming; real-time; software;
                 systems",
}

@Article{Chandra:2009:SPA,
  author =       "Satish Chandra and Stephen J. Fink and Manu
                 Sridharan",
  title =        "{Snugglebug}: a powerful approach to weakest
                 preconditions",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "363--374",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1543135.1542517",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Symbolic analysis shows promise as a foundation for
                 bug-finding, specification inference, verification, and
                 test generation. This paper addresses demand-driven
                 symbolic analysis for object-oriented programs and
                 frameworks. Many such codes comprise large, partial
                 programs with highly dynamic behaviors--polymorphism,
                 reflection, and so on--posing significant scalability
                 challenges for any static analysis.\par

                 We present an approach based on interprocedural
                 backwards propagation of weakest preconditions. We
                 present several novel techniques to improve the
                 efficiency of such analysis. First, we present {\em
                 directed call graph construction}, where call graph
                 construction and symbolic analysis are interleaved.
                 With this technique, call graph construction is guided
                 by constraints discovered during symbolic analysis,
                 obviating the need for exhaustively exploring a large,
                 conservative call graph. Second, we describe {\em
                 generalization}, a technique that greatly increases the
                 reusability of procedure summaries computed during
                 interprocedural analysis. Instead of tabulating how a
                 procedure transforms a symbolic state in its entirety,
                 our technique tabulates how the procedure transforms
                 only the pertinent portion of the symbolic state.
                 Additionally, we show how integrating an inexpensive,
                 custom logic simplifier with weakest precondition
                 computation dramatically improves performance.\par

                 We have implemented the analysis in a tool called
                 Snugglebug and evaluated it as a bug-report feasibility
                 checker. Our results show that the algorithmic
                 techniques were critical for successfully analyzing
                 large Java applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "interprocedural analysis; symbolic analysis; weakest
                 preconditions",
}

@Article{Chen:2009:UAD,
  author =       "Mingsong Chen and Xiaokang Qiu and Wei Xu and Linzhang
                 Wang and Jianhua Zhao and Xuandong Li",
  title =        "{UML} Activity Diagram-Based Automatic Test Case
                 Generation for {Java} Programs",
  journal =      j-COMP-J,
  volume =       "52",
  number =       "5",
  pages =        "545--556",
  month =        aug,
  year =         "2009",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/bxm057",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Wed Apr 28 14:33:35 MDT 2010",
  bibsource =    "http://comjnl.oxfordjournals.org/content/vol52/issue5/index.dtl;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://comjnl.oxfordjournals.org/cgi/content/abstract/52/5/545;
                 http://comjnl.oxfordjournals.org/cgi/reprint/52/5/545",
  acknowledgement = ack-nhfb,
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
}

@Article{Chong:2009:BSW,
  author =       "Stephen Chong and Jed Liu and Andrew C. Myers and Xin
                 Qi and K. Vikram and Lantian Zheng and Xin Zheng",
  title =        "Building secure {Web} applications with automatic
                 partitioning",
  journal =      j-CACM,
  volume =       "52",
  number =       "2",
  pages =        "79--87",
  month =        feb,
  year =         "2009",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/1461928.1461949",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu Jan 22 17:19:30 MST 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Swift is a new, principled approach to building Web
                 applications that are {\em secure by construction.\/}
                 Modern Web applications typically implement some
                 functionality as client-side JavaScript code, for
                 improved interactivity. Moving code and data to the
                 client can create security vulnerabilities, but
                 currently there are no good methods for deciding when
                 it is secure to do so.\par

                 Swift automatically partitions application code while
                 providing assurance that the resulting placement is
                 secure and efficient. Application code is written as
                 Java-like code annotated with information flow policies
                 that specify the confidentiality and integrity of Web
                 application information. The compiler uses these
                 policies to automatically partition the program into
                 JavaScript code running in the client browser and Java
                 code running on the server. To improve interactive
                 performance, code and data are placed on the client.
                 However, security-critical code and data are always
                 placed on the server. The compiler may also
                 automatically replicate code across the client and
                 server, to obtain both security and performance.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Chugh:2009:SIF,
  author =       "Ravi Chugh and Jeffrey A. Meister and Ranjit Jhala and
                 Sorin Lerner",
  title =        "Staged information flow for {JavaScript}",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "50--62",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1543135.1542483",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Modern websites are powered by JavaScript, a flexible
                 dynamic scripting language that executes in client
                 browsers. A common paradigm in such websites is to
                 include third-party JavaScript code in the form of
                 libraries or advertisements. If this code were
                 malicious, it could read sensitive information from the
                 page or write to the location bar, thus redirecting the
                 user to a malicious page, from which the entire machine
                 could be compromised. We present an information-flow
                 based approach for inferring the effects that a piece
                 of JavaScript has on the website in order to ensure
                 that key security properties are not violated. To
                 handle dynamically loaded and generated JavaScript, we
                 propose a framework for staging information flow
                 properties. Our framework propagates information flow
                 through the currently known code in order to compute a
                 minimal set of syntactic residual checks that are
                 performed on the remaining code when it is dynamically
                 loaded. We have implemented a prototype framework for
                 staging information flow. We describe our techniques
                 for handling some difficult features of JavaScript and
                 evaluate our system's performance on a variety of large
                 real-world websites. Our experiments show that static
                 information flow is feasible and efficient for
                 JavaScript, and that our technique allows the
                 enforcement of information-flow policies with almost no
                 run-time overhead.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "confidentiality; flow analysis; integrity; set
                 constraints; web applications",
}

@Book{Clarke:2009:JDR,
  author =       "Jim Clarke and Jim Connors and Eric Bruno",
  title =        "{JavaFX}: Developing Rich {Internet} Applications",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxiii + 359",
  year =         "2009",
  ISBN =         "0-13-701287-X",
  ISBN-13 =      "978-0-13-701287-9",
  LCCN =         "QA76.73.J38",
  bibdate =      "Tue Jan 27 15:54:54 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Cole:2009:MPC,
  author =       "Marilyn C. Cole and Evan Korth and Adam Meyers and Sam
                 Pluta",
  title =        "{Musicomputation}: a pilot course exploring a
                 pre-college computer science curriculum",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "381--381",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1563023",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "Computer Science and Computational Approaches to Music
                 for Middle School and High School Students, also known
                 as Musicomputation (http://musicomputation.com/) was a
                 highly successful course sponsored by the National
                 Science Foundation (IIS-0834034) and first held in June
                 2008 at New York University. Two NYU professors and two
                 doctoral candidates developed curriculum, gave
                 lectures, and supervised labs introducing computer
                 science and computer music to students aged 12-17. Our
                 hypothesis was that it is easier to learn computer
                 science when the data you are modeling and the problems
                 you are solving belong to a domain that you know well
                 and love. During the project, students progressed far
                 beyond the instructors' expectations, quickly absorbing
                 computer science concepts that even college students
                 often find difficult. For the pilot study, we recruited
                 11 students with at least five years of background in
                 music from the Juilliard School's Precollege Division,
                 Stuyvesant High School, the NYC-area home-schooling
                 community, and the previous participant lists of
                 cSplash (a yearly event at the Courant Institute at NYU
                 where graduate students and professors teach one- to
                 three-hour classes in computer science and mathematics
                 to students in grades 6-12). About half of the students
                 in Musicomputation had some programming experience,
                 with three of them finishing their year of AP Computer
                 Science at the time of the course. All 11 students were
                 highly motivated and had high levels of expertise in
                 both mathematics and music. Thus, the success of our
                 class was in part due to the fact that we had recruited
                 very good students. Musicomputation covered computer
                 science basics such as the logical design of computers,
                 formal language theory, sorting algorithms, variables,
                 control structures and a sampling of how the same
                 concepts can be represented in different computer
                 languages. Algorithms and patterns used in certain
                 pieces of contemporary music (Morton Feldman's Triadic
                 memories and Steve Reich's Clapping Music) were also
                 covered in the class, as were the basics of
                 representing sound electronically. Students were taught
                 the programming language Processing
                 (http://www.processing.org/), an open source project
                 based on Java that easily enables immediate visual
                 feedback. We also used Processing for simple music
                 composition, as well as discussing other languages used
                 for music, such as SuperCollider and ChucK. The
                 students produced many programs, both graphical and
                 audible, culminating in final projects which produce
                 music and are downloadable from the Musicomputation
                 website. The interdisciplinary nature of the class
                 helped show the students why computer science is both
                 important and basic to their future development,
                 whether they choose to go into a mathematical or
                 scientific field or continue to develop their musical
                 and artistic talents. To share the exciting
                 developments from the course, the poster displays some
                 of the more visual work that the students created
                 through the use of Processing, such as a fractal
                 assignment to implement recursion and a randomized
                 algorithm that explores the properties of the equation
                 for a circle. It also includes some evidence (in the
                 form of code snippets and discussion) of the
                 revelations in basic programming concepts that students
                 made over the course of their time learning about
                 computer science, including both the simplification and
                 potential expansion of music composition code that can
                 come about with the discovery of iteration and
                 recursion.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Dann:2009:EAC,
  author =       "Wanda Dann and Stephen Cooper",
  title =        "{Education Alice 3}: concrete to abstract",
  journal =      j-CACM,
  volume =       "52",
  number =       "8",
  pages =        "27--29",
  month =        aug,
  year =         "2009",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/1536616.1536628",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Sep 2 16:54:35 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The innovative Alice 3 programming environment,
                 currently in beta testing, teaches students to program
                 with Alice and Java software.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Desai:2009:AIC,
  author =       "Aniruddha Desai and Jugdutt Singh",
  title =        "Architecture Independent Characterization of Embedded
                 {Java} Workloads",
  journal =      j-IEEE-COMPUT-ARCHIT-LETT,
  volume =       "8",
  number =       "1",
  pages =        "29--32",
  month =        jan # "\slash " # jun,
  year =         "2009",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1109/L-CA.2009.7",
  ISSN =         "1556-6056 (print), 1556-6064 (electronic)",
  ISSN-L =       "1556-6056",
  bibdate =      "Thu Jun 20 17:18:18 2019",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper presents architecture independent
                 characterization of embedded Java workloads based on
                 the industry standard GrinderBench benchmark which
                 includes different classes of real world embedded Java
                 applications. This work is based on a custom built
                 embedded Java Virtual Machine (JVM) simulator
                 specifically designed for embedded JVM modeling and
                 embodies domain specific details such as thread
                 scheduling, algorithms used for native CLDC APIs and
                 runtime data structures optimized for use in embedded
                 systems. The results presented include dynamic
                 execution characteristics, dynamic bytecode instruction
                 mix, application and API workload distribution, Object
                 allocation statistics, instruction-set coverage, memory
                 usage statistics and method code and stack frame
                 characteristics.",
  acknowledgement = ack-nhfb,
  affiliation =  "Desai, A (Reprint Author), La Trobe Univ, Bundoora,
                 Vic 3086, Australia. Desai, Aniruddha; Singh, Jugdutt,
                 La Trobe Univ, Bundoora, Vic 3086, Australia.",
  author-email = "desai@ieee.org",
  da =           "2019-06-20",
  doc-delivery-number = "V17GC",
  fjournal =     "IEEE Computer Architecture Letters",
  journal-iso =  "IEEE Comput. Archit. Lett.",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208",
  keywords =     "Embedded Systems; Java; Java bytecode; Workload
                 Characterization",
  number-of-cited-references = "8",
  research-areas = "Computer Science",
  times-cited =  "0",
  unique-id =    "Desai:2009:AIC",
  web-of-science-categories = "Computer Science, Hardware \&
                 Architecture",
}

@Article{Djordjevic:2009:PAC,
  author =       "Mirela Djordjevi{\'c}",
  title =        "Progressive assignment in {CS1}",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "346--346",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562987",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "This paper proposes a simple graphics programming
                 project, Java Target project that follows the Spiral
                 Model of teaching three different components of the
                 introductory programming course: fundamentals,
                 object-oriented, and event-driven programming.
                 Especially important in this project is the progressive
                 nature that introduces one concept and reviews others.
                 The project consists of following progressive tasks:
                 draw a circle (target); user defines radius, and center
                 of a circle; report number of shots; randomize shots;
                 select color, select shape, resize target; define user
                 class Circle (Target); define number of circles in
                 target; keep scores and find the best score.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ducournau:2009:EAO,
  author =       "Roland Ducournau and Flor{\'e}al Morandat and Jean
                 Privat",
  title =        "Empirical assessment of object-oriented
                 implementations with multiple inheritance and static
                 typing",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "41--60",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640093",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Object-oriented languages involve a threefold tradeoff
                 between runtime efficiency, expressiveness (multiple
                 inheritance), and modularity, i.e. open-world
                 assumption (OWA). Runtime efficiency is conditioned by
                 both the {\em implementation technique\/} and {\em
                 compilation scheme}. The former specifies the data
                 structures that support method invocation, attribute
                 access and subtype testing. The latter consists of the
                 production line of an executable from the source code.
                 Many implementation techniques have been proposed and
                 several compilation schemes can be considered from
                 fully global compilation under the closed-world
                 assumption (CWA) to separate compilation with dynamic
                 loading under the OWA, with midway solutions. This
                 article reviews a significant subset of possible
                 combinations and presents a systematic, empirical
                 comparison of their respective efficiencies with {\em
                 all other things being equal}. The testbed consists of
                 the Prm compiler that has been designed for this
                 purpose. The considered techniques include C++
                 subobjects, coloring, perfect hashing, binary tree
                 dispatch and caching. A variety of processors were
                 considered. Qualitatively, these first results confirm
                 the intuitive or theoretical abstract assessments of
                 the tested approaches. As expected, efficiency
                 increases as CWA strengthens. From a quantitative
                 standpoint, the results are the first to precisely
                 compare the efficiency of techniques that are closely
                 associated with specific languages like C++ and Eiffel.
                 They also confirm that perfect hashing should be
                 considered for implementing Java and .Net interfaces.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "binary tree dispatch; closed-world assumption;
                 coloring; downcast; dynamic loading; interfaces; late
                 binding; method tables; multiple inheritance; multiple
                 subtyping; open-world assumption; perfect hashing;
                 single inheritance; subtype test; type analysis;
                 virtual function table",
}

@Book{Edelson:2009:JC,
  author =       "Justin Edelson and Henry Liu",
  title =        "{JRuby} cookbook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "250 (est.)",
  year =         "2009",
  ISBN =         "0-596-15506-9",
  ISBN-13 =      "978-0-596-15506-3",
  LCCN =         "QA76.73.R83 E33 2008",
  bibdate =      "Sat Nov 13 10:19:57 MST 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90;
                 prodorbis.library.yale.edu:7090/voyager",
  acknowledgement = ack-nhfb,
  subject =      "Ruby on rails (Electronic resource); Application
                 software; Development; Java (Computer program
                 language); Ruby (Computer program language); Web site
                 development",
}

@Article{Edmondson:2009:PFY,
  author =       "Carol Edmondson",
  title =        "Proglets for first-year programming in {Java}",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "2",
  pages =        "108--112",
  month =        jun,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595453.1595486",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Applets are little applications. Proglets are little
                 programs. The author advocates the use of proglets in
                 first-year programming courses to encourage students to
                 investigate aspects of the language being taught, to
                 test (parts of) algorithms, and to have fun. The
                 writing of proglets allows beginning students to
                 concentrate on their current concerns without being
                 overwhelmed by the requirement to write assignment
                 quality programs worthy of a fully-trained software
                 engineer. The author has used proglets during three
                 semesters to help students in repeat offerings of
                 first-year programming courses which used Java as the
                 teaching language.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{English:2009:ESP,
  author =       "John English and Tammy Rosenthal",
  title =        "Evaluating students' programs using automated
                 assessment: a case study",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "371--371",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1563013",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "This poster presents our experience of using automated
                 assessment in a programming course given by the
                 Department of Computer Science at Holon Institute of
                 Technology (HIT). The course was given as a first year
                 course as part of an engineering degree which
                 introduces students to programming in C and which
                 teaches them the basics of the imperative programming
                 paradigm. About 200 students took the course in Autumn
                 2009. They were required to submit 3 programming
                 assignments each of which contained 4 programming
                 tasks. Most of the assignments were evaluated manually.
                 Our poster presents our experience with 15 students who
                 used an automated assessment system to submit one of
                 their assignments. The system used was Checkpoint [1],
                 an integrated automated assessment system developed by
                 the first author, which generates automated feedback
                 and evaluation for students' work. The system manages
                 both homework assignments and formal examinations based
                 on a range of different question types, including
                 questions requiring free-text answers. It also allows
                 automatically-generated marks to be manually moderated
                 and adjusted, with feedback comments from the human
                 moderator. Checkpoint has been in use since October
                 2005 at the University of Brighton in the UK for
                 assessing two first year Java programming modules which
                 comprise a total of about 150 students annually.
                 Students at Brighton are required to use Checkpoint to
                 submit assignments from the very beginning of their
                 course, and the two end-of-semester formal examinations
                 are also administered using Checkpoint. The entire
                 assessment structure is based around the ability to
                 assess students on a 'little and often' basis, with
                 assessment deadlines at fortnightly intervals
                 throughout the year. However, students at Holon have no
                 prior experience of automated assessment and it has not
                 been used so far on any other courses within the
                 institution. The assessment structure is therefore more
                 traditional and involves fewer but larger assignments.
                 The experiment reported here was carried out in order
                 to evaluate the benefits of automated assessment
                 following earlier work by the second author [2] and
                 involved automating one of these assignments. The
                 assignment was offered in two ways: a conventional
                 manual submission and an automated submission via
                 Checkpoint. The students were given the choice of
                 submitting their work via either method. Checkpoint was
                 modified for this experiment to display the questions
                 in Hebrew and to support feedback comments in Hebrew
                 given by the human evaluator as part of the moderation
                 process. Checkpoint was also modified to support C in
                 addition to Java since this was the language the
                 students were required to write their programs. All the
                 participants, both students and instructors, gave very
                 positive feedback. The students had all been manually
                 evaluated in previous assignments and their comments
                 with regard to the differences were very positive. They
                 said that the system was impartial and because it
                 allowed them to submit many attempts before the
                 deadline it enabled them to improve their programming
                 skills. It also allowed the instructors to monitor
                 student progress during the course of the assignment
                 and to act to correct misconceptions.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Fitzgerald:2009:ARN,
  author =       "Sue Fitzgerald",
  title =        "All {I} really need to know {I} learned in {CS1}",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "1",
  pages =        "1--1",
  month =        mar,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1539024.1508867",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE '09.",
  abstract =     "Over the last 45 years as a student and faculty member
                 in Computer Science, I have been involved in learning,
                 teaching, and writing for the CS1 course. I have
                 authored or co-authored textbooks for CS1 in nine
                 different programming languages from Fortran to Java.
                 Each new language was used because of a particular set
                 of features it provided to solve the critical problem
                 in programming or software development of the day. This
                 talk will take a look back at these languages and the
                 extent to which they succeeded. I will also take a look
                 ahead to see what direction CS1 might be taking in the
                 future.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Flanagan:2009:FEP,
  author =       "Cormac Flanagan and Stephen N. Freund",
  title =        "{FastTrack}: efficient and precise dynamic race
                 detection",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "121--133",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542490",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Multithreaded programs are notoriously prone to race
                 conditions. Prior work on dynamic race detectors
                 includes fast but imprecise race detectors that report
                 false alarms, as well as slow but precise race
                 detectors that never report false alarms. The latter
                 typically use expensive vector clock operations that
                 require time linear in the number of program
                 threads.\par

                 This paper exploits the insight that the full
                 generality of vector clocks is unnecessary in most
                 cases. That is, we can replace heavyweight vector
                 clocks with an adaptive lightweight representation
                 that, for almost all operations of the target program,
                 requires only constant space and supports constant-time
                 operations. This representation change significantly
                 improves time and space performance, with no loss in
                 precision.\par

                 Experimental results on Java benchmarks including the
                 Eclipse development environment show that our FastTrack
                 race detector is an order of magnitude faster than a
                 traditional vector-clock race detector, and roughly
                 twice as fast as the high-performance DJIT+ algorithm.
                 FastTrack is even comparable in speed to Eraser on our
                 Java benchmarks, while never reporting false alarms.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "concurrency; dynamic analysis; race conditions",
}

@Article{Gal-Ezer:2009:PSC,
  author =       "Judith Gal-Ezer and Tamar Vilner and Ela Zur",
  title =        "Has the paradigm shift in {CS1} a harmful effect on
                 data structures courses: a case study",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "1",
  pages =        "126--130",
  month =        mar,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1539024.1508909",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE '09.",
  abstract =     "The ongoing debate among Computer Science educators
                 about the advantages and disadvantages of the shift
                 from the procedural to the Object-Oriented paradigm
                 usually relates to the introductory course. Indeed, we
                 were also concerned when in our institute we decided to
                 implement this shift in our introductory course and
                 started to teach Java, instead of a procedural
                 paradigm. In our previous study we saw that the effect
                 of the shift did not lower the achievements of students
                 taking the CS1 course. Furthermore, we wanted to be
                 equally sure that this was the case when students take
                 Data Structures courses. This is the focus of the study
                 presented in this paper. The results show that there is
                 no significant difference in the achievements of
                 students who came from different paradigm backgrounds.
                 This encouraging result probably relates to the fact
                 that our CS1 course focuses on the fundamentals of
                 introductory Computer Science and does not only
                 emphasize the language aspects.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gal-Ezer:2009:PYP,
  author =       "Judith Gal-Ezer and Tamar Vilner and Ela Zur",
  title =        "The professor on your {PC}: a virtual {CS1} course",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "191--195",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562938",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "The Open University of Israel, a distance education
                 institution with open admissions, offers a study system
                 that was primarily based on written material. When we
                 designed the new CS1 course in 2005, shifting from C++
                 to Java, we also switched from a course based on
                 written material, to one based on videotaped lectures,
                 which the students watch on PCs. Shifting to Java is an
                 enormous challenge, however, we were also concerned
                 about the new study method. Therefore, we conducted a
                 study to determine how the students respond to the new
                 and different environment, in terms of both learning
                 and technical operation. The findings show that this
                 method of study is at least as efficient as the
                 previous one. The students' attitude to the new study
                 method was positive and supportive of the new
                 approach.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gal:2009:TBJ,
  author =       "Andreas Gal and Brendan Eich and Mike Shaver and David
                 Anderson and David Mandelin and Mohammad R. Haghighat
                 and Blake Kaplan and Graydon Hoare and Boris Zbarsky
                 and Jason Orendorff and Jesse Ruderman and Edwin W.
                 Smith and Rick Reitmaier and Michael Bebenita and Mason
                 Chang and Michael Franz",
  title =        "Trace-based just-in-time type specialization for
                 dynamic languages",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "465--478",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542528",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Dynamic languages such as JavaScript are more
                 difficult to compile than statically typed ones. Since
                 no concrete type information is available, traditional
                 compilers need to emit generic code that can handle all
                 possible type combinations at runtime. We present an
                 alternative compilation technique for dynamically-typed
                 languages that identifies frequently executed loop
                 traces at run-time and then generates machine code on
                 the fly that is specialized for the actual dynamic
                 types occurring on each path through the loop. Our
                 method provides cheap inter-procedural type
                 specialization, and an elegant and efficient way of
                 incrementally compiling lazily discovered alternative
                 paths through nested loops. We have implemented a
                 dynamic compiler for JavaScript based on our technique
                 and we have measured speedups of 10x and more for
                 certain benchmark programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "dynamically typed languages; trace-based compilation",
}

@Book{Gardner:2009:DGP,
  author =       "James Gardner",
  title =        "The definitive guide to {Pylons}: [{Pylons} is a
                 lightweight web framework emphasizing flexibility and
                 rapid development using standard tools from the
                 {Python} community ; includes {SQLAlchemy},
                 {JavaScript}, and {WSG}!]",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxv + 536",
  year =         "2009",
  ISBN =         "1-59059-934-9 (paperback)",
  ISBN-13 =      "978-1-59059-934-1 (paperback)",
  LCCN =         "????",
  bibdate =      "Thu Apr 16 12:30:45 MDT 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "US\$46,99",
  series =       "The expert's voice in web development; Books for
                 professionals by professionals",
  acknowledgement = ack-nhfb,
}

@Article{Gibson:2009:SRP,
  author =       "J. Paul Gibson",
  title =        "Software reuse and plagiarism: a code of practice",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "55--59",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562900",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "In general, university guidelines or policies on
                 plagiarism are not sufficiently detailed to cope with
                 the technical complexity of software. Software
                 plagiarism can have a significant impact on a student's
                 degree result, particularly in courses were there is a
                 significant emphasis on large-scale projects. We argue
                 that a policy for software reuse is the most explicit,
                 and fair, way of overcoming this problem. In our
                 policy, we specify the notion of software to cover all
                 the documents that are generally built during the
                 engineering of a software system --- analysis,
                 requirements, validation, design, verification,
                 implementation and tests. Examples are used to show
                 acceptable and unacceptable forms of reuse, mostly at
                 the design, testing and implementation stages. These
                 examples are represented in Java, although they should
                 be easily understood by anyone with software
                 engineering experience. We conclude with a simple code
                 of practice for reuse of software based on a file-level
                 policy, combined with emphasis on re-using only what is
                 rigorously verified.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Gregersen:2009:DUJ,
  author =       "Allan Raundahl Gregersen and Bo N{\o}rregaard
                 J{\o}rgensen",
  title =        "Dynamic update of {Java} applications --- balancing
                 change flexibility vs programming transparency",
  journal =      j-J-SOFTW-MAINT-EVOL,
  volume =       "21",
  number =       "2",
  pages =        "81--112",
  month =        mar,
  year =         "2009",
  CODEN =        "JSMECT",
  DOI =          "https://doi.org/10.1002/smr.406",
  ISSN =         "1532-060X (print), 1532-0618 (electronic)",
  ISSN-L =       "1532-060X",
  bibdate =      "Wed Jan 31 10:00:25 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/jsoftwmaintevol.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Software Maintenance and Evolution:
                 Research and Practice",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
}

@Article{Groth:2009:MPD,
  author =       "Paul Groth and Simon Miles and Luc Moreau",
  title =        "A model of process documentation to determine
                 provenance in mash-ups",
  journal =      j-TOIT,
  volume =       "9",
  number =       "1",
  pages =        "3:1--3:??",
  month =        feb,
  year =         "2009",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1462159.1462162",
  ISSN =         "1533-5399 (print), 1557-6051 (electronic)",
  ISSN-L =       "1533-5399",
  bibdate =      "Thu Feb 19 14:20:34 MST 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toit/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Through technologies such as RSS (Really Simple
                 Syndication), Web Services, and AJAX (Asynchronous
                 JavaScript and XML), the Internet has facilitated the
                 emergence of applications that are composed from a
                 variety of services and data sources. Through tools
                 such as Yahoo Pipes, these ``mash-ups'' can be composed
                 in a dynamic, just-in-time manner from components
                 provided by multiple institutions (i.e., Google,
                 Amazon, your neighbor). However, when using these
                 applications, it is not apparent where data comes from
                 or how it is processed. Thus, to inspire trust and
                 confidence in mash-ups, it is critical to be able to
                 analyze their processes after the fact. These {\em
                 trailing analyses}, in particular the determination of
                 the provenance of a result (i.e., the process that led
                 to it), are enabled by {\em process documentation},
                 which is documentation of an application's past process
                 created by the components of that application at
                 execution time. In this article, we define a generic
                 conceptual data model that supports the autonomous
                 creation of attributable, factual process documentation
                 for dynamic multi-institutional applications. The data
                 model is instantiated using two Internet formats, OWL
                 and XML, and is evaluated with respect to questions
                 about the provenance of results generated by a complex
                 bioinformatics mash-up.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "ACM Transactions on Internet Technology (TOIT)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J780",
  keywords =     "concept maps; data model; mash-ups; Process; process
                 documentation; provenance",
}

@Book{Halloway:2009:PC,
  author =       "Stuart Dabbs Halloway",
  title =        "Programming {Clojure}",
  publisher =    pub-PRAGMATIC-BOOKSHELF,
  address =      pub-PRAGMATIC-BOOKSHELF:adr,
  pages =        "xxi + 280",
  year =         "2009",
  ISBN =         "1-934356-33-6 (paperback)",
  ISBN-13 =      "978-1-934356-33-3 (paperback)",
  LCCN =         "QA76.62 .H35 2009",
  bibdate =      "Fri Nov 23 10:33:38 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/common-lisp.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "The pragmatic programmer",
  abstract =     "Provides information on the features and functions of
                 Clojure and describes how to create powerful
                 programs.",
  acknowledgement = ack-nhfb,
  subject =      "Java virtual machine; Java (Computer program
                 language); Functional programming (Computer science);
                 Clojure (Computer program language); Java Virtual
                 Machine",
}

@Article{Hanks:2009:SUP,
  author =       "Brian Hanks and Matt Brandt",
  title =        "Successful and unsuccessful problem solving approaches
                 of novice programmers",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "1",
  pages =        "24--28",
  month =        mar,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1539024.1508876",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE '09.",
  abstract =     "Learning to program continues to be challenging for
                 many students. This paper reports on problem-solving
                 approaches undertaken by pair programming students. We
                 examine reasons why some approaches lead to success
                 while others lead to failure. We also identify some
                 aspects of the Java language that appear to lead to
                 student misconceptions. Finally, we provide suggestions
                 for educators interested in helping students learn
                 successful approaches and avoid unsuccessful ones.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Harner:2009:JJR,
  author =       "E. James Harner and Dajie Luo and Jun Tan",
  title =        "{JavaStat}: a {Java\slash R}-based statistical
                 computing environment",
  journal =      j-COMP-STAT,
  volume =       "24",
  number =       "2",
  pages =        "295--302",
  month =        may,
  year =         "2009",
  CODEN =        "CSTAEB",
  DOI =          "https://doi.org/10.1007/s00180-008-0131-y",
  ISSN =         "0943-4062 (print), 1613-9658 (electronic)",
  ISSN-L =       "0943-4062",
  bibdate =      "Thu Jun 18 16:19:37 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compstat.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "http://link.springer.com/article/10.1007/s00180-008-0131-y",
  acknowledgement = ack-nhfb,
  ajournal =     "Comp. Stat.",
  fjournal =     "Computational Statistics",
  journal-URL =  "http://link.springer.com/journal/180",
}

@Article{Hoffman:2009:SAT,
  author =       "Kevin J. Hoffman and Patrick Eugster and Suresh
                 Jagannathan",
  title =        "Semantics-aware trace analysis",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "453--464",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542527",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "As computer systems continue to become more powerful
                 and complex, so do programs. High-level abstractions
                 introduced to deal with complexity in large programs,
                 while simplifying human reasoning, can often obfuscate
                 salient program properties gleaned from automated
                 source-level analysis through subtle (often non-local)
                 interactions. Consequently, understanding the effects
                 of program changes and whether these changes violate
                 intended protocols become difficult to infer.
                 Refactorings, and feature additions, modifications, or
                 removals can introduce hard-to-catch bugs that often go
                 undetected until many revisions later.\par

                 To address these issues, this paper presents a novel
                 dynamic program analysis that builds a {\em semantic
                 view\/} of program executions. These views reflect
                 program abstractions and aspects; however, views are
                 not simply projections of execution traces, but are
                 linked to each other to capture semantic interactions
                 among abstractions at different levels of granularity
                 in a scalable manner.\par

                 We describe our approach in the context of Java and
                 demonstrate its utility to improve {\em regression
                 analysis}. We first formalize a subset of Java and a
                 grammar for traces generated at program execution. We
                 then introduce several types of views used to analyze
                 regression bugs along with a novel, scalable technique
                 for semantic differencing of traces from different
                 versions of the same program. Benchmark results on
                 large open-source Java programs demonstrate that
                 semantic-aware trace differencing can identify precise
                 and useful details about the underlying cause for a
                 regression, even in programs that use reflection,
                 multithreading, or dynamic code generation, features
                 that typically confound other analysis techniques.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "automated debugging; debugging aids; semantic tracing;
                 testing tools; trace views; tracing",
}

@Article{Holmes:2009:IJS,
  author =       "Susan Holmes and Adam Kapelner and Peter P. Lee",
  title =        "An Interactive {Java} Statistical Image Segmentation
                 System: {{\tt GemIdent}}",
  journal =      j-J-STAT-SOFT,
  volume =       "30",
  number =       "10",
  pages =        "??--??",
  month =        jun,
  year =         "2009",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Wed Aug 25 09:57:41 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.jstatsoft.org/v30/i10",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  pubdates =     "Submitted 2008-08-09; Accepted 2009-01-15",
}

@Article{Hong:2009:CAT,
  author =       "Sunghyun Hong and Jin-Chul Kim and Soo-Mook Moon and
                 Jin Woo Shin and Jaemok Lee and Hyeong-Seok Oh and
                 Hyung-Kyu Choi",
  title =        "Client ahead-of-time compiler for embedded {Java}
                 platforms",
  journal =      j-SPE,
  volume =       "39",
  number =       "3",
  pages =        "259--278",
  day =          "10",
  month =        mar,
  year =         "2009",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.897",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Mar 17 10:02:38 MDT 2010",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "Aug 5 2008 9:10AM",
}

@Article{Hsiao:2009:EPP,
  author =       "I-Han Hsiao and Sergey Sosnovsky and Peter
                 Brusilovsky",
  title =        "Extending parameterized problem-tracing questions for
                 {Java} with personalized guidance",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "392--392",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1563034",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "Problem-tracing questions are popular among teachers
                 of various programming languages. In an assessment mode
                 these questions allows to evaluate student knowledge of
                 language semantics. In a self-assessment mode, they
                 provide an excellent learning tool. A 2004 ITiCSE
                 working group report [4] stressed the importance of
                 this type of questions to build foundation of
                 higher-level knowledge. Yet the use of problem-tracing
                 questions is still limited due to a large authoring
                 overhead. To resolve this bottleneck, we explored the
                 idea of parameterized question generation [2]. We
                 developed QuizPACK [1], a system which can generate
                 parameterized problem-tracing questions for C
                 programming language. We also developed QuizGuide [1],
                 a personalized guidance system for QuizPACK, which
                 models student knowledge and guides students
                 individually to most appropriate questions to try. The
                 results of our studies demonstrated that QuizPACK
                 strongly benefits student knowledge and that QuizGuide
                 personalized guidance technology increased student
                 ability to answer questions correctly and encouraged
                 them to use the system more extensively (which, in
                 turn, positively impacted their knowledge) [1].
                 However, parameterized questions in area of C
                 programming were not as diverse from the complexity
                 point of view as parameterized questions explored in
                 other areas such as physics [2]. As a result, it was
                 left unclear whether personalized guidance technology
                 can successfully guide students to a broader range of
                 questions from relatively simple to very difficult. The
                 work reported in this poster expands our work on
                 parameterized questions to a more sophisticated domain
                 of object-oriented Java programming, which allowed us
                 to introduce questions of much broader. Capitalizing on
                 our experience with QuizPACK, we developed QuizJET
                 (Java Evaluation Toolkit), which supports authoring,
                 delivery, and evaluation of parameterized questions for
                 Java [3]. We also implemented JavaGuide system (Figure
                 1), which provides personalized guidance for QuizJET
                 questions. We assessed the impact of adaptive
                 navigation support to student work with questions of
                 different complexity as well as the impact of this
                 technology on weaker and stronger students. The results
                 of two classroom studies indicate that personalized
                 guidance encouraged students to use parameterized
                 questions more extensively and also helped them to
                 access right questions at the right time. Students were
                 2.5 times more likely to answer a quiz correctly with
                 personalized guidance than without such it. In
                 addition, we found that personalized guidance
                 especially benefited weak students to achieve scores
                 comparable with the scores of strong students on each
                 complexity level of questions.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Inghelbrecht:2009:OOD,
  author =       "Yanic Inghelbrecht",
  title =        "Object-oriented design with trace modeler and
                 {Trace4J}",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "375--375",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1563017",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "We present two tools that make students more
                 productive during various object-oriented design
                 activities. The first one, Trace Modeler, is a smart
                 UML sequence diagram editor that helps students
                 understand and apply responsibility-driven design. The
                 second tool, Trace4J, is used to record and process the
                 execution of a java program. Both tools are
                 complementary. Students use Trace4J to produce focused
                 sequence diagrams for (part of) a program's execution.
                 Trace Modeler's support for huge diagrams lets them
                 navigate and understand the large results in the
                 initial stages of their processing experiments.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Inoue:2009:HJV,
  author =       "Hiroshi Inoue and Toshio Nakatani",
  title =        "How a {Java VM} can get more from a hardware
                 performance monitor",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "137--154",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640100",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper describes our sampling-based profiler that
                 exploits a processor's HPM (Hardware Performance
                 Monitor) to collect information on running Java
                 applications for use by the Java VM. Our profiler
                 provides two novel features: Java-level event profiling
                 and lightweight context-sensitive event profiling. For
                 Java events, we propose new techniques to leverage the
                 sampling facility of the HPM to generate object
                 creation profiles and lock activity profiles. The HPM
                 sampling is the key to achieve a smaller overhead
                 compared to profilers that do not rely on hardware
                 helps. To sample the object creations with the HPM,
                 which can only sample hardware events such as executed
                 instructions or cache misses, we correlate the object
                 creations with the store instructions for Java object
                 headers. For the lock activity profile, we introduce an
                 instrumentation-based technique, called ProbeNOP, which
                 uses a special NOP instruction whose executions are
                 counted by the HPM. For the context-sensitive event
                 profiling, we propose a new technique called {\em
                 CallerChaining}, which detects the calling context of
                 HPM events based on the call stack depth (the value of
                 the stack frame pointer). We show that it can detect
                 the calling contexts in many programs including a large
                 commercial application. Our proposed techniques enable
                 both programmers and runtime systems to get more
                 valuable information from the HPM to understand and
                 optimize the programs without adding significant
                 runtime overhead.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "calling context; hardware performance monitor;
                 profiling",
}

@Article{Joao:2009:FRC,
  author =       "Jos{\'e} A. Joao and Onur Mutlu and Yale N. Patt",
  title =        "Flexible reference-counting-based hardware
                 acceleration for garbage collection",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "37",
  number =       "3",
  pages =        "418--428",
  month =        jun,
  year =         "2009",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/1555754.1555806",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Tue Aug 11 18:12:55 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Languages featuring automatic memory management
                 (garbage collection) are increasingly used to write all
                 kinds of applications because they provide clear
                 software engineering and security advantages.
                 Unfortunately, garbage collection imposes a toll on
                 performance and introduces pause times, making such
                 languages less attractive for high-performance or
                 real-time applications. Much progress has been made
                 over the last five decades to reduce the overhead of
                 garbage collection, but it remains significant.\par

                 We propose a cooperative hardware-software technique to
                 reduce the performance overhead of garbage collection.
                 The key idea is to reduce the frequency of garbage
                 collection by efficiently detecting and reusing dead
                 memory space in hardware via hardware-implemented
                 reference counting. Thus, even though software garbage
                 collections are still eventually needed, they become
                 much less frequent and have less impact on overall
                 performance. Our technique is compatible with a variety
                 of software garbage collection algorithms, does not
                 break compatibility with existing software, and reduces
                 garbage collection time by 31\% on average on the Java
                 DaCapo benchmarks running on the production build of
                 the Jikes RVM, which uses a state-of-the-art
                 generational garbage collector.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
  keywords =     "garbage collection; reference counting",
}

@Article{Joshi:2009:RDP,
  author =       "Pallavi Joshi and Chang-Seo Park and Koushik Sen and
                 Mayur Naik",
  title =        "A randomized dynamic program analysis technique for
                 detecting real deadlocks",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "110--120",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1543135.1542489",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present a novel dynamic analysis technique that
                 finds real deadlocks in multi-threaded programs. Our
                 technique runs in two stages. In the first stage, we
                 use an imprecise dynamic analysis technique to find
                 potential deadlocks in a multi-threaded program by
                 observing an execution of the program. In the second
                 stage, we control a random thread scheduler to create
                 the potential deadlocks with high probability. Unlike
                 other dynamic analysis techniques, our approach has the
                 advantage that it does not give any false warnings. We
                 have implemented the technique in a prototype tool for
                 Java, and have experimented on a number of large
                 multi-threaded Java programs. We report a number of
                 previously known and unknown real deadlocks that were
                 found in these benchmarks.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "active testing; concurrency; deadlock detection;
                 dynamic program analysis",
}

@Article{Kagawa:2009:WWB,
  author =       "Koji Kagawa",
  title =        "{WAPPEN}: a {Web}-based application framework for
                 programming and its {\tt bison\slash flex} plug-in",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "383--383",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1563025",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "This poster presents an Eclipse RCP-based application
                 framework named Wappen for learning programming, and
                 especially, its plugin for Bison and Flex. In courses
                 such as compiler construction and programming
                 languages, learners have to use multiple languages.
                 Time and effort spent by learners on installation and
                 configuration of programming environments are not
                 negligible. Wappen provides an infrastructure on which
                 teachers can arrange simple Web-based programming
                 environments for various programming languages by
                 writing plug-ins. Wappen for Oolong has been
                 successfully used in our compiler construction lab,
                 where Oolong is an assembly language for the Java
                 Virtual Machine. This poster introduces Wappen for
                 Bison/Flex that tries to help learners avoid pitfalls
                 of Bison/Flex in some respects. It is planned to be put
                 into practical use in our compiler construction lab
                 this year.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Kalibera:2009:CBV,
  author =       "Tomas Kalibera and Pavel Parizek and Ghaith Haddad and
                 Gary T. Leavens and Jan Vitek",
  title =        "Challenge benchmarks for verification of real-time
                 programs: (abstract only)",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "11",
  pages =        "7--8",
  month =        nov,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1816027.1816037",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:03:29 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Real-time systems, and in particular safety-critical
                 systems, are a rich source of challenges for the
                 program verification community as software errors can
                 have catastrophic consequences. Unfortunately, it is
                 nearly impossible to find representative
                 safety-critical programs in the public domain. This has
                 been significant impediment to research in the field,
                 as it is very difficult to validate new ideas or
                 techniques experimentally. This paper presents open
                 challenges for verification of real-time systems in the
                 context of the Real-time Specification for Java. But,
                 our main contribution is a family of programs, called
                 CDx, which we present as an open source benchmark for
                 the verification community.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Kats:2009:PRF,
  author =       "Lennart C. L. Kats and Maartje de Jonge and Emma
                 Nilsson-Nyman and Eelco Visser",
  title =        "Providing rapid feedback in generated modular language
                 environments: adding error recovery to scannerless
                 generalized-{LR} parsing",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "445--464",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640089.1640122",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Integrated development environments (IDEs) increase
                 programmer productivity, providing rapid, interactive
                 feedback based on the syntax and semantics of a
                 language. A heavy burden lies on developers of new
                 languages to provide adequate IDE support. Code
                 generation techniques provide a viable, efficient
                 approach to semi-automatically produce IDE plugins. Key
                 components for the realization of plugins are the
                 language's grammar and parser. For embedded languages
                 and language extensions, constituent IDE plugin modules
                 and their grammars can be combined. Unlike conventional
                 parsing algorithms, scannerless generalized-LR parsing
                 supports the full set of context-free grammars, which
                 is closed under composition, and hence can parse
                 language embeddings and extensions composed from
                 separate grammar modules. To apply this algorithm in an
                 interactive environment, this paper introduces a novel
                 error recovery mechanism, which allows it to be used
                 with files with syntax errors -- common in interactive
                 editing. Error recovery is vital for providing rapid
                 feedback in case of syntax errors, as most IDE services
                 depend on the parser from syntax highlighting to
                 semantic analysis and cross-referencing. We base our
                 approach on the principles of island grammars, and
                 derive permissive grammars with error recovery
                 productions from normal SDF grammars. To cope with the
                 added complexity of these grammars, we adapt the parser
                 to support backtracking. We evaluate the recovery
                 quality and performance of our approach using a set of
                 composed languages, based on Java and Stratego.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "composable languages; embedded languages; error
                 recovery; language extensions; permissive grammars;
                 SDF; SGLR",
}

@Article{Kaur:2009:VMC,
  author =       "Parminder Kaur and Hardeep Singh",
  title =        "Version management and composition of software
                 components in different phases of software development
                 life cycle",
  journal =      j-SIGSOFT,
  volume =       "34",
  number =       "4",
  pages =        "1--9",
  month =        jul,
  year =         "2009",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1543405.1543416",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:45 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "The key factor of component-based software development
                 is the composition of pre-fabricated components.
                 Although research efforts have focused on this issue,
                 yet the optimal performance of component-based systems
                 has not been achieved. If the concept of version
                 management is introduced along with composition
                 technology then it will help in locating the component
                 mismatch in the earlier stages of software development
                 life cycle. This paper analyses the significance of
                 version management and composition of software
                 components in different phases like analysis phase,
                 design phase and deployment phase of software
                 development life cycle. A comparative analysis of
                 different available component models like COM, {.NET},
                 Enterprise JavaBeans (EJB), CORBA, SOFA, UML 2.0 and
                 Web Services with respect to these two issues is also
                 discussed.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Khoo:2009:DJA,
  author =       "Yit Phang Khoo and Michael Hicks and Jeffrey S. Foster
                 and Vibha Sazawal",
  title =        "Directing {JavaScript} with arrows",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "12",
  pages =        "49--58",
  month =        dec,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1837513.1640143",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Aug 31 22:04:07 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "JavaScript programmers make extensive use of
                 event-driven programming to help build responsive web
                 applications. However, standard approaches to
                 sequencing events are messy, and often lead to code
                 that is difficult to understand and maintain. We have
                 found that {\em arrows}, a generalization of {\em
                 monads}, are an elegant solution to this problem.
                 Arrows allow us to easily write asynchronous programs
                 in small, modular units of code, and flexibly compose
                 them in many different ways, while nicely abstracting
                 the details of asynchronous program composition. In
                 this paper, we present Arrowlets, a new JavaScript
                 library that offers arrows to the everyday JavaScript
                 programmer. We show how to use Arrowlets to construct a
                 variety of state machines, including state machines
                 that branch and loop. We also demonstrate how Arrowlets
                 separate computation from composition with examples
                 such as a drag-and-drop handler and a bubblesort
                 animation.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "arrowlets; arrows; events; JavaScript; Web
                 programming",
}

@Article{Kumar:2009:GCM,
  author =       "Avadhesh Kumar and Rajesh Kumar and P. S. Grover",
  title =        "Generalized coupling measure for aspect-oriented
                 systems",
  journal =      j-SIGSOFT,
  volume =       "34",
  number =       "3",
  pages =        "1--6",
  month =        may,
  year =         "2009",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1527202.1527209",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:44 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Coupling is an internal software attribute that can be
                 used to indicate the degree of interdependence among
                 the components of a software system. Coupling in
                 software has been linked to predict external software
                 quality attributes such as fault-proneness, ripple
                 effects, changeability, impact analysis etc. Despite an
                 interesting body of work for measuring coupling in
                 Aspect-Oriented (AO) Systems, there is no complete
                 generic coupling framework for AO systems. In this
                 paper, we have proposed a generic coupling measurement
                 framework that takes into account three, the most well
                 known families of Aspect-Oriented Programming (AOP)
                 languages, AspectJ, CaesarJ and Hyper/J. This paper
                 contributes to an enhanced understanding of coupling in
                 AO systems, which in turn helps to (i) define new
                 coupling metrics which permit the analysis and
                 comparison of Java, AspectJ, CaesarJ and Hyper/J
                 implementations, and (ii) integrate different existing
                 measures and examine same concepts from different
                 perspectives.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Labouseur:2009:BBO,
  author =       "Alan G. Labouseur",
  title =        "A browser-based operating systems project:
                 {JavaScript} adventures in dinosaur slaying",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "4",
  pages =        "71--75",
  month =        dec,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1709424.1709449",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:27 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper presents one educator's experience with a
                 browser-based project for an upper-level/graduate
                 Operating Systems course. The author explains the
                 project goals, why the browser in general and
                 JavaScript in particular are so well suited for this
                 task, challenges and their solutions, the incremental
                 assignments that ultimately result in a fairly complex
                 OS simulation by the end of the semester, the response
                 to the project, and some ideas about where to go
                 next.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Leather:2009:RPE,
  author =       "Hugh Leather and Michael O'Boyle and Bruce Worton",
  title =        "Raced profiles: efficient selection of competing
                 compiler optimizations",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "7",
  pages =        "50--59",
  month =        jul,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542452.1542460",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jun 26 12:07:39 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Many problems in embedded compilation require one set
                 of optimizations to be selected over another based on
                 run time performance. Self-tuned libraries, iterative
                 compilation and machine learning techniques all compare
                 multiple compiled program versions. In each, program
                 versions are timed to determine which has the best
                 performance.\par

                 The program needs to be run multiple times for each
                 version because there is noise inherent in most
                 performance measurements. The number of runs must be
                 enough to compare different versions, despite the
                 noise, but executing more than this will waste time and
                 energy. The compiler writer must either risk taking too
                 few runs, potentially getting incorrect results, or
                 taking too many runs increasing the time for their
                 experiments or reducing the number of program versions
                 evaluated. Prior works choose constant size sampling
                 plans where each compiled version is executed a fixed
                 number of times without regard to the level of
                 noise.\par

                 In this paper we develop a sequential sampling plan
                 which can automatically adapt to the experiment so that
                 the compiler writer can have both confidence in the
                 results and also be sure that no more runs were taken
                 than were needed. We show that our system is able to
                 correctly determine the best optimization settings with
                 between 76\% and 87\% fewer runs than needed by a brute
                 force, constant sampling size approach. We also compare
                 our approach to JavaSTATS(10); we needed 77\% to 89\%
                 fewer runs than it needed.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "iterative compilation; statistics",
}

@Article{Lee:2009:DAY,
  author =       "Byeongcheol Lee and Martin Hirzel and Robert Grimm and
                 Kathryn S. McKinley",
  title =        "Debug all your code: portable mixed-environment
                 debugging",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "207--226",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640105",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Programmers build large-scale systems with multiple
                 languages to reuse legacy code and leverage languages
                 best suited to their problems. For instance, the same
                 program may use Java for ease-of-programming and C to
                 interface with the operating system. These programs
                 pose significant debugging challenges, because
                 programmers need to understand and control code across
                 languages, which may execute in different environments.
                 Unfortunately, traditional multilingual debuggers
                 require a {\em single\/} execution
                 environment.\par

                 This paper presents a novel {\em composition\/}
                 approach to building portable mixed-environment
                 debuggers, in which an intermediate agent interposes on
                 language transitions, controlling and reusing
                 single-environment debuggers. We implement debugger
                 composition in {\em Blink}, a debugger for Java, C, and
                 the Jeannie programming language. We show that Blink is
                 (1) relatively simple: it requires modest amounts of
                 new code; (2) portable: it supports multiple Java
                 Virtual Machines, C compilers, operating systems, and
                 component debuggers; and (3) powerful: composition
                 eases debugging, while supporting new mixed-language
                 expression evaluation and Java Native Interface (JNI)
                 bug diagnostics. In real-world case studies, we show
                 that language-interface errors require
                 single-environment debuggers to restart execution
                 multiple times, whereas Blink directly diagnoses them
                 with one execution. We also describe extensions for
                 other mixed-environments to show debugger composition
                 will generalize.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "composition; foreign function interface; JNI",
}

@Article{Lemos:2009:ITO,
  author =       "Ot{\'a}vio Augusto Lazzarini Lemos and Ivan Gustavo
                 Franchin and Paulo Cesar Masiero",
  title =        "Integration testing of {Object-Oriented} and
                 {Aspect-Oriented} programs: a structural pairwise
                 approach for {Java}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "74",
  number =       "10",
  pages =        "861--878",
  day =          "15",
  month =        aug,
  year =         "2009",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:29 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Lublinerman:2009:PPO,
  author =       "Roberto Lublinerman and Swarat Chaudhuri and Pavol
                 Cerny",
  title =        "Parallel programming with object assemblies",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "61--80",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640089.1640095",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present {\em Chorus}, a high-level parallel
                 programming model suitable for irregular,
                 heap-manipulating applications like mesh refinement and
                 epidemic simulations, and {\em JChorus}, an
                 implementation of the model on top of Java. One goal of
                 Chorus is to express the {\em dynamic\/} and
                 instance-dependent patterns of memory access that are
                 common in typical irregular applications. Its other
                 focus is {\em locality of effects\/}: the property that
                 in many of the same applications, typical imperative
                 commands only affect small, local regions in the shared
                 heap.\par

                 Chorus addresses dynamism and locality through the
                 unifying abstraction of an {\em object assembly\/}: a
                 local region in a shared data structure equipped with a
                 short-lived, speculative thread of control. The thread
                 of control in an assembly can only access objects
                 within the assembly. While objects can migrate from
                 assembly to assembly, such migration is {\em local\/}
                 --i.e., objects only move from one assembly to a
                 neighboring one--and does not lead to aliasing.
                 Programming primitives include a {\em merge\/}
                 operation, by which an assembly merges with an adjacent
                 assembly, and a {\em split\/} operation, which splits
                 an assembly into smaller ones. Our abstractions are
                 race and deadlock-free, and inherently
                 data-centric.\par

                 We demonstrate that Chorus and JChorus allow natural
                 programming of several important applications
                 exhibiting irregular data-parallelism. We also present
                 an implementation of JChorus based on a many-to-one
                 mapping of assemblies to lower-level threads, and
                 report on preliminary performance numbers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "data parallelism; irregular parallelism; ownership;
                 parallel programming; programming abstractions",
}

@Article{Luxton-Reilly:2009:SFI,
  author =       "Andrew Luxton-Reilly and Paul Denny",
  title =        "A simple framework for interactive games in {CS1}",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "1",
  pages =        "216--220",
  month =        mar,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1539024.1508947",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE '09.",
  abstract =     "Computer games are widely used in programming
                 assignments to motivate students. Traditionally, these
                 have been text-based games such as hangman, but as Java
                 has become widespread, the use of graphics and
                 graphical games has increased correspondingly. We
                 report on a framework used as scaffolding to help
                 students understand how to design and implement a
                 variety of interactive games. We share our experiences
                 using this framework for assignments over a number of
                 years.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Makela:2009:CBC,
  author =       "Sami M{\"a}kel{\"a} and Ville Lepp{\"a}nen",
  title =        "Client-based cohesion metrics for {Java} programs",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "74",
  number =       "5--6",
  pages =        "355--378",
  day =          "1",
  month =        mar,
  year =         "2009",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:26 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Malik:2009:SCU,
  author =       "Avinash Malik and Zoran Salcic and Partha S. Roop",
  title =        "{SystemJ} compilation using the {Tandem Virtual
                 Machine} approach",
  journal =      j-TODAES,
  volume =       "14",
  number =       "3",
  pages =        "34:1--34:??",
  month =        may,
  year =         "2009",
  CODEN =        "ATASFO",
  DOI =          "https://doi.org/10.1145/1529255.1529256",
  ISSN =         "1084-4309 (print), 1557-7309 (electronic)",
  ISSN-L =       "1084-4309",
  bibdate =      "Wed Jun 3 16:12:53 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/todaes/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "SystemJ is a language based on the Globally
                 Asynchronous Locally Synchronous (GALS) paradigm. A
                 SystemJ program is a collection of GALS nodes, also
                 called clock domains, and each clock domain is a
                 synchronous program that extends the Java language.
                 Initial compilation of SystemJ has been to standard
                 Java executing on a Java Virtual Machine (JVM), which
                 is both inefficient and bulky for small embedded
                 systems. This article proposes a new approach for
                 compiling and executing SystemJ using a new type of
                 virtual machine, called a Tandem Virtual Machine (TVM).
                 The TVM approach provides an efficient implementation
                 of SystemJ on both standard processors and
                 resource-constrained embedded processors. The new
                 approach is based on separating the control-driven and
                 data-driven operations for execution on two virtual
                 machines. While the JVM executes the data-driven
                 operations, a Control Virtual Machine (CVM) is
                 introduced to execute the control-driven parts of a
                 SystemJ program. The TVM approach is capable of
                 handling all data-driven and control-driven operations
                 required by the GALS model. The benchmark results show
                 that the TVM has code size improvements of over 60\% on
                 average and also a substantial improvement in execution
                 speed over standard Java-based compilation.",
  acknowledgement = ack-nhfb,
  articleno =    "34",
  fjournal =     "ACM Transactions on Design Automation of Electronic
                 Systems (TODAES)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J776",
  keywords =     "compilation; esterel; System-level design; SystemJ;
                 virtual machines",
}

@Article{Marchetto:2009:OST,
  author =       "Alessandro Marchetto and Filippo Ricca",
  title =        "From objects to services: toward a stepwise migration
                 approach for {Java} applications",
  journal =      j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER,
  volume =       "11",
  number =       "6",
  pages =        "427--440",
  month =        dec,
  year =         "2009",
  CODEN =        "????",
  ISSN =         "1433-2779 (print), 1433-2787 (electronic)",
  ISSN-L =       "1433-2779",
  bibdate =      "Sat Sep 11 07:13:37 MDT 2010",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1433-2779&volume=11&issue=6;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=1433-2779&volume=11&issue=6&spage=427",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal on Software Tools for Technology
                 Transfer: STTT",
}

@Article{Matthews:2009:OSM,
  author =       "Jacob Matthews and Robert Bruce Findler",
  title =        "Operational semantics for multi-language programs",
  journal =      j-TOPLAS,
  volume =       "31",
  number =       "3",
  pages =        "12:1--12:44",
  month =        apr,
  year =         "2009",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1498926.1498930",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Thu Apr 16 14:08:54 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Interoperability is big business, a fact to which
                 .NET, the JVM, and COM can attest. Language designers
                 are well aware of this, and they are designing
                 programming languages that reflect it --- for instance,
                 SML.NET, F\#, Mondrian, and Scala all treat
                 interoperability as a central design feature. Still,
                 current multi-language research tends not to focus on
                 the semantics of these features, but only on how to
                 implement them efficiently. In this article, we attempt
                 to rectify that by giving a technique for specifying
                 the operational semantics of a multi-language system as
                 a composition of the models of its constituent
                 languages. Our technique abstracts away the low-level
                 details of interoperability like garbage collection and
                 representation coherence, and lets us focus on semantic
                 properties like type-safety, equivalence, and
                 termination behavior. In doing so it allows us to adapt
                 standard theoretical techniques such as
                 subject-reduction, logical relations, and operational
                 equivalence for use on multi-language systems.
                 Generally speaking, our proofs of properties in a
                 multi-language context are mutually referential
                 versions of their single language counterparts.\par

                 We demonstrate our technique with a series of
                 strategies for embedding a Scheme-like language into an
                 ML-like language. We start by connecting very simple
                 languages with a very simple strategy, and work our way
                 up to languages that interact in sophisticated ways and
                 have sophisticated features such as polymorphism and
                 effects. Along the way, we prove relevant results such
                 as type-soundness and termination for each system we
                 present using adaptations of standard
                 techniques.\par

                 Beyond giving simple expressive models, our studies
                 have uncovered several interesting facts about
                 interoperability. For example, higher-order function
                 contracts naturally emerge as the glue to ensure that
                 interoperating languages respect each other's type
                 systems. Our models also predict that the embedding
                 strategy where foreign values are opaque is as
                 expressive as the embedding strategy where foreign
                 values are translated to corresponding values in the
                 other language, and we were able to experimentally
                 verify this behavior using PLT Scheme's foreign
                 function interface.",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "interoperability; Operational semantics",
}

@Article{McCown:2009:WWS,
  author =       "Frank McCown and Catherine C. Marshall and Michael L.
                 Nelson",
  title =        "Why {Web} sites are lost (and how they're sometimes
                 found)",
  journal =      j-CACM,
  volume =       "52",
  number =       "11",
  pages =        "141--145",
  month =        nov,
  year =         "2009",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/1592761.1592794",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Oct 23 15:03:46 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Introduction\par

                 The web is in constant flux---new pages and Web sites
                 appear daily, and old pages and sites disappear almost
                 as quickly. One study estimates that about two percent
                 of the Web disappears from its current location every
                 week.$^2$ Although Web users have become accustomed to
                 seeing the infamous '404 Not Found' page, they are more
                 taken aback when they own, are responsible for, or have
                 come to rely on the missing material.\par

                 Web archivists like those at the Internet Archive have
                 responded to the Web's transience by archiving as much
                 of it as possible, hoping to preserve snapshots of the
                 Web for future generations.$^3$ Search engines have
                 also responded by offering pages that have been cached
                 as a result of the indexing process. These
                 straightforward archiving and caching efforts have been
                 used by the public in unintended ways: individuals and
                 organizations have used them to restore their own lost
                 Web sites.$^5$ \par

                 To automate recovering lost Web sites, we created a
                 Web-repository crawler named Warrick that restores lost
                 resources from the holdings of four Web repositories:
                 Internet Archive, Google, Live Search (now Bing), and
                 Yahoo;$^6$ we refer to these Web repositories
                 collectively as the {\em Web Infrastructure\/} (WI). We
                 call this after-loss recovery {\em Lazy Preservation\/}
                 (see the sidebar for more information). Warrick can
                 only recover what is accessible to the WI, namely the
                 crawlable Web. There are numerous resources that cannot
                 be found in the WI: password protected content, pages
                 without incoming links or protected by the robots
                 exclusion protocol, and content hidden behind Flash or
                 JavaScript interfaces. Most importantly, WI crawlers do
                 not have access to the server-side components (for
                 example, scripts, configuration files, databases, among
                 others) of a Web site.\par

                 Nevertheless, upon Warrick's public release in 2005, we
                 received many inquiries about its usage and collected a
                 handful of anecdotes about the Web sites individuals
                 and organizations had lost and wanted to recover. Were
                 these Web sites representative? What types of Web
                 resources were people losing? Given the inherent
                 limitations of the WI, were Warrick users recovering
                 enough material to reconstruct the site? Were these
                 losses changing their behavior, or was the availability
                 of cached material reinforcing a 'lazy' approach to
                 preservation?\par

                 We constructed an online survey to explore these
                 questions and conducted a set of in-depth interviews
                 with survey respondents to clarify the results.
                 Potential participants were solicited by us or the
                 Internet Archive, or they found a link to the survey
                 from the Warrick Web site. A total of 52 participants
                 completed the survey regarding 55 lost Web sites, and
                 seven of the participants allowed us to follow-up with
                 telephone or instant messaging interviews. Participants
                 were divided into two groups:\par

                 1. {\em Personal loss:\/} Those who had lost (and tried
                 to recover) a Web site that they had personally
                 created, maintained or owned (34 participants who lost
                 37 Web sites).\par

                 2. {\em Third party:\/} Those who had recovered someone
                 else's lost Web site (18 participants who recovered 18
                 Web sites).",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Meyerovich:2009:FPL,
  author =       "Leo A. Meyerovich and Arjun Guha and Jacob Baskin and
                 Gregory H. Cooper and Michael Greenberg and Aleks
                 Bromfield and Shriram Krishnamurthi",
  title =        "{Flapjax}: a programming language for {Ajax}
                 applications",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "1--20",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640091",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper presents Flapjax, a language designed for
                 contemporary Web applications. These applications
                 communicate with servers and have rich, interactive
                 interfaces. Flapjax provides two key features that
                 simplify writing these applications. First, it provides
                 {\em event streams}, a uniform abstraction for
                 communication within a program as well as with external
                 Web services. Second, the language itself is reactive:
                 it automatically tracks data dependencies and
                 propagates updates along those dataflows. This allows
                 developers to write reactive interfaces in a
                 declarative and compositional style.\par

                 Flapjax is built on top of JavaScript. It runs on
                 unmodified browsers and readily interoperates with
                 existing JavaScript code. It is usable as either a
                 programming language (that is compiled to JavaScript)
                 or as a JavaScript library, and is designed for both
                 uses. This paper presents the language, its design
                 decisions, and illustrative examples drawn from several
                 working Flapjax applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "functional reactive programming; JavaScript; web
                 programming",
}

@Article{Millstein:2009:EMP,
  author =       "Todd Millstein and Christopher Frost and Jason Ryder
                 and Alessandro Warth",
  title =        "Expressive and modular predicate dispatch for {Java}",
  journal =      j-TOPLAS,
  volume =       "31",
  number =       "2",
  pages =        "7:1--7:54",
  month =        feb,
  year =         "2009",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1462166.1462168",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Thu Feb 19 14:20:38 MST 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "{\em Predicate dispatch\/} is an object-oriented (OO)
                 language mechanism for determining the method
                 implementation to be invoked upon a message send. With
                 predicate dispatch, each method implementation includes
                 a predicate guard specifying the conditions under which
                 the method should be invoked, and logical implication
                 of predicates determines the method overriding
                 relation. Predicate dispatch naturally unifies and
                 generalizes several common forms of dynamic dispatch,
                 including traditional OO dispatch, multimethod
                 dispatch, and functional-style pattern matching.
                 Unfortunately, prior languages supporting predicate
                 dispatch have had several deficiencies that limit the
                 practical utility of this language feature.\par

                 We describe JPred, a backward-compatible extension to
                 Java supporting predicate dispatch. While prior
                 languages with predicate dispatch have been extensions
                 to toy or nonmainstream languages, we show how
                 predicate dispatch can be naturally added to a
                 traditional OO language. While prior languages with
                 predicate dispatch have required the whole program to
                 be available for typechecking and compilation, JPred
                 retains Java's modular typechecking and compilation
                 strategies. While prior languages with predicate
                 dispatch have included special-purpose algorithms for
                 reasoning about predicates, JPred employs
                 general-purpose, off-the-shelf decision procedures. As
                 a result, JPred's type system is more flexible,
                 allowing several useful programming idioms that are
                 spuriously rejected by those other languages. After
                 describing the JPred language informally, we present an
                 extension to Featherweight Java that formalizes the
                 language and its modular type system, which we have
                 proven sound. Finally, we discuss two case studies that
                 illustrate the practical utility of JPred, including
                 its use in the detection of several errors.",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "dynamic dispatch; modular typechecking; Predicate
                 dispatch",
}

@Article{Milner:2009:BMJ,
  author =       "Walter W. Milner",
  title =        "A broken metaphor in {Java}",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "4",
  pages =        "76--77",
  month =        dec,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1709424.1709450",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:27 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "In this paper, the matrix of metaphors in which Java
                 is located is outlined, and the way that students
                 understand event-handling through the EventListener
                 metaphor is described, supported by interview extracts.
                 This clashes both with the typical syntax of natural
                 language imperatives, and with the actual mechanism of
                 Java event handling. It is therefore a source of some
                 confusion in students.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Miura:2009:AGI,
  author =       "Motoki Miura and Taro Sugihara and Susumu Kunifuji",
  title =        "{Anchor Garden}: an interactive workbench for basic
                 data concept learning in object oriented programming
                 languages",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "141--145",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562925",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "We propose Anchor Garden (AG), an interactive
                 workbench software for learning fundamentals of data
                 structures with the concepts of type, variable, object,
                 and their relations in a strongly typed object-oriented
                 programming language (OOPL) such as Java or C\#.
                 Learners can approach the basic data-handling concepts
                 of OOPLs by direct manipulation of graphical models in
                 AG. In addition, the learner can correlate his/her
                 manipulation and notation of source code because AG
                 automatically generates appropriate source-code
                 corresponding to this manipulation. Experimental
                 results showed a tendency of a learning effect with AG
                 and high correlations between concept understanding and
                 programming ability. Thus, AG has the potential to
                 enhance the programming ability of novice
                 programmers.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Muir:2009:IGE,
  author =       "James A. Muir and Paul C. {Van Oorschot}",
  title =        "{Internet} geolocation: {Evasion} and counterevasion",
  journal =      j-COMP-SURV,
  volume =       "42",
  number =       "1",
  pages =        "4:1--4:23",
  month =        dec,
  year =         "2009",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/1592451.1592455",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Mon Mar 15 11:55:39 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Internet geolocation technology aims to determine the
                 physical (geographic) location of Internet users and
                 devices. It is currently proposed or in use for a wide
                 variety of purposes, including targeted marketing,
                 restricting digital content sales to authorized
                 jurisdictions, and security applications such as
                 reducing credit card fraud. This raises questions about
                 the veracity of claims of accurate and reliable
                 geolocation. We provide a survey of Internet
                 geolocation technologies with an emphasis on
                 adversarial contexts; that is, we consider how this
                 technology performs against a knowledgeable adversary
                 whose goal is to evade geolocation. We do so by
                 examining first the limitations of existing techniques,
                 and then, from this base, determining how best to evade
                 existing geolocation techniques. We also consider two
                 further geolocation techniques which may be of use even
                 against adversarial targets: (1) the extraction of
                 client IP addresses using functionality introduced in
                 the 1.5 Java API, and (2) the collection of round-trip
                 times using HTTP refreshes. These techniques illustrate
                 that the seemingly straightforward technique of evading
                 geolocation by relaying traffic through a proxy server
                 (or network of proxy servers) is not as straightforward
                 as many end-users might expect. We give a demonstration
                 of this for users of the popular Tor anonymizing
                 network.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "adversarial environment; anonymizing network; evasion;
                 Internet geolocation; Tor",
}

@Article{Murtagh:2009:HAO,
  author =       "Jeanne Murtagh and Drew Hamilton",
  title =        "How {Ada} object orientation works",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "3",
  pages =        "5--6",
  month =        dec,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1647420.1647424",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:37 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Recommended Prerequisites: Familiarity with Object
                 Oriented Programming principles in a language such as
                 Ada, Java, or C++ is recommended. Previous experience
                 with C or Ada 83 is strongly recommended. This tutorial
                 will briefly describe the Object-Oriented (OO) features
                 provided by Ada 95, and then discuss in detail how some
                 of these features are implemented 'under the hood.' The
                 bulk of the tutorial will show, via code examples and
                 discussion, how dynamic dispatching is implemented in
                 Ada 95, issues associated with the class tag, and the
                 effort required to add a sibling class and a child
                 class to an existing class hierarchy. We will briefly
                 discuss several Ada 2005 features, and the value these
                 features add over an Ada 95 implementation of a
                 program. We will conclude with a brief discussion of
                 the 'overloaded vocabulary' issues encountered by Java
                 and C++ programmers as they transition to an Ada 95 or
                 Ada 2005 project 'on the fly.'",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
  keywords =     "Ada; interfacing; languages; object-oriented;
                 programming; real-time; software; systems",
}

@Article{Mytkowicz:2009:ICP,
  author =       "Todd Mytkowicz and Devin Coughlin and Amer Diwan",
  title =        "Inferred call path profiling",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "175--190",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640102",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Prior work has found call path profiles to be useful
                 for optimizers and programmer-productivity tools.
                 Unfortunately, previous approaches for collecting path
                 profiles are expensive: they need to either execute
                 additional instructions (to track calls and returns) or
                 they need to walk the stack. The state-of-the-art
                 techniques for call path profiling slow down the
                 program by 7\% (for C programs) and 20\% (for Java
                 programs). This paper describes an innovative technique
                 that collects minimal information from the running
                 program and later (offline) infers the full call paths
                 from this information.\par

                 The key insight behind our approach is that readily
                 available information during program execution - the
                 height of the call stack and the identity of the
                 current executing function - are good indicators of
                 calling context. We call this pair a {\em context
                 identifier}. Because more than one call path may have
                 the same context identifier, we show how to
                 disambiguate context identifiers by changing the sizes
                 of function activation records. This disambiguation has
                 no overhead in terms of executed instructions.\par

                 We evaluate our approach on the SPEC CPU 2006 C++ and C
                 benchmarks. We show that collecting context identifiers
                 slows down programs by 0.17\% (geometric mean). We can
                 map these context identifiers to the correct unique
                 call path 80\% of the time for C++ programs and 95\% of
                 the time for C programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "call path; calling context; calling context tree;
                 profiling; stack",
}

@Article{Ochem:2009:GAJa,
  author =       "Quentin Ochem",
  title =        "Gem \#57: {Ada} \slash {Java} cross dispatching",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "2",
  pages =        "50--52",
  month =        aug,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1620593.1620604",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:08 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In the preceding Ada/Java interfacing Gem, we saw how
                 to create calls from Ada to Java using ada2java and
                 callbacks. We're now going to go one step further, and
                 discuss a cross-language dispatching mechanism that
                 supports extension of an Ada tagged type in Java,
                 allowing the possibility of making dispatching calls
                 equally well from either side.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Ochem:2009:GAJb,
  author =       "Quentin Ochem",
  title =        "Gem \#58: {Ada} \slash {Java} exception handling",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "2",
  pages =        "53--55",
  month =        aug,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1620593.1620605",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:08 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Ada and Java are two languages that rely heavily on
                 exceptions. A large part of the Ada data model is based
                 on the fact that data is checked at run time, and will
                 raise various kinds of exceptions such as
                 Constraint\_Error when constraints are violated.
                 Similarly, there are many cases where Java performs
                 checks that can raise exceptions, among the most common
                 being checks on casts and null dereferences. It is
                 therefore extremely important to support exceptions
                 that are properly propagated from one language to the
                 other and even potentially caught/handled, without
                 having to worry about the language of origin.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Ochem:2009:GCA,
  author =       "Quentin Ochem",
  title =        "Gem \#56: creating {Ada} to {Java} calls using
                 {GNAT-AJIS}",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "2",
  pages =        "46--49",
  month =        aug,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1620593.1620603",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:08 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In a previous Gem we introduced ada2java, which maps
                 an Ada specification to a Java specification, to
                 support calls from Java to Ada. Even though ada2java
                 doesn't support creating Ada bindings of Java specs,
                 it's still possible to use it to support calls from Ada
                 to Java. In this Gem we'll look at a first possibility
                 of doing this, using callbacks (in Ada terms,
                 access-to-subprogram calls).",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Ochem:2009:GIA,
  author =       "Quentin Ochem",
  title =        "Gem \#55: introduction to {Ada} \slash {Java}
                 interfacing",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "2",
  pages =        "43--45",
  month =        aug,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1620593.1620602",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:08 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Interfacing Ada and Java is a very tricky problem. As
                 opposed to C, C++, or Fortran, the two languages
                 execute on two different environments, Java on the JVM
                 and Ada directly on the underlying OS. For this reason,
                 it is not possible to directly bind Java functions to
                 natively compiled Ada through a pragma Import. Two
                 solutions are offered to the developer: either
                 compiling the code directly to Java bytecode, using
                 GNAT for the JVM, or using the Java Native Interface
                 (JNI), allowing communication between the native and
                 JVM environments. In this Gem we will take a look at
                 the latter. Using this JNI layer manually is very
                 error-prone and tedious. Fortunately, AdaCore provides
                 a set of tools for automating the interface generation,
                 through GNAT-AJIS. This Gem is the first of a series
                 showing how this toolset can be used to create a mixed
                 Ada /Java application.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
}

@Article{Ochem:2009:MLP,
  author =       "Quentin Ochem",
  title =        "Multi-language programming with {Ada}",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "3",
  pages =        "19--20",
  month =        dec,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1647420.1647431",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:37 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Building complex applications often requires putting
                 together pieces of software or requirements that have
                 not been made to work together in the first place.
                 Thinking of a project with a high integrity kernel
                 written in Ada, using a set of low level libraries and
                 drivers written in C or C++, with a graphical interface
                 done in Java and unit tests driven by python is not
                 thinking of science fiction anymore. It's actual
                 concrete and day-to-day work. Unfortunately, having all
                 of these technologies talking to each other is not
                 straightforward, and often requires a deep knowledge of
                 both sides of the technology and extensive manual
                 work.\par

                 In this tutorial, we'll first study how to interface
                 directly Ada with native languages, such as C or C++.
                 We'll then have a deep look at communications with
                 languages running on virtual machines, such as Java,
                 Python and the .NET framework. Finally, we'll see how
                 Ada can be interfaced with an arbitrary language using
                 a middleware solution, such as SOAP or CORBA We?ll see
                 how the communication can be manually done using low
                 level features and APIs, and how a substantial part of
                 this process can be automated using high level binding
                 generators.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGADA Ada Letters",
  keywords =     "Ada; APIs; communication; interfacing; languages;
                 middleware; programming; software; systems",
}

@Article{Ogasawara:2009:NAM,
  author =       "Takeshi Ogasawara",
  title =        "{NUMA}-aware memory manager with dominant-thread-based
                 copying {GC}",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "377--390",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640089.1640117",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We propose a novel online method of identifying the
                 preferred NUMA nodes for objects with negligible
                 overhead during the garbage collection time as well as
                 object allocation time. Since the number of CPUs (or
                 NUMA nodes) is increasing recently, it is critical for
                 the memory manager of the runtime environment of an
                 object-oriented language to exploit the low latency of
                 local memory for high performance. To locate the CPU of
                 a thread that frequently accesses an object, prior
                 research uses the runtime information about memory
                 accesses as sampled by the hardware. However, the
                 overhead of this approach is high for a garbage
                 collector.\par

                 Our approach uses the information about which thread
                 can exclusively access an object, or the {\em Dominant
                 Thread\/} (DoT). The dominant thread of an object is
                 the thread that often most accesses an object so that
                 we do not require memory access samples. Our NUMA-aware
                 GC performs DoT based object copying, which copies each
                 live object to the CPU where the dominant thread was
                 last dispatched before GC. The dominant thread
                 information is known from the thread stack and from
                 objects that are locked or reserved by threads and is
                 propagated in the object reference graph.\par

                 We demonstrate that our approach can improve the
                 performance of benchmark programs such as SPECpower
                 ssj2008, SPECjbb2005, and SPECjvm2008. We prototyped a
                 NUMA-aware memory manager on a modified version of IBM
                 Java VM and tested it on a cc-NUMA POWER6 machine with
                 eight NUMA nodes. Our NUMA-aware GC achieved
                 performance improvements up to 14.3\% and 2.0\% on
                 average over a JVM that only used the NUMA-aware
                 allocator. The total improvement using both the
                 NUMA-aware allocator and GC is up to 53.1\% and 10.8\%
                 on average.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "cc-NUMA; java",
}

@Article{Oiwa:2009:IMS,
  author =       "Yutaka Oiwa",
  title =        "Implementation of the memory-safe full {ANSI-C}
                 compiler",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "259--269",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542505",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper describes a completely memory-safe compiler
                 for C language programs that is fully compatible with
                 the ANSI C specification.\par

                 Programs written in C often suffer from nasty errors
                 due to dangling pointers and buffer overflow. Such
                 errors in Internet server programs are often exploited
                 by malicious attackers to crack an entire system. The
                 origin of these errors is usually corruption of
                 in-memory data structures caused by out-of-bound array
                 accesses. Usual C compilers do not provide any
                 protection against such out-of-bound access, although
                 many other languages such as Java and ML do provide
                 such protection. There have been several proposals for
                 preventing such memory corruption from various aspects:
                 runtime buffer overrun detectors, designs for new
                 C-like languages, and compilers for (subsets of) the C
                 language. However, as far as we know, none of them have
                 achieved full memory protection and full compatibility
                 with the C language specification at the same
                 time.\par

                 We propose the most powerful solution to this problem
                 ever presented. We have developed {\em Fail-Safe C}, a
                 memory-safe implementation of the full ANSI C language.
                 It detects and disallows all unsafe operations, yet
                 conforms to the full ANSI C standard (including casts
                 and unions). This paper introduces several
                 techniques--both compile-time and runtime--to reduce
                 the overhead of runtime checks, while still maintaining
                 100\% memory safety. This compiler lets programmers
                 easily make their programs safe without heavy rewriting
                 or porting of their code. It also supports many of the
                 'dirty tricks' commonly used in many existing C
                 programs, which do not strictly conform to the standard
                 specification. In this paper, we demonstrate several
                 real-world server programs that can be processed by our
                 compiler and present technical details and benchmark
                 results for it.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "C language; memory safety",
}

@Article{Overbey:2009:RLR,
  author =       "Jeffrey L. Overbey and Ralph E. Johnson",
  title =        "Regrowing a language: refactoring tools allow
                 programming languages to evolve",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "493--502",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640127",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Successful programming languages change as they age.
                 They tend to become more complex, and eventually some
                 features become outdated or are rarely used.
                 Programming tools for these languages become more
                 complex as well, since they have to support archaic
                 features. Old programs are hard to maintain, since
                 these archaic features are unfamiliar to modern
                 programmers. These problems can be solved by
                 refactoring tools that can transform programs to use
                 the modern form. We show that refactoring tools can
                 ease the cost of program evolution by examining the
                 evolution of two languages, Fortran and Java, and
                 showing that each change corresponds to an automatable
                 refactoring.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "fortran; java; language design; language evolution;
                 refactoring; restructuring",
}

@Article{Pandey:2009:EWR,
  author =       "R. K. Pandey",
  title =        "Exploiting web resources for teaching\slash learning
                 best software design tips",
  journal =      j-SIGSOFT,
  volume =       "34",
  number =       "6",
  pages =        "1--7",
  month =        nov,
  year =         "2009",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1640162.1640169",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:50 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Teaching software design principles using conventional
                 class room methodologies has its own limitations and as
                 such is less effective. Software design being the most
                 crucial phase of the Software Development Life Cycle
                 (SDLC) requires considerable practical experience on
                 the part of the teacher. The approach presented in this
                 paper may help the computer science/software
                 engineering students learn the advanced level software
                 design tips through Internet based resources. Such type
                 of approaches to teaching/learning software engineering
                 principles through Free/Open Source (F/OSS) resources
                 have been quite successfully used and reported in the
                 literature. The approach presented in this paper is
                 somewhat similar and may be of great help to the
                 persons having background in JAVA and {.NET}
                 technologies and involved in the design/development of
                 JAVA/.NET based components/applications. The approach
                 has a number of advantages over the approaches used by
                 others and is quite effective.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Papadimitriou:2009:JIS,
  author =       "Stergios Papadimitriou and Konstantinos Terzidis",
  title =        "{jLab}: Integrating a scripting interpreter with
                 {Java} technology for flexible and efficient scientific
                 computation",
  journal =      j-COMP-LANGS-SYS-STRUCT,
  volume =       "35",
  number =       "3",
  pages =        "217--240",
  month =        oct,
  year =         "2009",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1016/j.cl.2008.02.001",
  ISSN =         "1477-8424 (print), 1873-6866 (electronic)",
  ISSN-L =       "1477-8424",
  bibdate =      "Thu Mar 8 08:39:19 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/complngs.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/14778424",
  URL =          "http://www.sciencedirect.com/science/article/pii/S147784240800002X",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Languages, Systems \& Structures",
  journal-URL =  "http://www.sciencedirect.com/science/journal/14778424",
}

@Article{Papadimitriou:2009:SSJ,
  author =       "Stergios Papadimitriou and Konstantinos Terzidis and
                 Seferina Mavroudi and Spiridon Likothanassis",
  title =        "Scientific Scripting for the {Java} Platform with
                 {jLab}",
  journal =      j-COMPUT-SCI-ENG,
  volume =       "11",
  number =       "4",
  pages =        "50--60",
  month =        jul # "\slash " # aug,
  year =         "2009",
  CODEN =        "CSENFA",
  DOI =          "https://doi.org/10.1109/MCSE.2009.126",
  ISSN =         "1521-9615 (print), 1558-366X (electronic)",
  ISSN-L =       "1521-9615",
  bibdate =      "Thu May 13 11:08:14 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Computing in Science and Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}

@Article{Proulx:2009:UTJ,
  author =       "Viera K. Proulx and Weston Jossey",
  title =        "Unit testing in {Java}",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "349--349",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562990",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "The design of unit tests is a fundamental part of
                 learning to design programs. We present a Java library
                 that supports the design of tests for a novice
                 programmer, together with the test evaluation, and the
                 reporting of test results in an informative manner. The
                 tester library has been used at a number of
                 universities with a great success.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Pucella:2009:HST,
  author =       "Riccardo Pucella and Jesse A. Tov",
  title =        "{Haskell} session types with (almost) no class",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "2",
  pages =        "25--36",
  month =        feb,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1411286.1411290",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:38:26 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We describe an implementation of session types in
                 Haskell. Session types statically enforce that
                 client-server communication proceeds according to
                 protocols. They have been added to several concurrent
                 calculi, but few implementations of session types are
                 available.\par

                 Our embedding takes advantage of Haskell where
                 appropriate, but we rely on no exotic features. Thus
                 our approach translates with minimal modification to
                 other polymorphic, typed languages such as ML and Java.
                 Our implementation works with existing Haskell
                 concurrency mechanisms, handles multiple communication
                 channels and recursive session types, and infers
                 protocols automatically.\par

                 While our implementation uses unsafe operations in
                 Haskell, it does not violate Haskell's safety
                 guarantees. We formalize this claim in a concurrent
                 calculus with unsafe communication primitives over
                 which we layer our implementation of session types, and
                 we prove that the session types layer is safe. In
                 particular, it enforces that channel-based
                 communication follows consistent protocols.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "concurrency; embedded type systems; functional
                 programming; haskell; phantom types; session types;
                 type classes",
}

@Article{Qi:2009:MTS,
  author =       "Xin Qi and Andrew C. Myers",
  title =        "Masked types for sound object initialization",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "1",
  pages =        "53--65",
  month =        jan,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1594834.1480890",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:38 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "This paper presents a type-based solution to the
                 long-standing problem of object initialization.
                 Constructors, the conventional mechanism for object
                 initialization, have semantics that are surprising to
                 programmers and that lead to bugs. They also contribute
                 to the problem of null-pointer exceptions, which make
                 software less reliable. Masked types are a new
                 type-state mechanism that explicitly tracks the
                 initialization state of objects and prevents reading
                 from uninitialized fields. In the resulting language,
                 constructors are ordinary methods that operate on
                 uninitialized objects, and no special default value
                 (null) is needed in the language. Initialization of
                 cyclic data structures is achieved with the use of
                 conditionally masked types. Masked types are modular
                 and compatible with data abstraction. The type system
                 is presented in a simplified object calculus and is
                 proved to soundly prevent reading from uninitialized
                 fields. Masked types have been implemented as an
                 extension to Java, in which compilation simply erases
                 extra type information. Experience using the extended
                 language suggests that masked types work well on real
                 code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "conditional masks; cyclic data structures; data
                 abstraction; invariants; null pointer exceptions",
}

@Article{Qi:2009:SCB,
  author =       "Xin Qi and Andrew C. Myers",
  title =        "Sharing classes between families",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "281--292",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542508",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Class sharing is a new language mechanism for building
                 extensible software systems. Recent work has separately
                 explored two different kinds of extensibility: first,
                 family inheritance, in which an entire family of
                 related classes can be inherited, and second,
                 adaptation, in which existing objects are extended in
                 place with new behavior and state. Class sharing
                 integrates these two kinds of extensibility mechanisms.
                 With little programmer effort, objects of one family
                 can be used as members of another, while preserving
                 relationships among objects. Therefore, a family of
                 classes can be adapted in place with new functionality
                 spanning multiple classes. Object graphs can evolve
                 from one family to another, adding or removing
                 functionality even at run time.\par

                 Several new mechanisms support this flexibility while
                 ensuring type safety. Class sharing has been
                 implemented as an extension to Java, and its utility
                 for evolving and extending software is demonstrated
                 with realistic systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "family inheritance; masked types; views",
}

@Article{Rataj:2009:TJP,
  author =       "Artur Rataj and Bo{\.z}ena Wo{\'z}na and Andrzej
                 Zbrzezny",
  title =        "A Translator of {Java} Programs to {TADDs}",
  journal =      j-FUND-INFO,
  volume =       "93",
  number =       "1--3",
  pages =        "305--324",
  month =        jan,
  year =         "2009",
  CODEN =        "FUMAAJ",
  DOI =          "https://doi.org/10.3233/FI-2009-0104",
  ISSN =         "0169-2968 (print), 1875-8681 (electronic)",
  ISSN-L =       "0169-2968",
  bibdate =      "Sat Mar 5 17:08:45 MST 2016",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Fundamenta Informaticae",
  journal-URL =  "http://content.iospress.com/journals/fundamenta-informaticae",
}

@Book{Richards:2009:JMS,
  author =       "Mark Richards and Richard Monson-Haefel and David
                 Chappell",
  title =        "{Java Message Service}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xx + 305",
  year =         "2009",
  ISBN =         "0-596-52204-5",
  ISBN-13 =      "978-0-596-52204-9",
  LCCN =         "????",
  bibdate =      "Fri May 29 12:38:47 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.99",
  acknowledgement = ack-nhfb,
}

@Article{Roy:2009:LPF,
  author =       "Indrajit Roy and Donald E. Porter and Michael D. Bond
                 and Kathryn S. McKinley and Emmett Witchel",
  title =        "{Laminar}: practical fine-grained decentralized
                 information flow control",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "63--74",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1543135.1542484",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Decentralized information flow control (DIFC) is a
                 promising model for writing programs with powerful,
                 end-to-end security guarantees. Current DIFC systems
                 that run on commodity hardware can be broadly
                 categorized into two types: language-level and
                 operating system-level DIFC. Language level solutions
                 provide no guarantees against security violations on
                 system resources, like files and sockets. Operating
                 system solutions can mediate accesses to system
                 resources, but are inefficient at monitoring the flow
                 of information through fine-grained program data
                 structures.\par

                 This paper describes Laminar, the first system to
                 implement decentralized information flow control using
                 a single set of abstractions for OS resources and
                 heap-allocated objects. Programmers express security
                 policies by labeling data with secrecy and integrity
                 labels, and then access the labeled data in lexically
                 scoped security regions. Laminar enforces the security
                 policies specified by the labels at runtime. Laminar is
                 implemented using a modified Java virtual machine and a
                 new Linux security module. This paper shows that
                 security regions ease incremental deployment and limit
                 dynamic security checks, allowing us to retrofit DIFC
                 policies on four application case studies. Replacing
                 the applications' ad-hoc security policies changes less
                 than 10\% of the code, and incurs performance overheads
                 from 1\% to 56\%. Whereas prior DIFC systems only
                 support limited types of multithreaded programs,
                 Laminar supports a more general class of multithreaded
                 DIFC programs that can access heterogeneously labeled
                 data.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "information flow control; java virtual machine;
                 operating systems; security region",
}

@Article{Saito:2009:STC,
  author =       "Chieri Saito and Atsushi Igarashi",
  title =        "Self type constructors",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "263--282",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1639949.1640109",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Bruce and Foster proposed the language LOOJ, an
                 extension of Java with the notion of {\em MyType},
                 which represents the type of a self reference and
                 changes its meaning along with inheritance. {\em
                 MyType\/} is useful to write extensible yet type-safe
                 classes for objects with recursive interfaces, that is,
                 ones with methods that take or return objects of the
                 same type as the receiver.\par

                 Although LOOJ has also generics, {\em MyType\/} has
                 been introduced as a feature rather orthogonal to
                 generics. As a result, LOOJ cannot express an interface
                 that refers to the same generic class recursively but
                 with different type arguments. This is a significant
                 limitation because such an interface naturally arises
                 in practice, for example, in a generic collection class
                 with method map(), which converts a collection to the
                 same kind of collection of a different element type.
                 Altherr and Cremet and Moors, Piessens, and Odersky
                 gave solutions to this problem but they used a highly
                 sophisticated combination of advanced mechanisms such
                 as abstract type members, higher-order type
                 constructors, and F-bounded polymorphism.\par

                 In this paper, we give another solution by introducing
                 {\em self type constructors}, which integrate {\em
                 MyType\/} and generics so that {\em MyType\/} can take
                 type arguments in a generic class. Self type
                 constructors are tailored to writing recursive
                 interfaces more concisely than previous solutions. We
                 demonstrate the expressive power of self type
                 constructors by means of examples, formalize a core
                 language with self type constructors, and prove its
                 type safety.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "binary methods; generics; MyType; type constructor
                 polymorphism",
}

@Article{Scherer:2009:SSQ,
  author =       "William N. {Scherer, III} and Doug Lea and Michael L.
                 Scott",
  title =        "Scalable synchronous queues",
  journal =      j-CACM,
  volume =       "52",
  number =       "5",
  pages =        "100--111",
  month =        may,
  year =         "2009",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/1506409.1506431",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu Apr 23 12:42:30 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "In a thread-safe {\em concurrent queue}, consumers
                 typically wait for producers to make data available. In
                 a {\em synchronous queue}, producers similarly wait for
                 consumers to take the data. We present two new
                 nonblocking, contention-free synchronous queues that
                 achieve high performance through a form of {\em
                 dualism\/}: The underlying data structure may hold both
                 data and, symmetrically, {\em requests}.\par

                 We present performance results on 16-processor SPARC
                 and 4-processor Opteron machines. We compare our
                 algorithms to commonly used alternatives from the
                 literature and from the Java SE 5.0 class {\em
                 java.util.concurrent.SynchronousQueue\/} both directly
                 in synthetic microbenchmarks and indirectly as the core
                 of Java's {\em ThreadPoolExecutor\/} mechanism. Our new
                 algorithms consistently outperform the Java SE 5.0 {\em
                 SynchronousQueue\/} by factors of three in unfair mode
                 and 14 in fair mode; this translates to factors of two
                 and ten for the {\em ThreadPoolExecutor}. Our
                 synchronous queues have been adopted for inclusion in
                 Java 6.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Schwarz:2009:DFP,
  author =       "E. M. Schwarz and J. S. Kapernick and M. F.
                 Cowlishaw",
  title =        "Decimal floating-point support on the {IBM System z10}
                 processor",
  journal =      j-IBM-JRD,
  volume =       "53",
  number =       "1",
  pages =        "4:1--4:10",
  month =        jan # "\slash " # feb,
  year =         "2009",
  CODEN =        "IBMJAE",
  ISSN =         "0018-8646 (print), 2151-8556 (electronic)",
  ISSN-L =       "0018-8646",
  bibdate =      "Thu Jan 29 14:25:32 MST 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.research.ibm.com/journal/",
  URL =          "http://www.research.ibm.com/journal/rd/531/schwarz.pdf",
  abstract =     "The latest IBM zSeries processor, the IBM System z10
                 processor, provides hardware support for the decimal
                 floating-point (DFP) facility that was introduced on
                 the IBM System z9 processor. The z9 processor
                 implements the facility with a mixture of low-level
                 software and hardware assists. Recently, the IBM POWER6
                 processor-based System p 570 server introduced a
                 hardware implementation of the DFP facility. The latest
                 zSeries processor includes a decimal floating-point
                 unit based on the POWER6 processor DFP unit that has
                 been enhanced to also support the traditional zSeries
                 decimal fixed-point instruction set. This paper
                 explains the hardware implementation to support both
                 decimal fixed point and DFP and the new software
                 support for the DFP facility, including IBM z/OS, Java
                 JIT, and C/C++ compilers, as well as support in IBM DB2
                 and middleware.",
  acknowledgement = ack-nhfb,
  fjournal =     "IBM Journal of Research and Development",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520",
  keywords =     "ARITH-19",
  remark =       "Extended version of ARITH-18 article \cite{}.",
}

@Article{Seidman:2009:AFI,
  author =       "Robert H. Seidman",
  title =        "{Alice} first: {$3$D} interactive game programming",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "345--345",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562986",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "For introductory programming courses, we recommend
                 teaching Alice as a precursor to teaching
                 object-oriented languages such as Java. This
                 presentation describes and demonstrates the approach of
                 a newly published workbook that uses a highly
                 motivating story-telling $3$D virtual world interactive
                 game design and development pedagogical approach.
                 Students create animated movies and in the process
                 learn object-oriented programming fundamentals.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Shacham:2009:CAS,
  author =       "Ohad Shacham and Martin Vechev and Eran Yahav",
  title =        "{Chameleon}: adaptive selection of collections",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "408--418",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542522",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Languages such as Java and C\#, as well as scripting
                 languages like Python, and Ruby, make extensive use of
                 Collection classes. A collection implementation
                 represents a fixed choice in the dimensions of
                 operation time, space utilization, and synchronization.
                 Using the collection in a manner not consistent with
                 this fixed choice can cause significant performance
                 degradation. In this paper, we present CHAMELEON, a
                 low-overhead automatic tool that assists the programmer
                 in choosing the appropriate collection implementation
                 for her application. During program execution,
                 CHAMELEON computes elaborate trace and heap-based
                 metrics on collection behavior. These metrics are
                 consumed on-the-fly by a rules engine which outputs a
                 list of suggested collection adaptation strategies. The
                 tool can apply these corrective strategies
                 automatically or present them to the programmer. We
                 have implemented CHAMELEON on top of a IBM's J9
                 production JVM, and evaluated it over a small set of
                 benchmarks. We show that for some applications, using
                 CHAMELEON leads to a significant improvement of the
                 memory footprint of the application.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "bloat; collections; Java; semantic profiler",
}

@Article{Shafi:2009:CSJ,
  author =       "Aamir Shafi and Bryan Carpenter and Mark Baker and
                 Aftab Hussain",
  title =        "A comparative study of {Java} and {C} performance in
                 two large-scale parallel applications",
  journal =      j-CCPE,
  volume =       "21",
  number =       "15",
  pages =        "1882--1906",
  month =        oct,
  year =         "2009",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.1416",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Mon Dec 5 10:08:38 MST 2011",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 http://www.math.utah.edu/pub/tex/bib/ccpe.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "20 Feb 2009",
}

@Article{Shafi:2009:NPM,
  author =       "Aamir Shafi and Bryan Carpenter and Mark Baker",
  title =        "Nested parallelism for multi-core {HPC} systems using
                 {Java}",
  journal =      j-J-PAR-DIST-COMP,
  volume =       "69",
  number =       "6",
  pages =        "532--545",
  month =        jun,
  year =         "2009",
  CODEN =        "JPDCER",
  ISSN =         "0743-7315 (print), 1096-0848 (electronic)",
  ISSN-L =       "0743-7315",
  bibdate =      "Wed Sep 1 16:27:25 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/07437315",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Parallel and Distributed Computing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/07437315",
}

@Article{Sharma:2009:DAC,
  author =       "Arun Sharma and P. S. Grover and Rajesh Kumar",
  title =        "Dependency analysis for component-based software
                 systems",
  journal =      j-SIGSOFT,
  volume =       "34",
  number =       "4",
  pages =        "1--6",
  month =        jul,
  year =         "2009",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1543405.1543424",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:45 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/hash.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Interaction in component-based systems (CBS) happens
                 when a component provides an interface and other
                 components use it, and also when a component submits an
                 event and other component receives it. Interactions
                 promote dependencies. Higher dependency leads to a
                 complex system, which results in poor understanding and
                 a higher maintenance cost. Usually, dependency is
                 represented by an adjacency matrix used in graph
                 theory. However, this representation can check only for
                 the presence of dependency between components and does
                 not consider the type of interactions between these
                 components. Interaction type can have a significant
                 contribution to the complexity of the system. This
                 paper proposes a link-list based dependency
                 representation and implements it by using Hash Map in
                 Java. This representation can store the dependency
                 along with other information like, provided and
                 required interfaces of components along with their
                 types. This information can be used to analyze several
                 interaction and dependency related issues. This paper
                 also presents the results of an experiment of the
                 proposed approach and measures the interaction
                 densities and dependency level of an individual
                 component and for the system The results show that the
                 proposed metrics can also be used to identify the most
                 critical and isolated components in the system, which
                 can lead to better understanding and easy system
                 maintenance.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Shen:2009:SHP,
  author =       "Xipeng Shen and Feng Mao and Kai Tian and Eddy Zheng
                 Zhang",
  title =        "The study and handling of program inputs in the
                 selection of garbage collectors",
  journal =      j-OPER-SYS-REV,
  volume =       "43",
  number =       "3",
  pages =        "48--61",
  month =        jul,
  year =         "2009",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1618525.1618531",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Tue Sep 22 12:51:49 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Many studies have shown that the best performer among
                 a set of garbage collectors tends to be different for
                 different applications. Researchers have proposed
                 applicationspecific selection of garbage collectors. In
                 this work, we concentrate on a second dimension of the
                 problem: the influence of program inputs on the
                 selection of garbage collectors. We collect tens to
                 hundreds of inputs for a set of Java benchmarks, and
                 measure their performance on Jikes RVM with different
                 heap sizes and garbage collectors. A rigorous
                 statistical analysis produces four-fold insights.
                 First, inputs influence the relative performance of
                 garbage collectors significantly, causing large
                 variations to the top set of garbage collectors across
                 inputs. Profiling one or few runs is thus inadequate
                 for selecting the garbage collector that works well for
                 most inputs. Second, when the heap size ratio is fixed,
                 one or two types of garbage collectors are enough to
                 stimulate the top performance of the program on all
                 inputs. Third, for some programs, the heap size ratio
                 significantly affects the relative performance of
                 different types of garbage collectors. For the
                 selection of garbage collectors on those programs, it
                 is necessary to have a cross-input predictive model
                 that predicts the minimum possible heap size of the
                 execution on an arbitrary input. Finally, by
                 adoptingstatistical learning techniques, we investigate
                 the cross-input predictability of the influence.
                 Experimental results demonstrate that with regression
                 and classification techniques, it is possible to
                 predict the best garbage collector (along with the
                 minimum possible heap size) with reasonable accuracy
                 given an arbitrary input to an application. The
                 exploration opens the opportunities for tailoring the
                 selection of garbage collectors to not only
                 applications but also their inputs.",
  acknowledgement = ack-nhfb,
  fjournal =     "Operating Systems Review",
  keywords =     "cross-input program analysis; input-specific
                 selection; minimum possible heap size; profiling;
                 selection of garbage collectors",
}

@Book{Smiley:2009:SES,
  author =       "David Smiley and Eric (David Eric) Pugh and James
                 Brady and Jerome Eteve",
  title =        "{Solr 1.4 Enterprise Search Server}: enhance your
                 search with faceted navigation, result highlighting,
                 fuzzy queries, ranked scoring, and more",
  publisher =    "Packt Publishing",
  address =      "Birmingham, UK",
  pages =        "vii + 317",
  year =         "2009",
  ISBN =         "1-84719-588-1",
  ISBN-13 =      "978-1-84719-588-3",
  LCCN =         "TK5105.885.S65 S65 2009eb",
  bibdate =      "Thu Apr 15 14:49:12 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 library.mit.edu:9909/mit01",
  acknowledgement = ack-nhfb,
  subject =      "Web search engines; programming; client/server
                 computing",
}

@Article{Song:2009:ESL,
  author =       "Myoungkyu Song and Eli Tilevich",
  title =        "Enhancing source-level programming tools with an
                 awareness of transparent program transformations",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "301--320",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640089.1640112",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Programs written in managed languages are compiled to
                 a platform-independent intermediate representation,
                 such as Java bytecode. The relative high level of Java
                 bytecode has engendered a widespread practice of
                 changing the bytecode directly, without modifying the
                 maintained version of the source code. This practice,
                 called {\em bytecode engineering\/} or {\em
                 enhancement}, has become indispensable in introducing
                 various concerns, including persistence, distribution,
                 and security, transparently. For example, transparent
                 persistence architectures help avoid the entanglement
                 of business and persistence logic in the source code by
                 changing the bytecode directly to synchronize objects
                 with stable storage. With functionality added directly
                 at the bytecode level, the source code reflects only
                 partial semantics of the program. Specifically, the
                 programmer can neither ascertain the program's runtime
                 behavior by browsing its source code, nor map the
                 runtime behavior back to the original source
                 code.\par

                 This paper presents an approach that improves the
                 utility of source-level programming tools by providing
                 enhancement specifications written in a domain-specific
                 language. By interpreting the specifications, a
                 source-level programming tool can gain an awareness of
                 the bytecode enhancements and improve its precision and
                 usability. We demonstrate the applicability of our
                 approach by making a source code editor and a symbolic
                 debugger enhancements-aware.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "bytecode engineering; debugging; domain-specific
                 languages; enhancement; program transformation",
}

@Article{Sooriamurthi:2009:IAD,
  author =       "Raja Sooriamurthi",
  title =        "Introducing abstraction and decomposition to novice
                 programmers",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "196--200",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562939",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "This paper discusses a learning exercise we use in our
                 beginning programming classes to introduce students to
                 the concepts of abstraction and decomposition. The
                 assignment is to write a perpetual calendar generation
                 program: given a month and a year the program will
                 display the correct monthly calendar. The learning
                 goals of the exercise include how to decompose a large
                 problem into smaller pieces and how to specify what
                 each piece needs to do. This exercise helps students
                 learn the process of incremental and iterative
                 development. More than the actual solution, the value
                 of this exercise is in the several themes of software
                 development that are discussed during its development.
                 We have successfully used this assignment for several
                 years in a variety of CS1/CS2 programming environments
                 (Pascal, C, Java and .net) and also as a Java servlet
                 based web application exercise. Over this period, the
                 case-study has received very favorable feedback from
                 students as to its interestingness and pedagogical
                 value.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Subramanian:2009:DSU,
  author =       "Suriya Subramanian and Michael Hicks and Kathryn S.
                 McKinley",
  title =        "Dynamic software updates: a {VM}-centric approach",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "1--12",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1543135.1542478",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Software evolves to fix bugs and add features.
                 Stopping and restarting programs to apply changes is
                 inconvenient and often costly. Dynamic software
                 updating (DSU) addresses this problem by updating
                 programs while they execute, but existing DSU systems
                 for managed languages do not support many updates that
                 occur in practice and are inefficient. This paper
                 presents the design and implementation of Jvolve, a
                 DSU-enhanced Java VM. Updated programs may add, delete,
                 and replace fields and methods anywhere within the
                 class hierarchy. Jvolve implements these updates by
                 adding to and coordinating VM classloading,
                 just-in-time compilation, scheduling, return barriers,
                 on-stack replacement, and garbage collection. Jvolve,
                 is {\em safe\/}: its use of bytecode verification and
                 VM thread synchronization ensures that an update will
                 always produce type-correct executions. Jvolve is {\em
                 flexible\/}: it can support 20 of 22 updates to three
                 open-source programs--Jetty web server,
                 JavaEmailServer, and CrossFTP server--based on actual
                 releases occurring over 1 to 2 years. Jvolve is {\em
                 efficient\/}: performance experiments show that incurs
                 {\em no overhead\/} during steady-state execution.
                 These results demonstrate that this work is a
                 significant step towards practical support for dynamic
                 updates in virtual machines for managed languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "dynamic software updating; garbage collection; virtual
                 machine technology",
}

@Article{Tilevich:2009:JOE,
  author =       "Eli Tilevich and Yannis Smaragdakis",
  title =        "{J-Orchestra}: {Enhancing} {Java} programs with
                 distribution capabilities",
  journal =      j-TOSEM,
  volume =       "19",
  number =       "1",
  pages =        "1:1--1:??",
  month =        aug,
  year =         "2009",
  CODEN =        "ATSMER",
  DOI =          "https://doi.org/10.1145/1555392.1555394",
  ISSN =         "1049-331X (print), 1557-7392 (electronic)",
  ISSN-L =       "1049-331X",
  bibdate =      "Tue Aug 11 19:18:39 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tosem/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "J-Orchestra is a system that enhances centralized Java
                 programs with distribution capabilities. Operating at
                 the bytecode level, J-Orchestra transforms a
                 centralized Java program (i.e., running on a single
                 Java Virtual Machine (JVM)) into a distributed one
                 (i.e., running across multiple JVMs). This
                 transformation effectively separates distribution
                 concerns from the core functionality of a program.
                 J-Orchestra follows a semiautomatic transformation
                 process. Through a GUI, the user selects program
                 elements (at class granularity) and assigns them to
                 network locations. Based on the user's input, the
                 J-Orchestra backend {\em automatically partitions\/}
                 the program through compiler-level techniques, without
                 changes to the JVM or to the Java Runtime Environment
                 (JRE) classes. By means of bytecode engineering and
                 code generation, J-Orchestra substitutes method calls
                 with remote method calls, direct object references with
                 proxy references, etc. It also translates Java language
                 features (e.g., static methods and fields, inheritance,
                 inner classes, new object construction, etc.) for
                 efficient distributed execution.\par

                 We detail the main technical issues that J-Orchestra
                 addresses, including its mechanism for program
                 transformation in the presence of unmodifiable code
                 (e.g., in JRE classes) and the translation of
                 concurrency and synchronization constructs to work
                 correctly over the network. We further discuss a case
                 study of transforming a large, commercial, third-party
                 application for efficient execution in a client server
                 environment and outline the architectural
                 characteristics of centralized programs that are
                 amenable to automated distribution with J-Orchestra.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "ACM Transactions on Software Engineering and
                 Methodology",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J790",
  keywords =     "bytecode engineering; distributed computing; Java;
                 middleware; RMI; Separation of concerns",
}

@Article{Tripp:2009:TET,
  author =       "Omer Tripp and Marco Pistoia and Stephen J. Fink and
                 Manu Sridharan and Omri Weisman",
  title =        "{TAJ}: effective taint analysis of web applications",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "87--97",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542486",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Taint analysis, a form of information-flow analysis,
                 establishes whether values from untrusted methods and
                 parameters may flow into security-sensitive operations.
                 Taint analysis can detect many common vulnerabilities
                 in Web applications, and so has attracted much
                 attention from both the research community and
                 industry. However, most static taint-analysis tools do
                 not address critical requirements for an
                 industrial-strength tool. Specifically, an
                 industrial-strength tool must scale to large industrial
                 Web applications, model essential Web-application code
                 artifacts, and generate consumable reports for a wide
                 range of attack vectors.\par

                 We have designed and implemented a static Taint
                 Analysis for Java (TAJ) that meets the requirements of
                 industry-level applications. TAJ can analyze
                 applications of virtually any size, as it employs a set
                 of techniques designed to produce useful answers given
                 limited time and space. TAJ addresses a wide variety of
                 attack vectors, with techniques to handle reflective
                 calls, flow through containers, nested taint, and
                 issues in generating useful reports. This paper
                 provides a description of the algorithms comprising
                 TAJ, evaluates TAJ against production-level benchmarks,
                 and compares it with alternative solutions.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "java; program analysis; security; slicing; static
                 analysis; taint analysis; web application",
}

@Article{Tyman:2009:ABS,
  author =       "Damon Tyman and Nirupama Bulusu and Jens Mache",
  title =        "An activity-based sensor networks course for
                 undergraduates with sun spot devices",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "1",
  pages =        "34--38",
  month =        mar,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1539024.1508879",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of SIGCSE '09.",
  abstract =     "Wireless sensor networks are revolutionizing the
                 instrumentation of the physical world, across
                 scientific, industrial and military applications. In
                 this paper, we describe our efforts developing and
                 classroom-testing hands-on materials for use in
                 undergraduate-accessible courses on sensor networks. In
                 Winter 2008 at Portland State University, we introduced
                 an in-class laboratory component to a sensor networks
                 course that had previously been entirely lecture-based.
                 For the laboratory exercises, we utilized Sun's
                 Java-programmable Sun SPOT [7] sensor network
                 technology. We found the Sun SPOT based laboratory
                 activities to be quite powerful as a teaching and
                 excitement-fostering tool.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Urbanek:2009:HTS,
  author =       "Simon Urbanek",
  title =        "How to talk to strangers: ways to leverage
                 connectivity between {R}, {Java} and {Objective C}",
  journal =      j-COMP-STAT,
  volume =       "24",
  number =       "2",
  pages =        "303--311",
  month =        may,
  year =         "2009",
  CODEN =        "CSTAEB",
  DOI =          "https://doi.org/10.1007/s00180-008-0132-x",
  ISSN =         "0943-4062 (print), 1613-9658 (electronic)",
  ISSN-L =       "0943-4062",
  bibdate =      "Thu Jun 18 16:19:37 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compstat.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "http://link.springer.com/article/10.1007/s00180-008-0132-x",
  acknowledgement = ack-nhfb,
  ajournal =     "Comp. Stat.",
  fjournal =     "Computational Statistics",
  journal-URL =  "http://link.springer.com/journal/180",
}

@Article{VanCappellen:2009:XXJ,
  author =       "Marc {Van Cappellen} and Zhen Hua Liu and Jim Melton
                 and Maxim Orgiyan",
  title =        "{XQJ}: {XQuery Java API} is completed",
  journal =      j-SIGMOD,
  volume =       "38",
  number =       "4",
  pages =        "7--13",
  month =        dec,
  year =         "2009",
  CODEN =        "SRECD8",
  DOI =          "https://doi.org/10.1145/1815948.1815950",
  ISSN =         "0163-5808 (print), 1943-5835 (electronic)",
  ISSN-L =       "0163-5808",
  bibdate =      "Mon Jun 21 18:07:42 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Just as SQL is a declarative language for querying
                 relational data, XQuery is a declarative language for
                 querying XML. JDBC provides a standard Java API to
                 interact with a variety of SQL engines to declaratively
                 access and manipulate data stored in relational data
                 sources. Similarly, XQJ provides a standard Java API to
                 interact with a variety of XQuery engines to
                 declaratively access and manipulate XML data in variety
                 of XML data sources. XQJ, also known as JSR 225, is
                 designed through the Java Community Process (JCP) [20].
                 The XQJ specification defines a set of Java interfaces
                 and classes that enable a Java program to submit XQuery
                 expressions to an XQuery engine operating on XML data
                 sources and to consume XQuery results. In this article,
                 we discuss the XQJ APl's technical details with its
                 similarities; and differences from JDBC, the design
                 philosophies and goals for XQJ, the implementations
                 strategies of XQJ in variety of XQuery engines and
                 their operating environments, and the possible future
                 of XQJ.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGMOD Record",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J689",
}

@Article{Wang:2009:AHC,
  author =       "Yi-Hsien Wang and I-Chen Wu",
  title =        "Achieving high and consistent rendering performance of
                 {Java AWT\slash Swing} on multiple platforms",
  journal =      j-SPE,
  volume =       "39",
  number =       "7",
  pages =        "701--736",
  day =          "??",
  month =        may,
  year =         "2009",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.920",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Mar 17 10:02:39 MDT 2010",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "Mar 23 2009 10:34AM",
}

@Book{Weaver:2009:PJP,
  author =       "James L. Weaver and Weiqi Gao and Stephen Chin",
  title =        "{Pro JavaFX} Platform: Script, Desktop and Mobile
                 {RIA} with {Java} Technology",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxiii + 543",
  year =         "2009",
  ISBN =         "1-4302-1875-4",
  ISBN-13 =      "978-1-4302-1875-3",
  LCCN =         "????",
  bibdate =      "Tue Jan 27 15:56:53 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Article{Wegiel:2009:DPC,
  author =       "Michal Wegiel and Chandra Krintz",
  title =        "Dynamic prediction of collection yield for managed
                 runtimes",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "3",
  pages =        "289--300",
  month =        mar,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1508244.1508278",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:39:26 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The growth in complexity of modern systems makes it
                 increasingly difficult to extract high-performance. The
                 software stacks for such systems typically consist of
                 multiple layers and include managed runtime
                 environments (MREs). In this paper, we investigate
                 techniques to improve cooperation between these layers
                 and the hardware to increase the efficacy of automatic
                 memory management in MREs.\par

                 General-purpose MREs commonly implement parallel and/or
                 concurrent garbage collection and employ compaction to
                 eliminate heap fragmentation. Moreover, most systems
                 trigger collection based on the amount of heap a
                 program uses. Our analysis shows that in many cases
                 this strategy leads to ineffective collections that are
                 unable to reclaim sufficient space to justify the
                 incurred cost. To avoid such collections, we exploit
                 the observation that dead objects tend to cluster
                 together and form large, never-referenced, regions in
                 the address space that correlate well with virtual
                 pages that have not recently been referenced by the
                 application. We leverage this correlation to design a
                 new, simple and light-weight, yield predictor that
                 estimates the amount of reclaimable space in the heap
                 using hardware page reference bits. Our predictor
                 allows MREs to avoid low-yield collections and thereby
                 improve resource management.\par

                 We integrate this predictor into three state-of-the-art
                 parallel compactors, implemented in the HotSpot JVM,
                 that represent distinct canonical heap layouts. Our
                 empirical evaluation, based on standard Java benchmarks
                 and open-source applications, indicates that
                 inexpensive and accurate yield prediction can improve
                 performance significantly.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "clustering; concurrent; garbage collection; operating
                 system; parallel; reference bits; yield prediction",
}

@Article{Xu:2009:GFP,
  author =       "Guoqing Xu and Matthew Arnold and Nick Mitchell and
                 Atanas Rountev and Gary Sevitsky",
  title =        "Go with the flow: profiling copies to find runtime
                 bloat",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "419--430",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542523",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Many large-scale Java applications suffer from runtime
                 bloat. They execute large volumes of methods, and
                 create many temporary objects, all to execute
                 relatively simple operations. There are large
                 opportunities for performance optimizations in these
                 applications, but most are being missed by existing
                 optimization and tooling technology. While JIT
                 optimizations struggle for a few percent, performance
                 experts analyze deployed applications and regularly
                 find gains of 2x or more.\par

                 Finding such big gains is difficult, for both humans
                 and compilers, because of the diffuse nature of runtime
                 bloat. Time is spread thinly across calling contexts,
                 making it difficult to judge how to improve
                 performance. Bloat results from a pile-up of seemingly
                 harmless decisions. Each adds temporary objects and
                 method calls, and often copies values between those
                 temporary objects. While data copies are not the
                 entirety of bloat, we have observed that they are
                 excellent indicators of regions of excessive activity.
                 By optimizing copies, one is likely to remove the
                 objects that carry copied values, and the method calls
                 that allocate and populate them.\par

                 We introduce {\em copy profiling}, a technique that
                 summarizes runtime activity in terms of chains of data
                 copies. A flat copy profile counts copies by method. We
                 show how flat profiles alone can be helpful. In many
                 cases, diagnosing a problem requires data flow context.
                 Tracking and making sense of raw copy chains does not
                 scale, so we introduce a summarizing abstraction called
                 the {\em copy graph}. We implement three clients
                 analyses that, using the copy graph, expose common
                 patterns of bloat, such as finding hot copy chains and
                 discovering temporary data structures. We demonstrate,
                 with examples from a large-scale commercial application
                 and several benchmarks, that copy profiling can be used
                 by a programmer to quickly find opportunities for large
                 performance gains.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "copy graph; heap analysis; memory bloat; profiling",
}

@Article{Xu:2009:SCC,
  author =       "Dana N. Xu and Simon Peyton Jones and Koen Claessen",
  title =        "Static contract checking for {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "1",
  pages =        "41--52",
  month =        jan,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1594834.1480889",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:38 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Program errors are hard to detect and are costly both
                 to programmers who spend significant efforts in
                 debugging, and for systems that are guarded by runtime
                 checks. Static verification techniques have been
                 applied to imperative and object-oriented languages,
                 like Java and C\#, but few have been applied to a
                 higher-order lazy functional language, like Haskell. In
                 this paper, we describe a sound and automatic static
                 verification framework for Haskell, that is based on
                 contracts and symbolic execution. Our approach is
                 modular and gives precise blame assignments at
                 compile-time in the presence of higher-order functions
                 and laziness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "contract satisfaction; static contract checking",
}

@Article{Yiyu:2009:IFS,
  author =       "Tan Yiyu and Yau Chihang and Anthony S. Fong and Yang
                 Xiaojian",
  title =        "An instruction folding solution for a {Java}
                 processor",
  journal =      j-INT-J-COMPUT-SYST-SCI-ENG,
  volume =       "24",
  number =       "3",
  pages =        "??--??",
  month =        may,
  year =         "2009",
  CODEN =        "CSSEEI",
  ISSN =         "0267-6192",
  bibdate =      "Tue Dec 03 12:47:41 2013",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computsystscieng.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "International Journal of Computer Systems Science and
                 Engineering",
  remark =       "Special issue: Privacy Data Management",
}

@Article{Zdrnja:2009:ATM,
  author =       "Bojan Zdrnja",
  title =        "Attack Trends: Malicious {JavaScript} Insertion
                 through {ARP} Poisoning Attacks",
  journal =      j-IEEE-SEC-PRIV,
  volume =       "7",
  number =       "3",
  pages =        "72--74",
  month =        may # "\slash " # jun,
  year =         "2009",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1109/MSP.2009.72",
  ISSN =         "1540-7993 (print), 1558-4046 (electronic)",
  ISSN-L =       "1540-7993",
  bibdate =      "Thu Jul 2 10:02:21 MDT 2009",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Security and Privacy",
}

@Article{Zee:2009:IPL,
  author =       "Karen Zee and Viktor Kuncak and Martin C. Rinard",
  title =        "An integrated proof language for imperative programs",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "338--351",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542514",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "We present an integrated proof language for guiding
                 the actions of multiple reasoning systems as they work
                 together to prove complex correctness properties of
                 imperative programs. The language operates in the
                 context of a program verification system that uses
                 multiple reasoning systems to discharge generated proof
                 obligations. It is designed to 1) enable developers to
                 resolve key choice points in complex program
                 correctness proofs, thereby enabling automated
                 reasoning systems to successfully prove the desired
                 correctness properties; 2) allow developers to identify
                 key lemmas for the reasoning systems to prove, thereby
                 guiding the reasoning systems to find an effective
                 proof decomposition; 3) enable multiple reasoning
                 systems to work together productively to prove a single
                 correctness property by providing a mechanism that
                 developers can use to divide the property into lemmas,
                 each of which is suitable for a different reasoning
                 system; and 4) enable developers to identify specific
                 lemmas that the reasoning systems should use when
                 attempting to prove other lemmas or correctness
                 properties, thereby appropriately confining the search
                 space so that the reasoning systems can find a proof in
                 an acceptable amount of time.\par

                 The language includes a rich set of declarative proof
                 constructs that enables developers to direct the
                 reasoning systems as little or as much as they desire.
                 Because the declarative proof statements are embedded
                 into the program as specialized comments, they also
                 serve as verified documentation and are a natural
                 extension of the assertion mechanism found in most
                 program verification systems.\par

                 We have implemented our integrated proof language in
                 the context of a program verification system for Java
                 and used the resulting system to verify a collection of
                 linked data structure implementations. Our experience
                 indicates that our proof language makes it possible to
                 successfully prove complex program correctness
                 properties that are otherwise beyond the reach of
                 automated reasoning systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "proof system; theorem prover; verification",
}

@Article{Zhang:2009:ISE,
  author =       "Lingli Zhang and Chandra Krintz",
  title =        "As-if-serial exception handling semantics for {Java}
                 futures",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "74",
  number =       "5--6",
  pages =        "314--332",
  day =          "1",
  month =        mar,
  year =         "2009",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Fri Apr 1 18:39:26 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.sciencedirect.com/science/journal/01676423",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Zhao:2009:AWL,
  author =       "Yi Zhao and Jin Shi and Kai Zheng and Haichuan Wang
                 and Haibo Lin and Ling Shao",
  title =        "Allocation wall: a limiting factor of {Java}
                 applications on emerging multi-core platforms",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "361--376",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640089.1640116",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "Multi-core processors are widely used in computer
                 systems. As the performance of microprocessors greatly
                 exceeds that of memory, the memory wall becomes a
                 limiting factor. It is important to understand how the
                 large disparity of speed between processor and memory
                 influences the performance and scalability of Java
                 applications on emerging multi-core platforms.\par

                 In this paper, we studied two popular Java benchmarks,
                 SPECjbb2005 and SPECjvm2008, on multi-core platforms
                 including Intel Clovertown and AMD Phenom. We focus on
                 the 'partially scalable' benchmark programs. With
                 smaller number of CPU cores these programs scale
                 perfectly, but when more cores and software threads are
                 used, the slope of the scalability curve degrades
                 dramatically.\par

                 We identified a strong correlation between scalability,
                 object allocation rate and memory bus write traffic in
                 our experiments with our partially scalable programs.
                 We find that these applications allocate large amounts
                 of memory and consume almost all the memory write
                 bandwidth in our hardware platforms. Because the write
                 bandwidth is so limited, we propose the following
                 hypothesis: the scalability and performance is limited
                 by the object allocation on emerging multi-core
                 platforms for those objects-allocation intensive Java
                 applications, as if these applications are running into
                 an 'allocation wall'.\par

                 In order to verify this hypothesis, several experiments
                 are performed, including measuring key architecture
                 level metrics, composing a micro-benchmark program, and
                 studying the effect of modifying some of the 'partially
                 scalable' programs. All the experiments strongly
                 suggest the existence of the allocation wall.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "allocation; java; scalability",
}

@Article{Zou:2009:PFT,
  author =       "Jia Zou and Joshua Auerbach and David F. Bacon and
                 Edward A. Lee",
  title =        "{PTIDES} on flexible task graph: real-time embedded
                 system building from theory to practice",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "7",
  pages =        "31--40",
  month =        jul,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1543136.1542457",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jun 26 12:07:39 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  abstract =     "The Flexotask system claims to enable implementation
                 of both real-time applications and real-time schedulers
                 in a Java Virtual Machine using an actors-like model.
                 The PTIDES model is an actors-like model that claims to
                 deliver precise control over end-to-end latencies in a
                 complex real-time system. The present work jointly
                 investigates both claims by (1) implementing several
                 PTIDES-based schedulers as Flexotask scheduler plugins,
                 and (2) using the resulting system to implement a new
                 reactive control program for a simulation of the
                 JAviator. We present results from the realistic
                 JAviator control application and also from synthetic
                 benchmarks designed to shed light on the differences
                 between the several PTIDES schedulers we implemented.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "flexible task graphs; jitter elimination; PTIDES;
                 real-time scheduling; real-time systems",
}

@Book{Goodrich:2010:DSA,
  author =       "Michael T. Goodrich and Roberto Tamassia",
  title =        "Data Structures and Algorithms in {Java}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Fifth",
  pages =        "xxii + 714",
  year =         "2010",
  ISBN =         "0-470-38326-7 (hardcover), 0-470-39880-9 (paperback)",
  ISBN-13 =      "978-0-470-38326-1 (hardcover), 978-0-470-39880-7
                 (paperback)",
  LCCN =         "QA76.73.J38 G66 2010",
  bibdate =      "Thu Mar 22 12:04:32 MDT 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigact.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Java (Computer program language); Data structures
                 (Computer science); Computer algorithms",
}

%%% ====================================================================
%%% Cross-referenced entries must come last; entries are sorted by year,
%%% and then by citation label, with `bibsort --byyear':
@Proceedings{ACM:2000:CPI,
  editor =       "{ACM}",
  booktitle =    "{Conference proceedings of the 2000 International
                 Conference on Supercomputing: Santa Fe, New Mexico, May
                 8--11, 2000}",
  title =        "{Conference proceedings of the 2000 International
                 Conference on Supercomputing: Santa Fe, New Mexico, May
                 8--11, 2000}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xi + 347",
  year =         "2000",
  ISBN =         "1-58113-270-0",
  ISBN-13 =      "978-1-58113-270-0",
  LCCN =         "QA76.88 .I573 2000",
  bibdate =      "Tue Oct 24 10:04:24 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.acm.org/pubs/contents/proceedings/supercomputing/335231",
  acknowledgement = ack-nhfb,
  subject =      "Supercomputers; Congresses",
}

@Proceedings{ACM:2000:PAS,
  editor =       "{ACM}",
  booktitle =    "{Proceedings ACM SIGMETRICS '2000: International
                 Conference on Measurement and Modeling of Computer
                 Systems, June 17--21, 2000, Santa Clara, CA, USA:
                 Proceedings of the International Conference on
                 Measurements and Modeling of Computer Systems}",
  title =        "{Proceedings ACM SIGMETRICS '2000: International
                 Conference on Measurement and Modeling of Computer
                 Systems, June 17--21, 2000, Santa Clara, CA, USA:
                 Proceedings of the International Conference on
                 Measurements and Modeling of Computer Systems}",
  volume =       "28(1)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xi + 329",
  year =         "2000",
  ISBN =         "1-58113-194-1",
  ISBN-13 =      "978-1-58113-194-9",
  LCCN =         "QA1 .A854724",
  bibdate =      "Tue Oct 24 09:59:53 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       j-SIGMETRICS,
  acknowledgement = ack-nhfb,
  subject =      "Computer networks; Evaluation; Congresses; Electronic
                 digital computers",
}

@Proceedings{ACM:2000:SHP,
  editor =       "{ACM}",
  booktitle =    "SC2000: High Performance Networking and Computing.
                 Dallas Convention Center, Dallas, TX, USA, November
                 4--10, 2000",
  title =        "{SC2000}: High Performance Networking and Computing.
                 Dallas Convention Center, Dallas, {TX}, {USA}, November
                 4--10, 2000",
  publisher =    pub-ACM # " and " # pub-IEEE,
  address =      pub-ACM:adr # " and " # pub-IEEE:adr,
  pages =        "????",
  year =         "2000",
  ISBN =         "",
  ISBN-13 =      "",
  LCCN =         "",
  bibdate =      "Thu Feb 24 09:35:00 2000",
  bibsource =    "ftp://ftp.math.utah.edu/pub/bibnet/authors/d/dongarra-jack-j.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.sc2000.org/proceedings/info/fp.pdf",
  acknowledgement = ack-nhfb,
}

@Book{Boszormenyi:2000:SNW,
  editor =       "L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi and Jurg
                 Gutknecht and Gustav Pomberger",
  booktitle =    "The School of {Niklaus Wirth}: The Art of Simplicity",
  title =        "The School of {Niklaus Wirth}: The Art of Simplicity",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "viii + 260",
  year =         "2000",
  ISBN =         "1-55860-723-4",
  ISBN-13 =      "978-1-55860-723-1",
  LCCN =         "QA76.756 .S36 2000",
  bibdate =      "Sat Apr 20 11:12:33 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  price =        "US\$39.95",
  URL =          "http://www.mkp.com/books_catalog/catalog.asp?ISBN=1-55860-723-4",
  acknowledgement = ack-nhfb,
}

@Proceedings{Chen:2000:PAS,
  editor =       "Weidong Chen and Jeffery Naughton and Philip A.
                 Bernstein",
  booktitle =    "{Proceedings of the 2000 ACM SIGMOD International
                 Conference on Management of Data: May 16--18, 2000,
                 Dallas, Texas}",
  title =        "{Proceedings of the 2000 ACM SIGMOD International
                 Conference on Management of Data: May 16--18, 2000,
                 Dallas, Texas}",
  volume =       "29(2)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xii + 604",
  year =         "2000",
  ISBN =         "????",
  ISBN-13 =      "????",
  ISSN =         "0163-5808 (print), 1943-5835 (electronic)",
  LCCN =         "QA1 .A87",
  bibdate =      "Wed Oct 25 08:47:39 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       j-SIGMOD,
  acknowledgement = ack-nhfb,
  keywords =     "SIGMOD '2000",
}

@Proceedings{Langtangen:2000:AST,
  editor =       "Hans Petter Langtangen and Are Magnus Bruaset and
                 Ewald Quak",
  booktitle =    "Advances in Software Tools for Scientific Computing",
  title =        "Advances in Software Tools for Scientific Computing",
  volume =       "10",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "vii + 356",
  year =         "2000",
  CODEN =        "LNCSA6",
  DOI =          "https://doi.org/10.1007/978-3-642-57172-5",
  ISBN =         "3-540-66557-9 (softcover), 3-642-57172-7 (e-book)",
  ISBN-13 =      "978-3-540-66557-1 (softcover), 978-3-642-57172-5
                 (e-book)",
  ISSN =         "1439-7358",
  ISSN-L =       "1439-7358",
  LCCN =         "QA76.6 .A336 2000",
  bibdate =      "Thu Dec 20 14:36:18 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/lncse.bib",
  note =         "Papers from an International Workshop on Modern
                 Software Tools for Scientific Computing (SciTools'98),
                 Oslo, Norway, September 14--16, 1998.",
  series =       ser-LNCSE,
  URL =          "http://link.springer.com/book/10.1007/978-3-642-57172-5;
                 http://www.springerlink.com/content/978-3-642-57172-5",
  acknowledgement = ack-nhfb,
  bookpages =    "vii + 356",
  keywords =     "computer programming; object-oriented programming
                 (computer science); science -- data processing",
  series-URL =   "http://link.springer.com/bookseries/3527",
}

@Proceedings{NIST:2000:TAE,
  editor =       "{NIST}",
  booktitle =    "The Third {Advanced Encryption Standard} Candidate
                 Conference, April 13--14, 2000, New York, NY, USA",
  title =        "The Third {Advanced Encryption Standard} Candidate
                 Conference, April 13--14, 2000, New York, {NY}, {USA}",
  publisher =    pub-NIST,
  address =      pub-NIST:adr,
  pages =        "358",
  year =         "2000",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Tue Feb 06 15:28:26 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://csrc.nist.gov/encryption/aes/round2/conf3/aes3conf.htm;
                 http://csrc.nist.gov/encryption/aes/round2/conf3/papers/AES3Proceedings-1.pdf;
                 http://csrc.nist.gov/encryption/aes/round2/conf3/papers/AES3Proceedings-2.pdf;
                 http://csrc.nist.gov/encryption/aes/round2/conf3/papers/AES3Proceedings-3.pdf;
                 http://csrc.nist.gov/encryption/aes/round2/conf3/papers/AES3Proceedings.pdf",
  acknowledgement = ack-nhfb,
}

@Proceedings{Traverso:2000:IAU,
  editor =       "Carlo Traverso",
  booktitle =    "{ISSAC 2000: 7--9 August 2000, University of St.
                 Andrews, Scotland: proceedings of the 2000
                 International Symposium on Symbolic and Algebraic
                 Computation}",
  title =        "{ISSAC 2000: 7--9 August 2000, University of St.
                 Andrews, Scotland: proceedings of the 2000
                 International Symposium on Symbolic and Algebraic
                 Computation}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "viii + 309",
  year =         "2000",
  ISBN =         "1-58113-218-2",
  ISBN-13 =      "978-1-58113-218-2",
  LCCN =         "QA76.95.I59 2000",
  bibdate =      "Tue Apr 17 09:12:53 2001",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/issac/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "ACM order number 505000.",
  URL =          "http://www.acm.org/pubs/contents/proceedings/issac/345542/",
  acknowledgement = ack-nhfb,
}

@Proceedings{USENIX:2000:PFSb,
  editor =       "{USENIX}",
  booktitle =    "Proceedings of the Fourth Symposium on Operating
                 Systems Design and Implementation (OSDI 2000), October
                 23--25, 2000, San Diego, California, USA",
  title =        "Proceedings of the Fourth Symposium on Operating
                 Systems Design and Implementation ({OSDI} 2000),
                 October 23--25, 2000, San Diego, California, {USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "",
  year =         "2000",
  ISBN =         "1-880446-16-2",
  ISBN-13 =      "978-1-880446-16-4",
  LCCN =         "????",
  bibdate =      "Wed Oct 16 05:40:20 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/osdi2000/",
  acknowledgement = ack-nhfb,
}

@Proceedings{USENIX:2000:PNU,
  editor =       "{USENIX}",
  booktitle =    "Proceedings of the Ninth USENIX Security Symposium,
                 August 14--17, 2000, Denver, Colorado",
  title =        "Proceedings of the Ninth {USENIX} Security Symposium,
                 August 14--17, 2000, Denver, Colorado",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "275",
  year =         "2000",
  ISBN =         "1-880446-18-9",
  ISBN-13 =      "978-1-880446-18-8",
  LCCN =         "????",
  bibdate =      "Wed Oct 16 06:36:41 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/sec2000",
  acknowledgement = ack-nhfb,
}

@Proceedings{USENIX:2000:PUT,
  editor =       "{USENIX}",
  booktitle =    "Proceedings of the 7th USENIX Tcl\slash Tk Conference
                 (Tcl/2k): February 14--18, 2000, Austin, Texas, USA",
  title =        "Proceedings of the 7th {USENIX} Tcl\slash Tk
                 Conference (Tcl/2k): February 14--18, 2000, Austin,
                 Texas, {USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "194",
  year =         "2000",
  ISBN =         "1-880446-24-3",
  ISBN-13 =      "978-1-880446-24-9",
  LCCN =         "????",
  bibdate =      "Wed Oct 16 09:54:12 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://db.usenix.org/publications/library/proceedings/tcl2k/",
  acknowledgement = ack-nhfb,
}

@Proceedings{USENIX:2000:UAT,
  editor =       "{USENIX}",
  booktitle =    "2000 USENIX Annual Technical Conference: San Diego,
                 CA, USA, June 18--23, 2000",
  title =        "2000 {USENIX} Annual Technical Conference: San Diego,
                 {CA}, {USA}, June 18--23, 2000",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "350",
  year =         "2000",
  ISBN =         "1-880446-22-7",
  ISBN-13 =      "978-1-880446-22-5",
  LCCN =         "????",
  bibdate =      "Mon Oct 14 07:43:52 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/usenix2000",
  acknowledgement = ack-nhfb,
}

@Proceedings{ACM:2001:ASS,
  editor =       "{ACM}",
  booktitle =    "ACM SIGPLAN--SIGSOFT workshop on Program analysis for
                 software tools and engineering: June 18--19, 2001,
                 Snowbird, Utah, USA: PASTE'01",
  title =        "{ACM} {SIGPLAN}--{SIGSOFT} workshop on Program
                 analysis for software tools and engineering: June
                 18--19, 2001, Snowbird, Utah, {USA}: {PASTE}'01",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "viii + 104",
  year =         "2001",
  ISBN =         "1-58113-413-4",
  ISBN-13 =      "978-1-58113-413-1",
  LCCN =         "QA76.758 .A345 2001",
  bibdate =      "Thu Aug 30 08:01:24 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/paste/;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Supplement to ACM SIGPLAN Notices.",
  acknowledgement = ack-nhfb,
}

@Proceedings{ACM:2001:PAJ,
  editor =       "{ACM}",
  booktitle =    "Proceedings of the {ACM 2001 Java Grande\slash ISCOPE
                 Conference: Palo Alto, Calif., June 2--4, 2001}",
  title =        "Proceedings of the {ACM 2001 Java Grande\slash ISCOPE
                 Conference: Palo Alto, Calif., June 2--4, 2001}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "vi + 186",
  year =         "2001",
  ISBN =         "1-58113-359-6",
  ISBN-13 =      "978-1-58113-359-2",
  LCCN =         "QA76.9.O35 A26 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language) -- congresses;
                 object-oriented methods (computer science) --
                 congresses",
}

@Proceedings{ACM:2001:SHP,
  editor =       "{ACM}",
  booktitle =    "SC2001: High Performance Networking and Computing.
                 Denver, CO, November 10--16, 2001",
  title =        "{SC2001}: High Performance Networking and Computing.
                 Denver, {CO}, November 10--16, 2001",
  publisher =    pub-ACM # " and " # pub-IEEE,
  address =      pub-ACM:adr # " and " # pub-IEEE:adr,
  pages =        "????",
  year =         "2001",
  ISBN =         "1-58113-293-X",
  ISBN-13 =      "978-1-58113-293-9",
  LCCN =         "????",
  bibdate =      "Thu Feb 21 18:29:36 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Proceedings{ACM:2001:SPJ,
  editor =       "{ACM}",
  booktitle =    "{SIGMETRICS '2001\slash PERFORMANCE '2001 Joint
                 International Conference on Measurement and Modeling of
                 Computer Systems: proceedings}",
  title =        "{SIGMETRICS '2001\slash PERFORMANCE '2001 Joint
                 International Conference on Measurement and Modeling of
                 Computer Systems: proceedings}",
  volume =       "29(1)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "347",
  month =        jun,
  year =         "2001",
  ISBN =         "1-58113-334-0",
  ISBN-13 =      "978-1-58113-334-9",
  LCCN =         "QA76.9.E94; Internet",
  bibdate =      "Tue Oct 24 10:25:39 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  note =         "ACM order number 488010.",
  series =       j-SIGMETRICS,
  acknowledgement = ack-nhfb,
  subject =      "Electronic digital computers; Evaluation; Congresses;
                 Computer networks",
}

@Proceedings{Anonymous:2001:JJ,
  editor =       "Anonymous",
  booktitle =    "{JavaOne 2001, June 7, 2001}",
  title =        "{JavaOne 2001, June 7, 2001}",
  publisher =    "????",
  address =      "????",
  year =         "2001",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Sat Nov 29 11:36:43 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Proceedings{Anonymous:2001:PJV,
  editor =       "Anonymous",
  booktitle =    "{Proceedings of the Java Virtual Machine Research and
                 Technology Symposium (JVM '01) April 23--24, 2001,
                 Monterey, California, USA}",
  title =        "{Proceedings of the Java Virtual Machine Research and
                 Technology Symposium (JVM '01) April 23--24, 2001,
                 Monterey, California, USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "232",
  year =         "2001",
  ISBN =         "1-880446-11-1",
  ISBN-13 =      "978-1-880446-11-9",
  LCCN =         "????",
  bibdate =      "Mon Apr 10 10:43:56 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  meetingname =  "Java Virtual Machine Research and Technology
                 Symposium. 2001. Monterey, Calif.",
  subject =      "JVM",
}

@Proceedings{Attali:2001:JSC,
  editor =       "Isabelle Attali and Thomas Jensen",
  booktitle =    "{Java on smart cards: programming and security: first
                 international workshop, JavaCard 2000, Cannes, France,
                 September 14, 2000: revised papers}",
  title =        "{Java on smart cards: programming and security: first
                 international workshop, JavaCard 2000, Cannes, France,
                 September 14, 2000: revised papers}",
  volume =       "2041",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 162",
  year =         "2001",
  ISBN =         "3-540-42167-X (paperback)",
  ISBN-13 =      "978-3-540-42167-2 (paperback)",
  LCCN =         "QA76.73.J38 J3635 2000; QA267.A1 L43 no.2041",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Also available via the World Wide Web.",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t2041.htm",
  acknowledgement = ack-nhfb,
  keywords =     "electronic texts; Java (computer program language);
                 online resources",
}

@Proceedings{Attali:2001:SCP,
  editor =       "Isabelle Attali and Thomas Jensen",
  booktitle =    "Smart card programming and security: International
                 Conference on Research in Smart Cards, {E}-smart 2001,
                 Cannes, France, {September19-21}, 2001: proceedings",
  title =        "Smart card programming and security: International
                 Conference on Research in Smart Cards, {E}-smart 2001,
                 Cannes, France, {September19-21}, 2001: proceedings",
  volume =       "2140",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "viii + 254",
  year =         "2001",
  ISBN =         "3-540-42610-8 (paperback)",
  ISBN-13 =      "978-3-540-42610-3 (paperback)",
  LCCN =         "TK7895.S62 I54 2001",
  bibdate =      "Thu Jan 17 11:49:19 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t2140.htm",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language); smart cards",
}

@Proceedings{Ghosh:2001:JJT,
  editor =       "Subdipto Ghosh",
  booktitle =    "{Java\slash Jini technologies: 21--22 August 2001,
                 Denver, USA}",
  title =        "{Java\slash Jini technologies: 21--22 August 2001,
                 Denver, USA}",
  volume =       "4521",
  publisher =    pub-SPIE,
  address =      pub-SPIE:adr,
  pages =        "vii + 154",
  year =         "2001",
  ISBN =         "0-8194-4245-3",
  ISBN-13 =      "978-0-8194-4245-1",
  LCCN =         "QA76.9.D5 J38 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "SPIE proceedings series",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing
                 -- congresses; Java (computer program language) --
                 congresses; Jini congresses",
}

@Proceedings{UC:2001:EIU,
  editor =       "{Unicode Consortium}",
  booktitle =    "Eighteenth International Unicode Conference (IUC18)
                 Unicode and the Web: the Global Connection, April
                 24--27, 2001, Hong Kong",
  title =        "Eighteenth International Unicode Conference ({IUC18})
                 Unicode and the Web: the Global Connection, April
                 24--27, 2001, Hong Kong",
  publisher =    pub-UNICODE,
  address =      pub-UNICODE-SAN-JOSE:adr,
  pages =        "????",
  year =         "2001",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Jan 22 12:20:01 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.unicode.org/iuc/iuc18",
  acknowledgement = ack-nhfb,
}

@Proceedings{USENIX:2001:PJV,
  editor =       "{USENIX Association}",
  booktitle =    "Proceedings of the {Java Virtual Machine Research and
                 Technology Sy[m]posium (JVM '01): April 23--24, 2001,
                 Monterey, California, USA}",
  title =        "Proceedings of the {Java Virtual Machine Research and
                 Technology Sy[m]posium (JVM '01): April 23--24, 2001,
                 Monterey, California, USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "232",
  year =         "2001",
  ISBN =         "1-880446-11-1",
  ISBN-13 =      "978-1-880446-11-9",
  LCCN =         "QA76.73.J38 J42 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Sponsored by the USENIX Association",
  URL =          "http://www.usenix.org/events/jvm01/",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language) -- congresses; Java
                 virtual machine congresses",
}

@Proceedings{USENIX:2001:PUC,
  editor =       "{USENIX}",
  booktitle =    "Proceedings of the 6th USENIX Conference on
                 Object-Oriented Technologies and Systems, January
                 29--February 2, 2001, San Antonio, Texas, USA",
  title =        "Proceedings of the 6th {USENIX} Conference on
                 Object-Oriented Technologies and Systems, January
                 29--February 2, 2001, San Antonio, Texas, {USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "202",
  year =         "2001",
  ISBN =         "1-880446-12-X",
  ISBN-13 =      "978-1-880446-12-6",
  LCCN =         "????",
  bibdate =      "Tue Oct 15 18:08:16 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings/coots01/",
  acknowledgement = ack-nhfb,
  keyword =      "COOTS'01",
}

@Proceedings{USENIX:2001:UJV,
  editor =       "{USENIX}",
  booktitle =    "{Usenix Java Virtual Machine Research and Technology
                 Symposium (JVM '01)}",
  title =        "{Usenix Java Virtual Machine Research and Technology
                 Symposium (JVM '01)}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  month =        apr,
  year =         "2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
}

@Proceedings{Anonymous:2002:MIC,
  editor =       "Anonymous",
  booktitle =    "{MathML} International Conference: Hickory Ridge
                 Conference Center, Chicago, IL, USA, June 28--30,
                 2000",
  title =        "{MathML} International Conference: Hickory Ridge
                 Conference Center, Chicago, {IL}, {USA}, June 28--30,
                 2000",
  publisher =    "????",
  address =      "????",
  pages =        "????",
  year =         "2002",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Tue May 14 15:55:32 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.mathmlconference.org/2002/presentations.html",
  acknowledgement = ack-nhfb,
}

@Proceedings{Arnold:2002:JJT,
  editor =       "Ken Arnold and Guang R. Gao and Sudipto Ghosh",
  booktitle =    "{Java\slash Jini} technologies and high-performance
                 pervasive computing: {30 July and 1 August, 2002,
                 Boston, [Massachusetts] USA}",
  title =        "{Java\slash Jini} technologies and high-performance
                 pervasive computing: {30 July and 1 August, 2002,
                 Boston, [Massachusetts] USA}",
  number =       "4863",
  publisher =    pub-SPIE,
  address =      pub-SPIE:adr,
  pages =        "vii + 148",
  year =         "2002",
  ISBN =         "0-8194-4642-4",
  ISBN-13 =      "978-0-8194-4642-8",
  LCCN =         "QA76.9.D5 J38 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "SPIE proceedings series",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing
                 congresses; Java (computer program language)
                 congresses; Jini congresses",
}

@Proceedings{Chaudhri:2002:JD,
  editor =       "Akmal B. Chaudhri",
  booktitle =    "{Java} and databases",
  title =        "{Java} and databases",
  publisher =    "Hermes Penton Science",
  address =      "London, UK",
  pages =        "ix + 128",
  year =         "2002",
  ISBN =         "1-903996-15-5",
  ISBN-13 =      "978-1-903996-15-7",
  LCCN =         "QA76.73.J38 J38 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Based on revised papers submitted to the OOPSLA '99
                 workshop on ``Java and Databases: Persistence
                 Options'', held in Denver, Colorado, in November
                 1999.",
  series =       "Innovative technology series: information systems and
                 networks",
  acknowledgement = ack-nhfb,
  keywords =     "database management congresses; Java (computer program
                 language) congresses; object-oriented programming
                 (computer science) congresses",
}

@Proceedings{IEEE:2002:STI,
  editor =       "{IEEE}",
  booktitle =    "{SC2002}: From Terabytes to Insight. Proceedings of
                 the {IEEE ACM SC 2002 Conference, November 16--22,
                 2002, Baltimore, MD, USA}",
  title =        "{SC2002}: From Terabytes to Insight. Proceedings of
                 the {IEEE ACM SC 2002 Conference, November 16--22,
                 2002, Baltimore, MD, USA}",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "????",
  year =         "2002",
  ISBN =         "0-7695-1524-X",
  ISBN-13 =      "978-0-7695-1524-3",
  LCCN =         "????",
  bibdate =      "Thu Feb 21 18:29:36 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Proceedings{IEEE:2002:WII,
  editor =       "{IEEE}",
  booktitle =    "{WWC-5: 2002 IEEE International Workshop on Workload
                 Characterization: November 25, 2002, Austin, Texas}",
  title =        "{WWC-5: 2002 IEEE International Workshop on Workload
                 Characterization: November 25, 2002, Austin, Texas}",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "vi + 140",
  year =         "2002",
  ISBN =         "0-7803-7681-1",
  ISBN-13 =      "978-0-7803-7681-6",
  LCCN =         "QA76.9.S88; QA76.9.S88 W67 2002eb; Internet",
  bibdate =      "Tue Oct 24 10:16:21 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  note =         "IEEE Catalog Number 02EX633.",
  URL =          "http://ieeexplore.ieee.org/servlet/opac?punumber=8689",
  acknowledgement = ack-nhfb,
  subject =      "Electronic digital computers; Workload; Congresses;
                 System design; Computer engineering; Computer networks;
                 Computer systems",
}

@Proceedings{USENIX:2002:PJV,
  editor =       "{USENIX Association}",
  booktitle =    "Proceedings of the {2nd Java Virtual Machine Research
                 and Technology Symposium (JVM '02) : August 1--2, 2002,
                 San Francisco, California, USA}",
  title =        "Proceedings of the {2nd Java Virtual Machine Research
                 and Technology Symposium (JVM '02) : August 1--2, 2002,
                 San Francisco, California, USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "194",
  year =         "2002",
  ISBN =         "1-931971-01-3",
  ISBN-13 =      "978-1-931971-01-0",
  LCCN =         "QA76.73.J38 J42 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  URL =          "http://www.usenix.org/publications/library/proceedings",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language) congresses; Java
                 Virtual Machine congresses",
}

@Proceedings{ACM:2003:SII,
  editor =       "{ACM}",
  booktitle =    "SC2003: Igniting Innovation. {Phoenix, AZ, November
                 15--21, 2003}",
  title =        "{SC2003}: Igniting Innovation. {Phoenix, AZ, November
                 15--21, 2003}",
  publisher =    pub-ACM # " and " # pub-IEEE,
  address =      pub-ACM:adr # " and " # pub-IEEE:adr,
  pages =        "????",
  year =         "2003",
  ISBN =         "1-58113-695-1",
  ISBN-13 =      "978-1-58113-695-1",
  LCCN =         "????",
  bibdate =      "Thu Feb 21 18:29:36 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Proceedings{Guelfi:2003:SED,
  editor =       "Nicolas Guelfi and E. Astesiano and Gianna Reggio",
  booktitle =    "Scientific engineering for distributed {Java}
                 applications: international workshop, {FIDJI 2002,
                 Luxembourg-Kirchberg, Luxembourg, November 28--29,
                 2002}: revised papers",
  title =        "Scientific engineering for distributed {Java}
                 applications: international workshop, {FIDJI 2002,
                 Luxembourg-Kirchberg, Luxembourg, November 28--29,
                 2002}: revised papers",
  number =       "2604",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 204",
  year =         "2003",
  ISBN =         "3-540-00679-6 (softcover)",
  ISBN-13 =      "978-3-540-00679-4 (softcover)",
  LCCN =         "QA76.758 .F53 2002",
  bibdate =      "Tue May 6 05:26:58 MDT 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       "Lecture notes in computer science",
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t2604.htm",
  acknowledgement = ack-nhfb,
  keywords =     "electronic data processing -- distributed processing
                 -- congresses; Java (computer program language)
                 congresses; software engineering -- congresses",
}

@Proceedings{IEEE:2003:LES,
  editor =       "{IEEE}",
  booktitle =    "Learning from Earth's shapes and sizes: proceedings /
                 IGARSS 2003, 2003 IEEE International Geoscience and
                 Remote Sensing Symposium, Centre de Congr{\`e}s Pierre
                 Baudis, Toulouse, France, 21--25 July 2003",
  title =        "Learning from Earth's shapes and sizes: proceedings /
                 {IGARSS} 2003, 2003 {IEEE} International Geoscience and
                 Remote Sensing Symposium, Centre de Congr{\`e}s Pierre
                 Baudis, Toulouse, France, 21--25 July 2003",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "????",
  year =         "2003",
  ISBN =         "0-7803-7929-2 (softbound) 0-7803-7930-6 (CD-ROM)",
  ISBN-13 =      "978-0-7803-7929-9 (softbound) 978-0-7803-7930-5
                 (CD-ROM)",
  LCCN =         "QE33.2.R4 .I58 2003",
  bibdate =      "Tue Dec 09 05:51:04 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "7 volumes.",
  acknowledgement = ack-nhfb,
}

@Proceedings{IEEE:2003:PCI,
  editor =       "{ACM}",
  booktitle =    "Proceedings of the international symposium on code
                 generation and optimization: feedback-directed and
                 runtime optimization",
  title =        "Proceedings of the international symposium on code
                 generation and optimization: feedback-directed and
                 runtime optimization",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "349",
  year =         "2003",
  ISBN =         "0-7695-1913-X",
  ISBN-13 =      "978-0-7695-1913-5",
  bibdate =      "Thu Jun 09 18:32:22 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "ACM Order No.: 530033",
  acknowledgement = ack-nhfb,
  keywords =     "EPIC; Intel IA-64; Itanium",
}

@Proceedings{IEEE:2003:PSR,
  editor =       "{IEEE}",
  booktitle =    "Proceedings / 22nd International Symposium on Reliable
                 Distributed Systems, 6-8 October 2003, Florence,
                 Italy",
  title =        "Proceedings of the Symposium on Reliable Distributed
                 Systems, 22 October 2003, Florence, Italy",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "ix + 390",
  year =         "2003",
  CODEN =        "????",
  ISBN =         "0-7695-1955-5",
  ISBN-13 =      "978-0-7695-1955-5",
  ISSN =         "1060-9857",
  LCCN =         "QA76.9.D5 S94 2003",
  bibdate =      "Tue Dec 09 05:55:00 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Proceedings{ACM:2004:SHP,
  editor =       "{ACM}",
  booktitle =    "{SC 2004: High Performance Computing, Networking and
                 Storage: Bridging communities: Proceedings of the
                 IEEE\slash ACM Supercomputing 2004 Conference,
                 Pittsburgh, PA, November 6--12, 2004}",
  title =        "{SC 2004: High Performance Computing, Networking and
                 Storage: Bridging communities: Proceedings of the
                 IEEE\slash ACM Supercomputing 2004 Conference,
                 Pittsburgh, PA, November 6--12, 2004}",
  publisher =    pub-ACM # " and " # pub-IEEE,
  address =      pub-ACM:adr # " and " # pub-IEEE:adr,
  pages =        "????",
  year =         "2004",
  ISBN =         "0-7695-2153-3",
  ISBN-13 =      "978-0-7695-2153-4",
  LCCN =         "????",
  bibdate =      "Tue Dec 27 08:08:01 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  acknowledgement = ack-nhfb,
}

@Book{Freeman:2004:HFD,
  editor =       "Eric Freeman and Elisabeth Freeman and Kathy Sierra
                 and Bert Bates",
  booktitle =    "Head first design patterns",
  title =        "Head first design patterns",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxxvi + 638",
  year =         "2004",
  ISBN =         "0-596-00712-4, 0-596-00712-4",
  ISBN-13 =      "978-0-596-00712-6, 978-0-596-00712-6",
  LCCN =         "QA76.76.D47 H427 2004eb; QA76.76.D47 F74 2004;
                 QA76.76.D47; QA76.76.D47 H427 2004",
  bibdate =      "Tue Aug 5 17:43:02 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596007126",
  acknowledgement = ack-nhfb,
  subject =      "Computer software; Development; Java (Computer program
                 language)",
  tableofcontents = "Welcome to design patterns \\
                 Keeping your objects in the know \\
                 Decorating objects \\
                 Baking with OO goodness \\
                 One of a kind objects \\
                 Encapsulating invocation \\
                 Being adaptive \\
                 Encapsulating algorithms \\
                 Well-managed collections \\
                 The state of things \\
                 Controlling object access \\
                 Patterns of patterns \\
                 Patterns in the real world \\
                 Appendix: leftover patterns",
}

@Proceedings{Guelfi:2004:SED,
  editor =       "Nicolas Guelfi and Egidio Astesiano and Gianna
                 Reggio",
  booktitle =    "{Scientific Engineering of Distributed Java
                 Applications: Third International Workshop, FIDJI 2003,
                 Luxembourg-Kirchberg, Luxembourg, November 27--28,
                 2003: Revised Papers}",
  title =        "{Scientific Engineering of Distributed Java
                 Applications: Third International Workshop, FIDJI 2003,
                 Luxembourg-Kirchberg, Luxembourg, November 27--28,
                 2003: Revised Papers}",
  volume =       "2952",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 154",
  year =         "2004",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/b95352",
  ISBN =         "3-540-21091-1",
  ISBN-13 =      "978-3-540-21091-7",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.758 .F53 2003",
  bibdate =      "Tue Nov 16 06:47:40 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t2952.htm;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=2952;
                 http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b95352",
  acknowledgement = ack-nhfb,
}

@Proceedings{Jacobsen:2004:MAI,
  editor =       "Hans-Arno Jacobsen",
  booktitle =    "{Middleware 2004: ACM\slash IFIP\slash USENIX
                 International Middleware Conference, Toronto, Canada,
                 October 18--22, 2004: proceedings}",
  title =        "{Middleware 2004: ACM\slash IFIP\slash USENIX
                 International Middleware Conference, Toronto, Canada,
                 October 18--22, 2004: proceedings}",
  volume =       "3231",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xv + 514",
  year =         "2004",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/b101561",
  ISBN =         "3-540-23428-4 (softcover)",
  ISBN-13 =      "978-3-540-23428-9 (softcover)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.76.M54 I33 2004",
  bibdate =      "Sat Jun 4 05:55:16 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       ser-LNCS,
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3231;
                 http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b101561",
  acknowledgement = ack-nhfb,
  meetingname =  "ACM/IFIP/USENIX International Middleware Conference
                 (2004 : Toronto, Ont.)",
  subject =      "Middleware; Congresses; Electronic data processing;
                 Distributed processing; Congresses",
}
@Proceedings{Syropoulos:2004:TXD,
  editor =       "Apostolos Syropoulos and Karl Berry and Yannis
                 Haralambous and Baden Hughes and Steven Peter and John
                 Plaice",
  booktitle =    "{{\TeX}, XML, and Digital Typography: International
                 Conference on \TeX, XML, and Digital Typography, held
                 jointly with the 25th Annual Meeting of the \TeX{}
                 Users Group, TUG 2004, Xanthi, Greece, August
                 30--September 3, 2004: Proceedings}",
  title =        "{{\TeX}, XML, and Digital Typography: International
                 Conference on \TeX, XML, and Digital Typography, held
                 jointly with the 25th Annual Meeting of the \TeX{}
                 Users Group, TUG 2004, Xanthi, Greece, August
                 30--September 3, 2004: Proceedings}",
  volume =       "3130",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "viii + 263",
  year =         "2004",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/b99374",
  ISBN =         "3-540-22801-2 (paperback)",
  ISBN-13 =      "978-3-540-22801-1 (paperback)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  LCCN =         "Z253.3 I58 2004",
  bibdate =      "Tue Nov 16 08:40:30 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/lncs.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook3.bib;
                 http://www.math.utah.edu/pub/tex/bib/texgraph.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t3130.htm;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3130;
                 http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b99374",
  acknowledgement = ack-nhfb,
  tableofcontents = "Digital Typography in the New Millennium: Flexible
                 Documents by a Flexible Engine / Christos K. K.
                 Loverdos and Apostolos Syropoulos / 1--16 \\
                 Moving $\Omega$ to an Object-Oriented Platform / John
                 Plaice, Yannis Haralambous, Paul Swoboda, and G{\'a}bor
                 Bella / 17--26 \\
                 Basque: A Case Study in Generalizing LaTeX Language
                 Support / Jagoba Arias P{\'e}rez, Jes{\'u}s L{\'a}zaro,
                 and Juan M. Aguirregabiria / 27--33 \\
                 $\mu o \nu o 2 \pi o \lambda \nu$: Java-Based
                 Conversion of Monotonic to Polytonic Greek / Johannes
                 Likos / 34--54 \\
                 Using LaTeX to Typeset a
                 Mar{\=a}{\d{t}}h{\=\i}--English Dictionary / Manasi
                 Athale and Rahul Athale / 55--58 \\
                 Hyphenation Patterns for Ancient and Modern Greek /
                 Dimitrios Filippou / 59--67 \\
                 Typesetting the Deseret Alphabet with LaTeX and
                 METAFONT / Kenneth R. Beesley / 68--111 \\
                 FEATPOST and a Review of 3D METAPOST Packages / Luis
                 Nobre Gon{\c{c}}alves / 112--124 \\
                 Interactive Editing of MathML Markup Using TeX Syntax /
                 Luca Padovani / 125--139 \\
                 Typesetting CJK Languages with $\Omega$ / Jin-Hwan Cho
                 / 139--139 \\
                 Dynamic Arabic Mathematical Fonts / Mustapha Eddahibi,
                 Azzeddine Lazrek, and Khalid Sami / 149--157 \\
                 Arabic Mathematical e-Documents / Mustapha Eddahibi,
                 Azzeddine Lazrek, and Khalid Sami / 158--168 \\
                 Migrating to XML: The Case of the GUST Bulletin Archive
                 / W{\l}odzimierz Bzyl and Tomasz Przechlewski /
                 169--178 \\
                 Animations in pdfTeX-Generated PDF / Jan Hole{\c{c}}ek
                 and Petr Sojka / 179--191 \\
                 iTeXMac: An Integrated TeX Environment for Mac OS X /
                 J{\'e}r{\^o}ne Laurens / 192--202 \\
                 MlBibTeX: Beyond LaTeX / Jan-Michel Hufflen / 203--215
                 \\
                 Managing TeX Resources with XML Topic Maps / Tomasz
                 Przechlewski / 216--228 \\
                 {\c{S}}{\"a}ferTeX: Source Code Esthetics for Automated
                 Typesetting / Frank-Rene Schaefer / 229--239 \\
                 Creating Type 1 Fonts from metafont Sources / Karel
                 P{\'\i}{\v{s}}ka / 240--256 \\
                 Beyond Glyphs, Advanced Typographic Features of Fonts /
                 George Williams / 257--263 \\
                 Author Index / / 256--256",
}

@Proceedings{ACM:2005:PFA,
  editor =       "{ACM}",
  booktitle =    "{Proceedings of the First ACM\slash USENIX
                 International Conference on Virtual Execution
                 Environments: VEE '05: June 11--12, 2005, Chicago,
                 Illinois, USA}",
  title =        "{Proceedings of the First ACM\slash USENIX
                 International Conference on Virtual Execution
                 Environments: VEE '05: June 11--12, 2005, Chicago,
                 Illinois, USA}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "viii + 208",
  year =         "2005",
  ISBN =         "1-59593-047-7",
  ISBN-13 =      "978-1-59593-047-7",
  LCCN =         "QA76.9.V5 I575 2005",
  bibdate =      "Sat Oct 14 15:31:34 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90;
                 z3950.loc.gov:7090/Voyager",
  note =         "ACM order number 548059.",
  URL =          "http://www.loc.gov/catdir/toc/fy0611/2006530661.html",
  acknowledgement = ack-nhfb,
  meetingname =  "International Conference on Virtual Execution
                 Environments (1st: 2005: Chicago, IL)",
  subject =      "Virtual computer systems; Congresses",
}

@Proceedings{Guelfi:2005:SED,
  editor =       "Nicolas Guelfi and Gianna Reggio and Alexander
                 Romanovsky",
  booktitle =    "{Scientific Engineering of Distributed Java
                 Applications: 4th International Workshop, FIDJI 2004,
                 Luxembourg-Kirchberg, Luxembourg, November 24--25,
                 2004. Revised selected papers}",
  title =        "{Scientific Engineering of Distributed Java
                 Applications: 4th International Workshop, FIDJI 2004,
                 Luxembourg-Kirchberg, Luxembourg, November 24--25,
                 2004. Revised selected papers}",
  volume =       "3409",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 122",
  year =         "2005",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/b106620",
  ISBN =         "3-540-25053-0 (soft cover)",
  ISBN-13 =      "978-3-540-25053-1 (soft cover)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.758 .F53 2004",
  bibdate =      "Thu Jun 2 09:14:54 MDT 2005",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       ser-LNCS,
  URL =          "http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3409;
                 http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b106620",
  acknowledgement = ack-nhfb,
}

@Proceedings{Skeie:2005:PIC,
  editor =       "Tor Skeie and Chu-Sing Yang and others",
  booktitle =    "{Proceedings: 2005 International Conference on
                 Parallel Processing Workshops, 14--17 June 2005, Oslo,
                 Norway}",
  title =        "{Proceedings: 2005 International Conference on
                 Parallel Processing Workshops, 14--17 June 2005, Oslo,
                 Norway}",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "xv + 623",
  year =         "2005",
  ISBN =         "0-7695-2381-1",
  ISBN-13 =      "978-0-7695-2381-1",
  LCCN =         "QA76.58; QA76.58 .I34 2005",
  bibdate =      "Tue Oct 24 09:52:24 MDT 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  note =         "IEEE Computer Society order number P2381.",
  URL =          "http://ieeexplore.ieee.org/servlet/opac?punumber=9965",
  acknowledgement = ack-nhfb,
  meetingname =  "International Conference on Parallel Processing
                 Workshops (2005 : Oslo, Norway)",
  remark =       "Includes proceedings from the 1st Workshop on Web and
                 Grid Services for Scientific Data Analysis (WAGSSDA),
                 the 7th Workshop on High Performance Scientific and
                 Engineering Computing (HPSEC), the 2nd International
                 Workshop on Embedded Computing (IWEC), the 4th Workshop
                 on Compile and Runtime Techniques for Parallel
                 Computing (CRTPC), the Workshop on Wireless and Sensor
                 Networks (WSNET), the 1st Workshop on Performance
                 Evaluation of Networks for Parallel, Cluster and Grid
                 Computing Systems (PEN-PCGCS), and the 1st Workshop on
                 Parallel Bioinspired Algorithms.",
  subject =      "Parallel processing (Electronic computers);
                 Congresses; Electronic data processing; Distributed
                 processing",
}

@Proceedings{ACM:2006:PCC,
  editor =       "{ACM}",
  booktitle =    "{Proceedings of the 3rd conference on Computing
                 Frontiers, May 3--5, 2006, Ischia, Italy}",
  title =        "{Proceedings of the 3rd conference on Computing
                 Frontiers, May 3--5, 2006, Ischia, Italy}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  year =         "2006",
  ISBN =         "1-59593-302-6",
  ISBN-13 =      "978-1-59593-302-7",
  LCCN =         "????",
  bibdate =      "Tue Jun 20 06:45:04 2006",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "ACM order number 104060.",
  acknowledgement = ack-nhfb,
}

@Book{Ford:2006:NFJ,
  editor =       "Neal Ford",
  booktitle =    "No fluff, just stuff anthology: the 2006 edition",
  title =        "No fluff, just stuff anthology: the 2006 edition",
  publisher =    pub-PRAGMATIC-BOOKSHELF,
  address =      pub-PRAGMATIC-BOOKSHELF:adr,
  pages =        "xi + 240",
  year =         "2006",
  ISBN =         "0-9776166-6-5 (paperback)",
  ISBN-13 =      "978-0-9776166-6-4 (paperback)",
  LCCN =         "QA76.76.D47 N646 2006",
  bibdate =      "Tue Aug 5 18:16:05 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780977616664",
  acknowledgement = ack-nhfb,
  remark =       "Pragmatic Programmers. First printing, June 2006.
                 Version 2006-5-8.",
  subject =      "Computer software; Development; Application software;
                 Java (Computer program language); Web site development;
                 Software engineering",
  tableofcontents = "Real world web services / Scott Davis \\
                 DSLs and language-oriented programming / Neal Ford \\
                 Shale / David Geary \\
                 Test categorization techniques / Andrew Glover \\
                 Spring AOP / Stuart Halloway \\
                 Dependency management / Kirk Knoernschild \\
                 Process choreography and the enterprise service bus /
                 Mark Richards \\
                 The cornerstone of a great shop / Jared Richardson \\
                 Help! I've inherited legacy code! / Jared Richardson
                 \\
                 Using code coverage to improve testing effectiveness /
                 Ian Roughley \\
                 Extreme decorator : total object makeover / Brian
                 Sletten \\
                 From fragility to agility : methodologies and practices
                 / Venkat Subramaniam \\
                 The many guises of method instrumentation / Eitan Suez
                 \\
                 CSS : a programmer's perspective / Eitan Suez \\
                 Buried treasure / Glenn Vanderburg",
}

@Proceedings{Beckert:2007:VOO,
  editor =       "Bernhard Beckert and Reiner H{\"a}hnle and Peter H.
                 Schmitt",
  booktitle =    "{Verification of Object-Oriented Software. The KeY
                 Approach}",
  title =        "{Verification of Object-Oriented Software. The KeY
                 Approach}",
  volume =       "4334",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "626 (est.)",
  year =         "2007",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/978-3-540-69061-0",
  ISBN =         "3-540-68977-X (print), 3-540-69061-1 (e-book)",
  ISBN-13 =      "978-3-540-68977-5 (print), 978-3-540-69061-0
                 (e-book)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "????",
  bibdate =      "Wed Dec 19 15:24:46 MST 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/lncs.bib",
  note =         "Foreword by K. Rustan M. Leino.",
  series =       ser-LNCS,
  URL =          "http://www.springerlink.com/content/978-3-540-69061-0",
  acknowledgement = ack-nhfb,
  keywords =     "KeY tool for Java",
}

@Proceedings{Simos:2007:CMS,
  editor =       "Theodore E. Simos and George Maroulis",
  booktitle =    "{Computation in Modern Science and Engineering:
                 Proceedings of the International Conference on
                 Computational Methods in Science and Engineering 2007
                 (ICCMSE 2007), Corfu, Greece, 25--30 September 2007}",
  title =        "{Computation in Modern Science and Engineering:
                 Proceedings of the International Conference on
                 Computational Methods in Science and Engineering 2007
                 (ICCMSE 2007), Corfu, Greece, 25--30 September 2007}",
  volume =       "2A",
  publisher =    pub-AIP,
  address =      pub-AIP:adr,
  pages =        "xxvi + 730 + 10 (vol. 2A)",
  year =         "2007",
  ISBN =         "0-7354-0476-3 (set), 0-7354-0477-1 (vol. 1),
                 0-7354-0478-X (vol. 2)",
  ISBN-13 =      "978-0-7354-0476-2 (set), 978-0-7354-0477-9 (vol. 1),
                 978-0-7354-0478-6 (vol. 2)",
  LCCN =         "Q183.9 2007",
  bibdate =      "Thu Feb 21 14:15:15 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2000.bib",
  note =         "Two volumes.",
  acknowledgement = ack-nhfb,
}

@Proceedings{Lenzerini:2008:PTS,
  editor =       "Maurizio Lenzerini and Domenico Lembo",
  booktitle =    "{Proceedings of the Twenty-Seventh ACM
                 SIGMOD-SIGACT-SIGART Symposium on Principles of
                 Database Systems: PODS'08, Vancouver, BC, Canada, June
                 9--11, 2008}",
  title =        "{Proceedings of the Twenty-Seventh ACM
                 SIGMOD-SIGACT-SIGART Symposium on Principles of
                 Database Systems: PODS'08, Vancouver, BC, Canada, June
                 9--11, 2008}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xi + 313",
  year =         "2008",
  ISBN =         "1-60560-932-3",
  ISBN-13 =      "978-1-60560-932-4",
  LCCN =         "????",
  bibdate =      "Fri Jun 20 13:10:29 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/pods.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  xxISBN =       "1-59593-685-8",
  xxisbn-13 =    "978-1-59593-685-1",
  xxnote =       "There is library confusion about the ISBN: I found
                 1-60558-152-6 (tagged invalid in catalog),
                 1-605-60932-3, 1-59593-685-9, 1-59593-685-X (invalid
                 checksum).",
}