Valid HTML 4.0! Valid CSS!
%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.16",
%%%     date            = "08 April 2021",
%%%     time            = "05:30:23 MDT",
%%%     filename        = "java2020.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        = "25008 1978 7945 87394",
%%%     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; Scala; 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
%%%                        2020--2029.  The companion bibliography,
%%%                        java.bib, covers the years 1995--1999, and
%%%                        java2000.bib covers 2000--2009.
%%%
%%%                        At version 1.16, year coverage looked
%%%                        like this:
%%%
%%%                             2020 (  30)    2021 (   5)
%%%
%%%                             Article:         35
%%%
%%%                             Total entries:   35
%%%
%%%                        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 \booktitle \def \booktitle #1{{{\em #1}}}    \fi" #
          "\ifx \undefined \circled   \def \circled   #1{(#1)}          \fi" #
          "\ifx \undefined \Dbar       \def \Dbar {\leavevmode\raise0.2ex\hbox{--}\kern-0.5emD} \fi" #
          "\ifx \undefined \k         \let \k = \c                      \fi" #
          "\ifx \undefined \pkg       \def \pkg       #1{{{\tt #1}}}    \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-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-BIOINFORMATICS        = "Bioinformatics"}

@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-MATH-APPL        = "Computers and Mathematics with
                                  Applications"}

@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-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-COMPUTING             = "Computing"}

@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-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-MICRO            = "IEEE Micro"}

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

@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-BIG-DATA   = "IEEE Transactions on Big Data"}

@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-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-INFOWORLD             = "InfoWorld"}

@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-INFO-SEC        = "International Journal of Information
                                  Security"}

@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-INTEL-TECH-J          = "Intel Technology Journal"}

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

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

@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-SECUR          = "Journal of Computer Security"}

@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-BIOL         = "Journal of Computational Biology"}

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

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

@String{j-J-CRYPTO-ENG          = "Journal of Cryptographic Engineering"}

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

@String{j-J-FUNCT-PROGRAM       = "Journal of Functional Programming"}

@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-OPEN-RES-SOFT       = "Journal of Open Research Software"}

@String{j-J-OPEN-SOURCE-SOFT    = "Journal of Open Source Software"}

@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-SOFTW-EVOL-PROC     = "Journal of Software: Evolution and Process"}

@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-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-NEUROIMAGE            = "NeuroImage"}

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

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

@String{j-PACMPL                = "Proceedings of the ACM on Programming
                                   Languages (PACMPL)"}

@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-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-PROC-VLDB-ENDOWMENT   = "Proceedings of the VLDB Endowment"}

@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-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-SIGADA-LETTERS        = "ACM SIGADA Ada Letters"}

@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-SOFTWAREX             = "SoftwareX"}

@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-TAAS                  = "ACM Transactions on Autonomous and
                                  Adaptive Systems (TAAS)"}

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

@String{j-TALG                  = "ACM Transactions on Algorithms"}

@String{j-TAP                   = "ACM Transactions on Applied Perception"}

@String{j-TCBB                  = "IEEE/ACM Transactions on Computational
                                  Biology and Bioinformatics"}

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

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

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

@String{j-TISSEC                = "ACM Transactions on Information and System
                                  Security"}

@String{j-TIST                 = "ACM Transactions on Intelligent Systems and
                                  Technology (TIST)"}

@String{j-TMIS                  = "ACM Transactions on Management Information
                                  Systems (TMIS)"}

@String{j-TOCE                  = "ACM Transactions on Computing Education"}

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

@String{j-TOCL                  = "ACM Transactions on Computational Logic"}

@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-TOMACS                = "ACM Transactions on Modeling and
                                  Computer Simulation"}

@String{j-TOMPECS               = "ACM Transactions on Modeling and Performance
                                  Evaluation of Computing Systems (TOMPECS)"}

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

@String{j-TOPC                  = "ACM Transactions on Parallel Computing
                                  (TOPC)"}

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

@String{j-TOPS                  = "ACM Transactions on Privacy and Security
                                  (TOPS)"}

@String{j-TOS                   = "ACM Transactions on Storage"}

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

@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-PEARSON-EDUCATION   = "Pearson Education"}
@String{pub-PEARSON-EDUCATION:adr = "Upper Saddle River, NJ, 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-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-SCOTT-JONES         = "Scott\slash Jones"}
@String{pub-SCOTT-JONES:adr     = "El Granada, CA, USA"}

@String{pub-SIAM                = "SIAM Press"}
@String{pub-SIAM:adr            = "Philadelphia, PA, 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-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-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.
@Article{Anonymous:2020:SWS,
  author =       "Anonymous",
  title =        "Skills wanted: {Sql}, {Java}, {Python}, and {AWS} top
                 employers' wish lists --- [Careers]",
  journal =      j-IEEE-SPECTRUM,
  volume =       "57",
  number =       "1",
  pages =        "59--59",
  month =        jan,
  year =         "2020",
  CODEN =        "IEESAM",
  DOI =          "https://doi.org/10.1109/MSPEC.2020.8946316",
  ISSN =         "0018-9235 (print), 1939-9340 (electronic)",
  ISSN-L =       "0018-9235",
  bibdate =      "Fri Jan 17 09:23:28 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeespectrum2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Spectrum",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
}

@Article{Artho:2020:JPW,
  author =       "Cyrille Artho and Quoc-Sang Phan and Peter Aldous and
                 Alyas Almaawi and Lucas Bang and Lasse Berglund and
                 Tevfik Bultan and Zhenbang Chen and Hayes Converse and
                 Wei Dong and William Eiers and Milos Gligoric and Simon
                 Goldsmith and Lars Grunske and Joshua Hooker and Ismet
                 Burak Kadron and Timo Kehrer and Sarfraz Khurshid and
                 Xuan-Bach D. Le and David Lo and Eric Mercer and Sasa
                 Misailovic and Egor Namakonov and Hoang Lam Nguyen and
                 Yannic Noller and Benjamin Ogles and Rohan Padhye and
                 Pavel Parizek and Corina S. Pasareanu and S. Jacob
                 Powell and Seemanta Saha and Koushik Sen and Elena
                 Sherman and Kyle Storey and Minxing Tang and Willem
                 Visser and Ji Wang and Hengbiao Yu",
  title =        "The {Java Pathfinder Workshop 2019}",
  journal =      j-SIGSOFT,
  volume =       "45",
  number =       "2",
  pages =        "20--22",
  month =        apr,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3385678.3385685",
  bibdate =      "Wed Mar 24 14:24:57 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/sigsoft2020.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3385678.3385685",
  abstract =     "Java Path nder (JPF) was originally developed as an
                 explicit-state software model checker, and subsequently
                 evolved into an extensible Java bytecode analysis
                 framework that has been successfully used to implement
                 techniques such as symbolic and \ldots{}",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/loi/sigsoft",
}

@Article{Basin:2020:KKV,
  author =       "Dmitry Basin and Edward Bortnikov and Anastasia
                 Braginsky and Guy Golan-Gueta and Eshcar Hillel and
                 Idit Keidar and Moshe Sulamy",
  title =        "{KiWi}: a Key--value Map for Scalable Real-time
                 Analytics",
  journal =      j-TOPC,
  volume =       "7",
  number =       "3",
  pages =        "16:1--16:28",
  month =        aug,
  year =         "2020",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3399718",
  ISSN =         "2329-4949 (print), 2329-4957 (electronic)",
  ISSN-L =       "2329-4949",
  bibdate =      "Thu Aug 6 08:56:07 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/topc.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3399718",
  abstract =     "We present KiWi, the first atomic KV-map to
                 efficiently support simultaneous large scans and
                 real-time access. The key to achieving this is treating
                 scans as first class citizens and organizing the data
                 structure around them. KiWi provides wait-free scans,
                 whereas its put operations are lightweight and
                 lock-free. It optimizes memory management jointly with
                 data structure access. We implement KiWi and compare it
                 to state-of-the-art solutions. Compared to other
                 KV-maps providing atomic scans, KiWi performs either
                 long scans or concurrent puts an order of magnitude
                 faster. Its scans are twice as fast as non-atomic ones
                 implemented via iterators in the Java skiplist.",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "ACM Transactions on Parallel Computing",
  journal-URL =  "https://dl.acm.org/loi/topc",
}

@Article{Blanco:2020:USE,
  author =       "Guillermo Blanco and Roi P{\'e}rez-L{\'o}pez and
                 Florentino Fdez-Riverola and An{\'a}lia Maria Garcia
                 Louren{\c{c}}o",
  title =        "Understanding the social evolution of the {Java}
                 community in {Stack Overflow}: a 10-year study of
                 developer interactions",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "105",
  number =       "??",
  pages =        "446--454",
  month =        apr,
  year =         "2020",
  CODEN =        "FGSEVI",
  DOI =          "https://doi.org/10.1016/j.future.2019.12.021",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Mon Feb 10 12:55:07 MST 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/futgencompsys.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167739X19311884",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Bright:2020:ODP,
  author =       "Walter Bright and Andrei Alexandrescu and Michael
                 Parker",
  title =        "Origins of the {D} programming language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "73:1--73:38",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386323",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/unicode.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386323",
  abstract =     "As its name suggests, the initial motivation for the D
                 programming language was to improve on C and C++ while
                 keeping their spirit. The D language was to preserve
                 those languages' efficiency, low-level access, and
                 Algol-style syntax. The areas D set out o improve
                 focused initially on rapid development, convenience,
                 and simplifying the syntax without hampering
                 expressiveness.\par

                 The genesis of D has its peculiarities, as is the case
                 with many other languages. Walter Bright, D's creator,
                 is a mechanical engineer by education who started out
                 working for Boeing designing gearboxes for the 757. He
                 was programming games on the side, and in trying to
                 make his game Empire run faster, became interested in
                 compilers. Despite having no experience, Bright set out
                 in 1982 to implement a compiler that produced better
                 code than those on the market at the time.\par

                 This interest materialized into a C compiler, followed
                 by compilers for C++, Java, and JavaScript. Best known
                 of these would be the Zortech C++ compiler, the first
                 (and to date only) C++-to-native compiler developed by
                 a single person. The D programming language began in
                 1999 as an effort to pull the best features of these
                 languages into a new one. Fittingly, D would use the by
                 that time mature C/C++ back end (optimizer and code
                 generator) that had been under continued development
                 and maintenance since 1982.\par

                 Between 1999 and 2006, Bright worked alone on the D
                 language definition and its implementation, although a
                 steadily increasing volume of patches from users was
                 incorporated. The new language would be based on the
                 past successes of the languages he'd used and
                 implemented, but would be clearly looking to the
                 future. D started with choices that are obvious today
                 but were less clear winners back in the 1990s: full
                 support for Unicode, IEEE floating point, 2s complement
                 arithmetic, and flat memory addressing (memory is
                 treated as a linear address space with no
                 segmentation). It would do away with certain
                 compromises from past languages imposed by shortages of
                 memory (for example, forward declarations would not be
                 required). It would primarily appeal to C and C++
                 users, as expertise with those languages would be
                 readily transferrable. The interface with C was
                 designed to be zero cost.\par

                 The language design was begun in late 1999. An alpha
                 version appeared in 2001 and the initial language was
                 completed, somewhat arbitrarily, at version 1.0 in
                 January 2007. During that time, the language evolved
                 considerably, both in capability and in the accretion
                 of a substantial worldwide community that became
                 increasingly involved with contributing. The front end
                 was open-sourced in April 2002, and the back end was
                 donated by Symantec to the open source community in
                 2017. Meanwhile, two additional open-source back ends
                 became mature in the 2010s: `gdc` (using the same back
                 end as the GNU C++ compiler) and `ldc` (using the LLVM
                 back end).\par

                 The increasing use of the D language in the 2010s
                 created an impetus for formalization and development
                 management. To that end, the D Language Foundation was
                 created in September 2015 as a nonprofit corporation
                 overseeing work on D's definition and implementation,
                 publications, conferences, and collaborations with
                 universities.",
  acknowledgement = ack-nhfb,
  articleno =    "73",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Fang:2020:DMJ,
  author =       "Yong Fang and Cheng Huang and Yu Su and Yaoyao Qiu",
  title =        "Detecting malicious {JavaScript} code based on
                 semantic analysis",
  journal =      j-COMPUT-SECUR,
  volume =       "93",
  number =       "??",
  pages =        "Article 101764",
  month =        jun,
  year =         "2020",
  CODEN =        "CPSEDU",
  DOI =          "https://doi.org/10.1016/j.cose.2020.101764",
  ISSN =         "0167-4048 (print), 1872-6208 (electronic)",
  ISSN-L =       "0167-4048",
  bibdate =      "Wed Mar 10 08:25:03 MST 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computsecur2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167404820300481",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers \& Security",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01674048",
}

@Article{Foket:2020:EEJ,
  author =       "Christophe Foket and Koen {De Bosschere} and Bjorn {De
                 Sutter}",
  title =        "Effective and efficient {Java}-type obfuscation",
  journal =      j-SPE,
  volume =       "50",
  number =       "2",
  pages =        "136--160",
  month =        feb,
  year =         "2020",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.2773",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Aug 14 11:05:21 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "29 November 2019",
}

@Article{Frison:2020:BAB,
  author =       "Gianluca Frison and Tommaso Sartor and Andrea Zanelli
                 and Moritz Diehl",
  title =        "The {BLAS API} of {BLASFEO}: Optimizing Performance
                 for Small Matrices",
  journal =      j-TOMS,
  volume =       "46",
  number =       "2",
  pages =        "15:1--15:36",
  month =        jun,
  year =         "2020",
  CODEN =        "ACMSCU",
  DOI =          "https://doi.org/10.1145/3378671",
  ISSN =         "0098-3500 (print), 1557-7295 (electronic)",
  ISSN-L =       "0098-3500",
  bibdate =      "Fri Jun 12 07:37:53 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/matlab.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib;
                 http://www.math.utah.edu/pub/tex/bib/toms.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3378671",
  abstract =     "Basic Linear Algebra Subroutines For Embedded
                 Optimization (BLASFEO) is a dense linear algebra
                 library providing high-performance implementations of
                 BLAS- and LAPACK-like routines for use in embedded
                 optimization and other applications targeting
                 relatively small matrices. BLASFEO defines an
                 application programming interface (API) which uses a
                 packed matrix format as its native format. This format
                 is analogous to the internal memory buffers of
                 optimized BLAS, but it is exposed to the user and it
                 removes the packing cost from the routine call. For
                 matrices fitting in cache, BLASFEO outperforms
                 optimized BLAS implementations, both open source and
                 proprietary. This article investigates the addition of
                 a standard BLAS API to the BLASFEO framework, and
                 proposes an implementation switching between two or
                 more algorithms optimized for different matrix sizes.
                 Thanks to the modular assembly framework in BLASFEO,
                 tailored linear algebra kernels with mixed column- and
                 panel-major arguments are easily developed. This BLAS
                 API has lower performance than the BLASFEO API, but it
                 nonetheless outperforms optimized BLAS and especially
                 LAPACK libraries for matrices fitting in cache.
                 Therefore, it can boost a wide range of applications,
                 where standard BLAS and LAPACK libraries are employed
                 and the matrix size is moderate. In particular, this
                 article investigates the benefits in scientific
                 programming languages such as Octave, SciPy, and
                 Julia.",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "ACM Transactions on Mathematical Software (TOMS)",
  journal-URL =  "https://dl.acm.org/loi/toms",
}

@Article{Ghanavati:2020:MRL,
  author =       "Mohammadreza Ghanavati and Diego Costa and Janos
                 Seboek and David Lo and Artur Andrzejak",
  title =        "Memory and resource leak defects and their repairs in
                 {Java} projects",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "25",
  number =       "1",
  pages =        "678--718",
  month =        jan,
  year =         "2020",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-019-09731-8",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Wed Apr 29 09:48:41 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://link.springer.com/article/10.1007/s10664-019-09731-8",
  acknowledgement = ack-nhfb,
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
}

@Article{Ghiotto:2020:NMC,
  author =       "G. Ghiotto and L. Murta and M. Barros and A. {van der
                 Hoek}",
  title =        "On the Nature of Merge Conflicts: A Study of 2,731
                 Open Source {Java} Projects Hosted by {GitHub}",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "46",
  number =       "8",
  pages =        "892--915",
  year =         "2020",
  CODEN =        "IESEDJ",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Sep 17 07:36:32 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Griesemer:2020:FG,
  author =       "Robert Griesemer and Raymond Hu and Wen Kokke and
                 Julien Lange and Ian Lance Taylor and Bernardo Toninho
                 and Philip Wadler and Nobuko Yoshida",
  title =        "Featherweight {Go}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "149:1--149:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428217",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428217",
  abstract =     "We describe a design for generics in Go inspired by
                 previous work on Featherweight Java by Igarashi,
                 Pierce, and Wadler. Whereas subtyping in Java is
                 nominal, in Go it is structural, and whereas generics
                 in Java are defined via erasure, in Go we use
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "149",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Harlander:2020:F,
  author =       "R. V. Harlander and S. Y. Klein and M. Lipp",
  title =        "{FeynGame}",
  journal =      j-COMP-PHYS-COMM,
  volume =       "256",
  number =       "??",
  pages =        "Article 107465",
  month =        nov,
  year =         "2020",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/j.cpc.2020.107465",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Sat Mar 13 08:21:39 MST 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465520302186",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
  keywords =     "Java-based graphical tool for drawing Feynman
                 diagrams",
}

@Article{Hickey:2020:HC,
  author =       "Rich Hickey",
  title =        "A history of {Clojure}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "71:1--71:46",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386321",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386321",
  abstract =     "Clojure was designed to be a general-purpose,
                 practical functional language, suitable for use by
                 professionals wherever its host language, e.g., Java,
                 would be. Initially designed in 2005 and released in
                 2007, Clojure is a dialect of Lisp, but is not a direct
                 descendant of any prior Lisp. It complements
                 programming with pure functions of immutable data with
                 concurrency-safe state management constructs that
                 support writing correct multithreaded programs without
                 the complexity of mutex locks.\par

                 Clojure is intentionally hosted, in that it compiles to
                 and runs on the runtime of another language, such as
                 the JVM. This is more than an implementation strategy;
                 numerous features ensure that programs written in
                 Clojure can leverage and interoperate with the
                 libraries of the host language directly and
                 efficiently.\par

                 In spite of combining two (at the time) rather
                 unpopular ideas, functional programming and Lisp,
                 Clojure has since seen adoption in industries as
                 diverse as finance, climate science, retail, databases,
                 analytics, publishing, healthcare, advertising and
                 genomics, and by consultancies and startups worldwide,
                 much to the career-altering surprise of its
                 author.\par

                 Most of the ideas in Clojure were not novel, but their
                 combination puts Clojure in a unique spot in language
                 design (functional, hosted, Lisp). This paper recounts
                 the motivation behind the initial development of
                 Clojure and the rationale for various design decisions
                 and language constructs. It then covers its evolution
                 subsequent to release and adoption.",
  acknowledgement = ack-nhfb,
  articleno =    "71",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hora:2020:CME,
  author =       "Andre Hora and Romain Robbes",
  title =        "Characteristics of method extractions in {Java}: a
                 large scale empirical study",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "25",
  number =       "3",
  pages =        "1798--1833",
  month =        may,
  year =         "2020",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-020-09809-8",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Fri Jun 19 07:35:07 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://link.springer.com/article/10.1007/s10664-020-09809-8",
  acknowledgement = ack-nhfb,
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
}

@Article{Jiang:2020:SSI,
  author =       "Lin Jiang and Junqiao Qiu and Zhijia Zhao",
  title =        "Scalable structural index construction for {JSON}
                 analytics",
  journal =      j-PROC-VLDB-ENDOWMENT,
  volume =       "14",
  number =       "4",
  pages =        "694--707",
  month =        dec,
  year =         "2020",
  CODEN =        "????",
  DOI =          "https://doi.org/10.14778/3436905.3436926",
  ISSN =         "2150-8097",
  bibdate =      "Tue Feb 23 08:32:42 MST 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/vldbe.bib",
  URL =          "https://dl.acm.org/doi/10.14778/3436905.3436926",
  abstract =     "JavaScript Object Notation (JSON) and its variants
                 have gained great popularity in recent years.
                 Unfortunately, the performance of their analytics is
                 often dragged down by the expensive JSON parsing. To
                 address this, recent work has shown that building
                 \ldots{}",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the VLDB Endowment",
  journal-URL =  "https://dl.acm.org/loi/pvldb",
}

@Article{Karim:2020:PID,
  author =       "R. Karim and F. Tip and A. {Soch rkov{\'a}} and K.
                 Sen",
  title =        "Platform-Independent Dynamic Taint Analysis for
                 {JavaScript}",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "46",
  number =       "12",
  pages =        "1364--1379",
  month =        dec,
  year =         "2020",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2018.2878020",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Fri Dec 18 09:01:37 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{King:2020:HGP,
  author =       "Paul King",
  title =        "A history of the {Groovy} programming language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "76:1--76:53",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386326",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386326",
  abstract =     "This paper describes the history of the Groovy
                 programming language. At the time of Groovy's
                 inception, Java was a dominant programming language
                 with a wealth of useful libraries. Despite this, it was
                 perceived by some to be evolving slowing and to have
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "76",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Michail:2020:JJL,
  author =       "Dimitrios Michail and Joris Kinable and Barak Naveh
                 and John V. Sichi",
  title =        "{JGraphT} --- a {Java} Library for Graph Data
                 Structures and Algorithms",
  journal =      j-TOMS,
  volume =       "46",
  number =       "2",
  pages =        "16:1--16:29",
  month =        jun,
  year =         "2020",
  CODEN =        "ACMSCU",
  DOI =          "https://doi.org/10.1145/3381449",
  ISSN =         "0098-3500 (print), 1557-7295 (electronic)",
  ISSN-L =       "0098-3500",
  bibdate =      "Fri Jun 12 07:37:53 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/toms.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3381449",
  abstract =     "Mathematical software and graph-theoretical
                 algorithmic packages to efficiently model, analyze, and
                 query graphs are crucial in an era where large-scale
                 spatial, societal, and economic network data are
                 abundantly available. One such package is JGraphT,
                 programming library that contains very efficient and
                 generic graph data structures along with a large
                 collection of state-of-the-art algorithms. The library
                 is written in Java with stability, interoperability,
                 and performance in mind. A distinctive feature of this
                 library is its ability to model vertices and edges as
                 arbitrary objects, thereby permitting natural
                 representations of many common networks, including
                 transportation, social, and biological networks.
                 Besides classic graph algorithms such as shortest-paths
                 and spanning-tree algorithms, the library contains
                 numerous advanced algorithms: graph and subgraph
                 isomorphism, matching and flow problems, approximation
                 algorithms for NP-hard problems such as independent set
                 and the traveling salesman problem, and several more
                 exotic algorithms such as Berge graph detection. Due to
                 its versatility and generic design, JGraphT is
                 currently used in large-scale commercial products, as
                 well as noncommercial and academic research
                 projects.\par

                 In this work, we describe in detail the design and
                 underlying structure of the library, and discuss its
                 most important features and algorithms. A computational
                 study is conducted to evaluate the performance of
                 JGraphT versus several similar libraries. Experiments
                 on a large number of graphs over a variety of popular
                 algorithms show that JGraphT is highly competitive with
                 other established libraries such as NetworkX or the
                 BGL.",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "ACM Transactions on Mathematical Software (TOMS)",
  journal-URL =  "https://dl.acm.org/loi/toms",
}

@Article{Moller:2020:DLJ,
  author =       "Anders M{\o}ller and Benjamin Barslev Nielsen and
                 Martin Toldam Torp",
  title =        "Detecting locations in {JavaScript} programs affected
                 by breaking library changes",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "187:1--187:25",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428255",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428255",
  abstract =     "JavaScript libraries are widely used and evolve
                 rapidly. When adapting client code to non-backwards
                 compatible changes in libraries, a major challenge is
                 how to locate affected API uses in client code, which
                 is currently a difficult manual task. In this
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "187",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Moller:2020:EAO,
  author =       "Anders M{\o}ller and Oskar Haarklou Veileborg",
  title =        "Eliminating abstraction overhead of {Java} stream
                 pipelines using ahead-of-time program optimization",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "168:1--168:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428236",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428236",
  abstract =     "Java 8 introduced streams that allow developers to
                 work with collections of data using functional-style
                 operations. Streams are often used in pipelines of
                 operations for processing the data elements, which
                 leads to concise and elegant program code. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "168",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Nie:2020:UEI,
  author =       "Pengyu Nie and Marinela Parovic and Zhiqiang Zang and
                 Sarfraz Khurshid and Aleksandar Milicevic and Milos
                 Gligoric",
  title =        "Unifying execution of imperative generators and
                 declarative specifications",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "217:1--217:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428285",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428285",
  abstract =     "We present Deuterium---a framework for implementing
                 Java methods as executable contracts. Deuterium
                 introduces a novel, type-safe way to write method
                 contracts entirely in Java, as a combination of
                 imperative generators and declarative specifications
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "217",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ortin:2020:HTS,
  author =       "Francisco Ortin and Oscar Rodriguez-Prieto and Nicolas
                 Pascual and Miguel Garcia",
  title =        "Heterogeneous tree structure classification to label
                 {Java} programmers according to their expertise level",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "105",
  number =       "??",
  pages =        "380--394",
  month =        apr,
  year =         "2020",
  CODEN =        "FGSEVI",
  DOI =          "https://doi.org/10.1016/j.future.2019.12.016",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Mon Feb 10 12:55:07 MST 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/futgencompsys.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167739X1931516X",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}

@Article{Perez:2020:OPN,
  author =       "Taciano D. Perez and Marcelo V. Neves and Diego
                 Medaglia and Pedro H. G. Monteiro and C{\'e}sar A. F.
                 {De Rose}",
  title =        "Orthogonal persistence in nonvolatile memory
                 architectures: a persistent heap design and its
                 implementation for a {Java Virtual Machine}",
  journal =      j-SPE,
  volume =       "50",
  number =       "4",
  pages =        "368--387",
  month =        apr,
  year =         "2020",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.2781",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Aug 14 11:05:22 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/spe.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "17 December 2019",
}

@Article{Robillard:2020:LLW,
  author =       "M. P. Robillard and K. Kutschera",
  title =        "Lessons Learned While Migrating From {Swing} to
                 {JavaFX}",
  journal =      j-IEEE-SOFTWARE,
  volume =       "37",
  number =       "3",
  pages =        "78--85",
  month =        may # "\slash " # jun,
  year =         "2020",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 1937-4194 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Wed Jun 3 14:56:06 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeesoft.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Thome:2020:IAE,
  author =       "J. Thom{\'e} and L. K. Shar and D. Bianculli and L.
                 Briand",
  title =        "An Integrated Approach for Effective Injection
                 Vulnerability Analysis of {Web} Applications Through
                 Security Slicing and Hybrid Constraint Solving",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "46",
  number =       "2",
  pages =        "163--195",
  month =        feb,
  year =         "2020",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2018.2844343",
  ISSN =         "2326-3881",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Mar 05 14:23:20 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
  keywords =     "Benchmark testing; constraint solving; Explosions;
                 Java; Reliability; search-based software engineering;
                 Security; static analysis; Static analysis; Tools;
                 Vulnerability detection",
}

@Article{Tomasdottir:2020:AJL,
  author =       "K. F. T{\'o}masd{\'o}ttir and M. Aniche and A. {Van
                 Deursen}",
  title =        "The Adoption of {JavaScript} Linters in Practice: A
                 Case Study on {ESLint}",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "46",
  number =       "8",
  pages =        "863--891",
  year =         "2020",
  CODEN =        "IESEDJ",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Sep 17 07:36:32 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Wirfs-Brock:2020:JFY,
  author =       "Allen Wirfs-Brock and Brendan Eich",
  title =        "{JavaScript}: the first 20 years",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "77:1--77:189",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386327",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386327",
  abstract =     "How a sidekick scripting language for Java, created at
                 Netscape in a ten-day hack, ships first as a de facto
                 Web standard and eventually becomes the world's most
                 widely used programming language. This paper tells the
                 story of the creation, design, evolution, and
                 standardization of the JavaScript language over the
                 period of 1995--2015. But the story is not only about
                 the technical details of the language. It is also the
                 story of how people and organizations competed and
                 collaborated to shape the JavaScript language which
                 dominates the Web of 2020.",
  acknowledgement = ack-nhfb,
  articleno =    "77",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yuan:2020:AAR,
  author =       "Y. Yuan and W. Banzhaf",
  title =        "{ARJA}: Automated Repair of {Java} Programs via
                 Multi-Objective Genetic Programming",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "46",
  number =       "10",
  pages =        "1040--1067",
  month =        oct,
  year =         "2020",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2018.2874648",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Fri Dec 18 09:01:37 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Zhou:2020:ADR,
  author =       "Y. Zhou and C. Wang and X. Yan and T. Chen and S.
                 Panichella and H. Gall",
  title =        "Automatic Detection and Repair Recommendation of
                 Directive Defects in {Java API} Documentation",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "46",
  number =       "9",
  pages =        "1004--1023",
  month =        sep,
  year =         "2020",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.2018.2872971",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Fri Dec 18 09:01:37 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Zhuo:2020:TEP,
  author =       "Xilong Zhuo and Chenyi Zhang",
  title =        "{TFA}: an efficient and precise virtual method call
                 resolution for {Java}",
  journal =      j-FORM-ASP-COMPUT,
  volume =       "32",
  number =       "4--6",
  pages =        "395--416",
  month =        nov,
  year =         "2020",
  CODEN =        "FACME5",
  DOI =          "https://doi.org/10.1007/s00165-020-00518-z",
  ISSN =         "0934-5043 (print), 1433-299X (electronic)",
  ISSN-L =       "0934-5043",
  bibdate =      "Tue Mar 30 14:36:49 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/formaspcomput.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "https://link.springer.com/article/10.1007/s00165-020-00518-z",
  acknowledgement = ack-nhfb,
  fjournal =     "Formal Aspects of Computing",
  journal-URL =  "http://link.springer.com/journal/165",
  online-date =  "Published: 06 October 2020 Pages: 395 - 416",
}

@Article{Huang:2021:JMJ,
  author =       "Yunhua Huang and Tao Li and Lijia Zhang and Beibei Li
                 and Xiaojie Liu",
  title =        "{JSContana}: Malicious {JavaScript} detection using
                 adaptable context analysis and key feature extraction",
  journal =      j-COMPUT-SECUR,
  volume =       "104",
  number =       "??",
  pages =        "Article 102218",
  month =        may,
  year =         "2021",
  CODEN =        "CPSEDU",
  DOI =          "https://doi.org/10.1016/j.cose.2021.102218",
  ISSN =         "0167-4048 (print), 1872-6208 (electronic)",
  ISSN-L =       "0167-4048",
  bibdate =      "Wed Mar 10 08:25:10 MST 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/computsecur2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167404821000420",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers \& Security",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01674048",
}

@Article{Jung:2021:TPI,
  author =       "Kumseok Jung and Julien Gascon-Samson and Shivanshu
                 Goyal and Armin Rezaiean-Asel and Karthik
                 Pattabiraman",
  title =        "{ThingsMigrate}: Platform-independent migration of
                 stateful {JavaScript Internet of Things} applications",
  journal =      j-SPE,
  volume =       "51",
  number =       "1",
  pages =        "117--155",
  month =        jan,
  year =         "2021",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.2936",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Feb 26 08:59:24 MST 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "05 December 2020",
}

@Article{Moraes:2021:OHM,
  author =       "Jo{\~a}o Pedro Moraes and Ivanilton Polato and Igor
                 Wiese and Filipe Saraiva and Gustavo Pinto",
  title =        "From one to hundreds: multi-licensing in the
                 {JavaScript} ecosystem",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "26",
  number =       "3",
  pages =        "??--??",
  month =        may,
  year =         "2021",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-020-09936-2",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Tue Mar 30 15:09:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "http://link.springer.com/article/10.1007/s10664-020-09936-2",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
}

@Article{Murawski:2021:GSI,
  author =       "Andrzej S. Murawski and Nikos Tzevelekos",
  title =        "Game Semantics for Interface Middleweight {Java}",
  journal =      j-J-ACM,
  volume =       "68",
  number =       "1",
  pages =        "4:1--4:51",
  month =        feb,
  year =         "2021",
  CODEN =        "JACOAH",
  DOI =          "https://doi.org/10.1145/3428676",
  ISSN =         "0004-5411 (print), 1557-735X (electronic)",
  ISSN-L =       "0004-5411",
  bibdate =      "Tue Feb 23 11:03:25 MST 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jacm.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2020.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428676",
  abstract =     "We consider an object calculus in which open terms
                 interact with the environment through interfaces. The
                 calculus is intended to capture the essence of
                 contextual interactions of Middleweight Java code.
                 Using game semantics, we provide fully abstract
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Journal of the ACM",
  journal-URL =  "https://dl.acm.org/loi/jacm",
}

@Article{P:2021:FSM,
  author =       "Jevitha K. P. and Swaminathan Jayaraman and Bharat
                 Jayaraman and Sethumadhavan M",
  title =        "Finite-state model extraction and visualization from
                 {Java} program execution",
  journal =      j-SPE,
  volume =       "51",
  number =       "2",
  pages =        "409--437",
  month =        feb,
  year =         "2021",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.2910",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Feb 26 08:59:24 MST 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "11 October 2020",
}