@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
}"
}
@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/|"}
@String{inst-CSC = "Center for Scientific Computing, Department
of Mathematics, University of Utah"}
@String{inst-CSC:adr = "Salt Lake City, UT 84112, USA"}
@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-ALGORITHMS-BASEL = "Algorithms ({Basel})"}
@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-INFO-SEC-APPL = "Journal of Information Security and
Applications (JISA)"}
@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"}
@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"}
@String{ser-LNCS = "Lecture Notes in Computer Science"}
@String{ser-LNCSE = "Lecture Notes in Computational
Science and Engineering"}
@Article{Aman:2020:ESA,
author = "Hirohisa Aman and Sousuke Amasaki and Tomoyuki
Yokogawa and Minoru Kawahara",
title = "Empirical study of abnormality in local variables and
its application to fault-prone {Java} method analysis",
journal = j-J-SOFTW-EVOL-PROC,
volume = "32",
number = "4",
pages = "e2220:1--e2220:??",
month = apr,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1002/smr.2220",
ISSN = "2047-7473 (print), 2047-7481 (electronic)",
ISSN-L = "2047-7473",
bibdate = "Mon May 17 08:20:28 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib",
acknowledgement = ack-nhfb,
ajournal = "",
fjournal = "Journal of Software: Evolution and Process",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
onlinedate = "24 October 2019",
}
@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{Capiluppi:2020:EMD,
author = "Andrea Capiluppi and Nemitari Ajienka and Steve
Counsell",
title = "The effect of multiple developers on structural
attributes: a study based on {Java} software",
journal = j-J-SYST-SOFTW,
volume = "167",
number = "??",
pages = "??--??",
month = sep,
year = "2020",
CODEN = "JSSODM",
DOI = "https://doi.org/10.1016/j.jss.2020.110593",
ISSN = "0164-1212 (print), 1873-1228 (electronic)",
ISSN-L = "0164-1212",
bibdate = "Mon May 24 20:13:53 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsystsoftw2020.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S016412122030073X",
acknowledgement = ack-nhfb,
articleno = "110593",
fjournal = "Journal of Systems and Software",
journal-URL = "http://www.sciencedirect.com/science/journal/01641212",
}
@Article{Capiluppi:2020:LCC,
author = "Andrea Capiluppi and Nemitari Ajienka",
title = "Lexical content as a cooperation aide: a study based
on {Java} software",
journal = j-J-SYST-SOFTW,
volume = "164",
number = "??",
pages = "??--??",
month = jun,
year = "2020",
CODEN = "JSSODM",
DOI = "https://doi.org/10.1016/j.jss.2020.110543",
ISSN = "0164-1212 (print), 1873-1228 (electronic)",
ISSN-L = "0164-1212",
bibdate = "Mon May 24 20:13:52 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsystsoftw2020.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S016412122030025X",
acknowledgement = ack-nhfb,
articleno = "110543",
fjournal = "Journal of Systems and Software",
journal-URL = "http://www.sciencedirect.com/science/journal/01641212",
}
@Article{Cirani:2020:ZNC,
author = "Simone Cirani and Marco Picone and Luca Veltri and
Luca Zaccomer and Francesco Zanichelli",
title = "\pkg{ZWT}: a new cross-platform graphical interface
framework for {Java} applications",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100599",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100599",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303125",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Daoud:2020:MAJ,
author = "Houssem Daoud and Michel Dagenais",
title = "Multilevel analysis of the {Java Virtual Machine}
based on kernel and userspace traces",
journal = j-J-SYST-SOFTW,
volume = "167",
number = "??",
pages = "??--??",
month = sep,
year = "2020",
CODEN = "JSSODM",
DOI = "https://doi.org/10.1016/j.jss.2020.110589",
ISSN = "0164-1212 (print), 1873-1228 (electronic)",
ISSN-L = "0164-1212",
bibdate = "Mon May 24 20:13:53 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsystsoftw2020.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0164121220300698",
acknowledgement = ack-nhfb,
articleno = "110589",
fjournal = "Journal of Systems and Software",
journal-URL = "http://www.sciencedirect.com/science/journal/01641212",
}
@Article{Darabkh:2020:JIC,
author = "Khalid A. Darabkh and Oswa M. Amro and Raed T. Al-Zubi
and Haythem Bany Salameh and Ramzi Saifan",
title = "{JavaSim-IBFD-CRNs}: Novel {Java} simulator for
in-band full-duplex cognitive radio networks over
{Internet of Things} environment",
journal = j-J-NETW-COMPUT-APPL,
volume = "172",
number = "??",
pages = "??--??",
day = "15",
month = dec,
year = "2020",
CODEN = "JNCAF3",
DOI = "https://doi.org/10.1016/j.jnca.2020.102833",
ISSN = "1084-8045 (print), 1095-8592 (electronic)",
ISSN-L = "1084-8045",
bibdate = "Mon May 24 15:12:40 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S1084804520303039",
acknowledgement = ack-nhfb,
articleno = "102833",
fjournal = "Journal of Network and Computer Applications",
journal-URL = "http://www.sciencedirect.com/science/journal/10848045",
}
@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{Feitosa:2020:TDA,
author = "Samuel Feitosa and Rodrigo Ribeiro and Andre {Du
Bois}",
title = "A type-directed algorithm to generate random
well-typed {Java 8} programs",
journal = j-SCI-COMPUT-PROGRAM,
volume = "196",
number = "??",
pages = "??--??",
day = "15",
month = sep,
year = "2020",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2020.102494",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed May 26 13:33:22 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642320301039",
acknowledgement = ack-nhfb,
articleno = "102494",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Ferrara:2020:CJB,
author = "Pietro Ferrara and Agostino Cortesi and Fausto Spoto",
title = "From {CIL} to {Java} bytecode: {Semantics}-based
translation for static analysis leveraging",
journal = j-SCI-COMPUT-PROGRAM,
volume = "191",
number = "??",
pages = "??--??",
day = "1",
month = jun,
year = "2020",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2020.102392",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed May 26 13:33:20 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642320300034",
acknowledgement = ack-nhfb,
articleno = "102392",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@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{Gavidia-Calderon:2020:IJF,
author = "Carlos Gavidia-Calderon and C{\'e}sar Beltr{\'a}n
Casta{\~n}on",
title = "\pkg{Isula}: a {Java} framework for ant colony
algorithms",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100400",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100400",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019300639",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@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{Harrand:2020:JDD,
author = "Nicolas Harrand and C{\'e}sar Soto-Valero and Martin
Monperrus and Benoit Baudry",
title = "{Java} decompiler diversity and its application to
meta-decompilation",
journal = j-J-SYST-SOFTW,
volume = "168",
number = "??",
pages = "??--??",
month = oct,
year = "2020",
CODEN = "JSSODM",
DOI = "https://doi.org/10.1016/j.jss.2020.110645",
ISSN = "0164-1212 (print), 1873-1228 (electronic)",
ISSN-L = "0164-1212",
bibdate = "Mon May 24 20:13:54 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsystsoftw2020.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0164121220301151",
acknowledgement = ack-nhfb,
articleno = "110645",
fjournal = "Journal of Systems and Software",
journal-URL = "http://www.sciencedirect.com/science/journal/01641212",
}
@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{Higo:2020:TJM,
author = "Yoshiki Higo and Shinpei Hayashi and Shinji Kusumoto",
title = "On tracking {Java} methods with {Git} mechanisms",
journal = j-J-SYST-SOFTW,
volume = "165",
number = "??",
pages = "??--??",
month = jul,
year = "2020",
CODEN = "JSSODM",
DOI = "https://doi.org/10.1016/j.jss.2020.110571",
ISSN = "0164-1212 (print), 1873-1228 (electronic)",
ISSN-L = "0164-1212",
bibdate = "Mon May 24 20:13:53 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsystsoftw2020.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0164121220300522",
acknowledgement = ack-nhfb,
articleno = "110571",
fjournal = "Journal of Systems and Software",
journal-URL = "http://www.sciencedirect.com/science/journal/01641212",
}
@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{Khatchadourian:2020:SAR,
author = "Raffi Khatchadourian and Yiming Tang and Mehdi
Bagherzadeh",
title = "Safe automated refactoring for intelligent
parallelization of {Java 8} streams",
journal = j-SCI-COMPUT-PROGRAM,
volume = "195",
number = "??",
pages = "??--??",
day = "1",
month = sep,
year = "2020",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2020.102476",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed May 26 13:33:22 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642320300861",
acknowledgement = ack-nhfb,
articleno = "102476",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@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{Pinheiro:2020:MCA,
author = "Pedro Pinheiro and Jos{\'e} Carlos Viana and
M{\'a}rcio Ribeiro and Leo Fernandes and Fabiano
Ferrari and Rohit Gheyi and Baldoino Fonseca",
title = "Mutating code annotations: an empirical evaluation on
{Java} and {C#} programs",
journal = j-SCI-COMPUT-PROGRAM,
volume = "191",
number = "??",
pages = "??--??",
day = "1",
month = jun,
year = "2020",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2020.102418",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed May 26 13:33:20 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib;
http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642320300290",
acknowledgement = ack-nhfb,
articleno = "102418",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@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",
}
@InProceedings{Romano:2020:WVT,
author = "A. Romano and W. Wang",
booktitle = "{2020 IEEE\slash ACM 42nd International Conference on
Software Engineering: Companion Proceedings
(ICSE-Companion)}",
title = "{WasmView}: Visual Testing for {WebAssembly}
Applications",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "13--16",
year = "2020",
bibdate = "Thu Apr 8 06:41:17 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "https://ieeexplore.ieee.org/document/9270402",
abstract = "WebAssembly is the newest language to arrive on the
web. It features a binary code format to serve as a
compilation target for native languages such as C, C++,
and Rust and allows native applications to be ported
for web usage. In the current implementation,
WebAssembly requires interaction with JavaScript at a
minimum to initialize and additionally to interact with
Web APIs. As a result, understanding the function calls
between WebAssembly and JavaScript is crucial for
testing, debugging, and maintaining applications
utilizing this new language. To this end, we develop a
tool, WasmView, to visualize function calls made
between WebAssembly and JavaScript in a web
application. WasmView also records the stack traces and
screenshots of applications. This tool can help in
supporting visual testing for interactive applications
and assisting refactoring for code updates. The demo
video for WasmView can be viewed at
https://youtu.be/kjKxL7L7zxI and the source code can be
found at
https://github.com/wasmview/wasmview.github.io.",
acknowledgement = ack-nhfb,
keywords = "Rust programming language",
}
@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{Trautsch:2020:UIT,
author = "Fabian Trautsch and Steffen Herbold and Jens
Grabowski",
title = "Are unit and integration test definitions still valid
for modern {Java} projects? {An} empirical study on
open-source projects",
journal = j-J-SYST-SOFTW,
volume = "159",
number = "??",
pages = "??--??",
month = jan,
year = "2020",
CODEN = "JSSODM",
DOI = "https://doi.org/10.1016/j.jss.2019.110421",
ISSN = "0164-1212 (print), 1873-1228 (electronic)",
ISSN-L = "0164-1212",
bibdate = "Mon May 24 20:13:50 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsystsoftw2020.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0164121219301955",
acknowledgement = ack-nhfb,
articleno = "110421",
fjournal = "Journal of Systems and Software",
journal-URL = "http://www.sciencedirect.com/science/journal/01641212",
}
@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{Ciomek:2021:PJL,
author = "Krzysztof Ciomek and Mi{\l}osz Kadzi{\'n}ski",
title = "\pkg{Polyrun}: a {Java} library for sampling from the
bounded convex polytopes",
journal = j-SOFTWAREX,
volume = "13",
number = "??",
pages = "Article 100659",
month = jan,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100659",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 30 07:51:12 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000042",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Hermans:2021:TTE,
author = "Felienne Hermans",
title = "Two Things Every {Java} Developer Should Know",
journal = j-IEEE-SOFTWARE,
volume = "38",
number = "6",
pages = "110--112",
month = nov # "\slash " # dec,
year = "2021",
CODEN = "IESOEG",
DOI = "https://doi.org/10.1109/MS.2021.3105875",
ISSN = "0740-7459 (print), 1937-4194 (electronic)",
ISSN-L = "0740-7459",
bibdate = "Thu Apr 7 14:13:47 2022",
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{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{Liu:2021:SDC,
author = "Lun Liu and Todd Millstein and Madanlal Musuvathi",
title = "Safe-by-default Concurrency for Modern Programming
Languages",
journal = j-TOPLAS,
volume = "43",
number = "3",
pages = "10:1--10:50",
month = sep,
year = "2021",
CODEN = "ATPSDT",
DOI = "https://doi.org/10.1145/3462206",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue Sep 14 07:20:02 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/julia.bib;
http://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "https://dl.acm.org/doi/10.1145/3462206",
abstract = "Modern ``safe'' programming languages follow a design
principle that we call safety by default and
performance by choice. By default, these languages
enforce important programming abstractions, such as
memory and type safety, but they also provide
mechanisms that allow expert programmers to explicitly
trade some safety guarantees for increased performance.
However, these same languages have adopted the inverse
design principle in their support for multithreading.
By default, multithreaded programs violate important
abstractions, such as program order and atomic access
to individual memory locations to admit compiler and
hardware optimizations that would otherwise need to be
restricted. Not only does this approach conflict with
the design philosophy of safe languages, but very
little is known about the practical performance cost of
providing a stronger default semantics.
In this article, we propose a safe-by-default and
performance-by-choice multithreading semantics for safe
languages, which we call volatile-by-default. Under
this semantics, programs have sequential consistency
(SC) by default, which is the natural ``interleaving''
semantics of threads. However, the volatile-by-default
design also includes annotations that allow expert
programmers to avoid the associated overheads in
performance-critical code. We describe the design,
implementation, optimization, and evaluation of the
volatile-by-default semantics for two different safe
languages: Java and Julia. First, we present
VBD-HotSpot and VBDA-HotSpot, modifications of Oracle's
HotSpot JVM that enforce the volatile-by-default
semantics on Intel x86-64 hardware and ARM-v8 hardware.
Second, we present SC-Julia, a modification to the
just-in-time compiler within the standard Julia
implementation that provides best-effort enforcement of
the volatile-by-default semantics on x86-64 hardware
for the purpose of performance evaluation. We also
detail two different implementation techniques: a
baseline approach that simply reuses existing
mechanisms in the compilers for handling atomic
accesses, and a speculative approach that avoids the
overhead of enforcing the volatile-by-default semantics
until there is the possibility of an SC violation. Our
results show that the cost of enforcing SC is
significant but arguably still acceptable for some use
cases today. Further, we demonstrate that compiler
optimizations as well as programmer annotations can
reduce the overhead considerably.",
acknowledgement = ack-nhfb,
articleno = "10",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "https://dl.acm.org/loi/toplas",
}
@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{Moseler:2021:DFC,
author = "Oliver Moseler and Felix Lemmer and Sebastian Baltes
and Stephan Diehl",
title = "On the diversity and frequency of code related to
mathematical formulas in real-world {Java} projects",
journal = j-J-SYST-SOFTW,
volume = "172",
number = "??",
pages = "??--??",
month = feb,
year = "2021",
CODEN = "JSSODM",
DOI = "https://doi.org/10.1016/j.jss.2020.110863",
ISSN = "0164-1212 (print), 1873-1228 (electronic)",
ISSN-L = "0164-1212",
bibdate = "Mon May 24 20:13:55 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsystsoftw2020.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0164121220302533",
acknowledgement = ack-nhfb,
articleno = "110863",
fjournal = "Journal of Systems and Software",
journal-URL = "http://www.sciencedirect.com/science/journal/01641212",
}
@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{Ntantogian:2021:NNJ,
author = "Christoforos Ntantogian and Panagiotis Bountakas and
Dimitris Antonaropoulos and Constantinos Patsakis and
Christos Xenakis",
title = "{NodeXP}: {NOde.js} server-side {JavaScript} injection
vulnerability {DEtection} and {eXPloitation}",
journal = j-J-INFO-SEC-APPL,
volume = "58",
number = "??",
pages = "??--??",
month = may,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jisa.2021.102752",
ISSN = "2214-2126",
ISSN-L = "2214-2126",
bibdate = "Sun May 8 11:59:35 MDT 2022",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jinfosecappl.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S221421262100003X",
acknowledgement = ack-nhfb,
ajournal = "J. Info. Sec. Appl.",
articleno = "102752",
fjournal = "Journal of Information Security and Applications
(JISA)",
journal-URL = "http://www.sciencedirect.com/science/journal/22142126",
}
@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",
}
@Article{Shimari:2021:NNO,
author = "Kazumasa Shimari and Takashi Ishio and Tetsuya Kanda
and Naoto Ishida and Katsuro Inoue",
title = "{NOD4J}: Near-omniscient debugging tool for {Java}
using size-limited execution trace",
journal = j-SCI-COMPUT-PROGRAM,
volume = "206",
number = "??",
pages = "??--??",
day = "1",
month = jun,
year = "2021",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2021.102630",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed May 26 13:33:26 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S016764232100023X",
acknowledgement = ack-nhfb,
articleno = "102630",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Sultana:2021:USM,
author = "Kazi Zakia Sultana and Vaibhav Anu and Tai-Yin Chong",
title = "Using software metrics for predicting vulnerable
classes and methods in {Java} projects: a machine
learning approach",
journal = j-J-SOFTW-EVOL-PROC,
volume = "33",
number = "3",
pages = "e2303:1--e2303:??",
month = mar,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1002/smr.2303",
ISSN = "2047-7473 (print), 2047-7481 (electronic)",
ISSN-L = "2047-7473",
bibdate = "Mon May 17 08:20:32 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib",
acknowledgement = ack-nhfb,
ajournal = "",
fjournal = "Journal of Software: Evolution and Process",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
onlinedate = "07 August 2020",
}
@Article{Yu:2021:CUE,
author = "Zhongxing Yu and Chenggang Bai and Lionel Seinturier
and Martin Monperrus",
title = "Characterizing the Usage, Evolution and Impact of
{Java} Annotations in Practice",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "47",
number = "5",
pages = "969--986",
year = "2021",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2019.2910516",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu May 20 08:34:04 2021",
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{Zerouali:2021:UJP,
author = "Ahmed Zerouali and Tom Mens and Coen {De Roover}",
title = "On the usage of {\em {JavaScript}}, {{\em Python}} and
{{\em Ruby}} packages in {Docker Hub} images",
journal = j-SCI-COMPUT-PROGRAM,
volume = "207",
number = "??",
pages = "??--??",
day = "1",
month = jul,
year = "2021",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2021.102653",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed May 26 13:33:26 MDT 2021",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642321000460",
acknowledgement = ack-nhfb,
articleno = "102653",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Chen:2022:SSC,
author = "Taolue Chen and Alejandro Flores-Lamas and Matthew
Hague and Zhilei Han and Denghang Hu and Shuanglong Kan
and Anthony W. Lin and Philipp R{\"u}mmer and Zhilin
Wu",
title = "Solving string constraints with Regex-dependent
functions through transducers with priorities and
variables",
journal = j-PACMPL,
volume = "6",
number = "POPL",
pages = "45:1--45:31",
month = jan,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1145/3498707",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Thu May 26 06:32:48 MDT 2022",
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/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3498707",
abstract = "Regular expressions are a classical concept in formal
language theory. Regular expressions in programming
languages (RegEx) such as JavaScript, feature
non-standard semantics of operators (e.g. greedy/lazy
Kleene star), as well as additional features \ldots{}",
acknowledgement = ack-nhfb,
articleno = "45",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cobbs:2022:PPW,
author = "Archie L. Cobbs",
title = "Persistence Programming: Are we doing this right?",
journal = j-QUEUE,
volume = "20",
number = "1",
pages = "24--39",
month = jan,
year = "2022",
CODEN = "AQCUAE",
DOI = "https://doi.org/10.1145/3526210",
ISSN = "1542-7730 (print), 1542-7749 (electronic)",
ISSN-L = "1542-7730",
bibdate = "Wed Apr 20 08:20:07 MDT 2022",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/queue.bib",
URL = "https://dl.acm.org/doi/10.1145/3526210",
abstract = "A few years ago, my team was working on a commercial
Java development project for Enhanced 911 (E911)
emergency call centers. We were frustrated by trying to
meet the data-storage requirements of this project
using the traditional model of Java over an SQL
database. After some reflection about the particular
requirements (and nonrequirements) of the project, we
took a deep breath and decided to create our own custom
persistence layer from scratch.",
acknowledgement = ack-nhfb,
fjournal = "ACM Queue: Tomorrow's Computing Today",
journal-URL = "https://dl.acm.org/loi/queue",
}
@Article{DaSilva:2022:BCW,
author = "L{\'e}uson {Da Silva} and Paulo Borba and Arthur
Pires",
title = "Build conflicts in the wild",
journal = j-J-SOFTW-EVOL-PROC,
volume = "34",
number = "4",
pages = "e2441:1--e2441:??",
month = apr,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1002/smr.2441",
ISSN = "2047-7473 (print), 2047-7481 (electronic)",
ISSN-L = "2047-7473",
bibdate = "Wed Apr 13 09:42:14 MDT 2022",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Softw. Evol. Proc.",
fjournal = "Journal of Software: Evolution and Process",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
keywords = "open-source projects in Java",
onlinedate = "07 March 2022",
}
@Article{Fang:2022:JMJ,
author = "Yong Fang and Chaoyi Huang and Minchuan Zeng and
Zhiying Zhao and Cheng Huang",
title = "{JStrong}: Malicious {JavaScript} detection based on
code semantic representation and graph neural network",
journal = j-COMPUT-SECUR,
volume = "118",
number = "??",
pages = "Article 102715",
month = jul,
year = "2022",
CODEN = "CPSEDU",
DOI = "https://doi.org/10.1016/j.cose.2022.102715",
ISSN = "0167-4048 (print), 1872-6208 (electronic)",
ISSN-L = "0167-4048",
bibdate = "Mon May 23 10:57:57 MDT 2022",
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/S0167404822001110",
acknowledgement = ack-nhfb,
fjournal = "Computers \& Security",
journal-URL = "http://www.sciencedirect.com/science/journal/01674048",
}
@Book{Feigenbaum:2022:GJP,
author = "Barry Feigenbaum",
title = "{Go} for {Java} Programmers Learn the {Google Go}
Programming Language",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxxv + 582 + 61 + 1",
year = "2022",
DOI = "https://doi.org/10.1007/978-1-4842-7199-5",
ISBN = "1-4842-7199-8",
ISBN-13 = "978-1-4842-7199-5",
LCCN = "QA76.73.G63 F45 2022",
bibdate = "Wed Feb 16 12:54:41 MST 2022",
bibsource = "fsz3950.oclc.org:210/WorldCat;
http://www.math.utah.edu/pub/tex/bib/go.bib;
http://www.math.utah.edu/pub/tex/bib/java2020.bib",
abstract = "Get an in-depth introduction to the Go programming
language and its associated standard runtime libraries.
This book is targeted towards programmers that already
know the Java programming language and uses that Java
knowledge to direct the learning of Go. You will get a
deep understanding of the Go language and obtain a good
introduction to the extensive Go standard libraries.
This book teaches Go through clear descriptions of Go
features, contrasting them with similar Java features
and via providing extensive code examples. After
reading this book you will be knowledgeable enough
about Go and its libraries to begin doing effective
programming using the Go language. Go for Java
Programmers is structured more like a tutorial than a
reference document. It covers key features of Go, but
not every little detail as a reference might. Its goal
is to get you competent enough in Go and its runtime
that you can begin to effectively write Go programs.
What You Will Learn Examine the key Go Runtime
libraries and how they compare to Java libraries See
when it is appropriate to use the Go language instead
of the Java language Read and understand programs
written in Go Write many programs in Go Determine when
Go is an appropriate language to develop applications
in Discover how the Go and Java languages and
development experience compare and contrast Who This
Book Is For Primarily existing professional Java
programmers or students that already know something
about Java. A basic understanding of Java is expected.
Some basic programming experience with imperative
languages is expected.",
acknowledgement = ack-nhfb,
subject = "Go (Computer program language); Java (Computer program
language)",
tableofcontents = "Intro \\
Table of Contents \\
About the Author \\
About the Technical Reviewer \\
Acknowledgments \\
Introduction \\
Assessments \\
Part I: First Look at Go \\
1: A Brief Look at Go vs. Java \\
Go Is a Compiled (vs. Interpreted, As Java Is) Language
\\
Go and Java Share Similar Program Structure \\
Go and Java Have Some Code Style Differences That
Influence How Code Is Structured \\
Both Go and Java Are Procedural Languages \\
Java Is an Object-Oriented (OO) Language, While Go Is
Not Fully OO \\
Java Is a Highly Functional Language, Go Is Less So \\
Java Is a Highly Declarative Language, Go Is Less So \\
Many Java Features Are Annotation Driven \\
Go Does Not Support Exceptions \\
Both Java and Go Use Managed Memory (Garbage
Collectors) \\
Go and Java Both Support Concurrency but in Different
Ways \\
Go's Runtime Is Simpler Than the JRE \\
The Go Program Build Process Is Different \\
Go and Java Have Similar Release Cycles \\
2: What Java Has That Go Does Not \\
Multiple Assignments \\
Statements and Operators \\
Assert Statement \\
While and Do Statements \\
Throw Statement/Throws Clause \\
Strictfp, transient, volatile, synchronized, abstract,
static \\
Objects and Classes (OOP) and Inner Classes, Lambdas,
this, super, Explicit Constructors \\
Generic Types and Methods \\
Extensive Functional Programming Capabilities \\
Boxing of Primitive Values \\
Source Annotations \\
Multiple Visibilities \\
Overloaded/Overridden Functions \\
Formal Enums \\
Built-in Binary Data Self-Serialization \\
Concurrent Collections \\
3: A Deeper Comparison of Go and Java \\
Part II: The Go Language \\
4: Key Go Aspects \\
Simple Go Program Example \\
Go Packages \\
Go Comments \\
Go Build/Run Process \\
Go Playground \\
Go Integrated Development Environments \\
Running Go Programs \\
Building Go Programs \\
Bytecode vs. Real Code \\
Go Command-Line Tools \\
Tools Bundled in the Go Command \\
Other Tools \\
Go Runs Programs Instead of Classes \\
Go Memory Management \\
Go Identifiers \\
Go Scopes \\
Go Scopes vs. Go Source Files \\
Initializing Go Variables \\
Lifetimes of Go Identifiers \\
Go Module Summary \\
Go Assignments and Expressions \\
Text Formatting in Go \\
Goroutines \\
Issues with Concurrency \\
Go Concurrency \\
Goroutines by Example \\
5: Go Basic Features \\
Language Keywords \\
Operators and Punctuation \\
Go Operator Precedence \\
Go Built-in Functions \\
6: Go Types \\
Primitive/Built-in Types \\
Numbers \\
Characters and Strings \\
Reference vs. Pointer Types \\
Drill Down on Basic Data Types \\
Boolean Type \\
Integer Types \\
Floating-Point Types \\
When nil Can Go Wrong \\
Programmer-Defined Types \\
Arrays \\
Slices \\
Maps \\
Functions \\
Methods As Functions \\
Any Declared Type Can Have Custom Functions \\
Functions As Values \\
Structs \\
Structure Fields \\
Structure Literals \\
Nested Structures",
}
@Article{Ferreira:2022:AJF,
author = "Fabio Ferreira and Hudson Silva Borges and Marco Tulio
Valente",
title = "On the (un-)adoption of {JavaScript} front-end
frameworks",
journal = j-SPE,
volume = "52",
number = "4",
pages = "947--966",
month = apr,
year = "2022",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.3044",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Fri Apr 1 16:34:33 MDT 2022",
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 = "18 October 2021",
}
@Article{Huang:2022:CUU,
author = "Kaifeng Huang and Bihuan Chen and Yang Liu",
title = "Characterizing usages, updates and risks of
third-party libraries in {Java} projects",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "27",
number = "4",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-022-10131-8",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Tue Jun 7 16:08:33 MDT 2022",
bibsource = "http://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
http://www.math.utah.edu/pub/tex/bib/java2020.bib",
URL = "https://link.springer.com/article/10.1007/s10664-022-10131-8",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Huang:2022:HSA,
author = "Zijie Huang and Zhiqing Shao and Guisheng Fan and
Huiqun Yu and Kang Yang and Ziyi Zhou",
title = "{HBSniff}: a static analysis tool for {Java Hibernate}
object-relational mapping code smell detection",
journal = j-SCI-COMPUT-PROGRAM,
volume = "217",
number = "??",
pages = "??--??",
day = "1",
month = may,
year = "2022",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2022.102778",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed Mar 9 17:23:38 MST 2022",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642322000119",
acknowledgement = ack-nhfb,
articleno = "102778",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Kechagia:2022:EAP,
author = "Maria Kechagia and Sergey Mechtaev and Federica Sarro
and Mark Harman",
title = "Evaluating Automatic Program Repair Capabilities to
Repair {API} Misuses",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "48",
number = "7",
pages = "2658--2679",
month = jul,
year = "2022",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2021.3067156",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Jul 21 10:20:56 2022",
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{Liu:2022:SFI,
author = "Bozhen Liu and Jeff Huang",
title = "{SHARP}: fast incremental context-sensitive pointer
analysis for {Java}",
journal = j-PACMPL,
volume = "6",
number = "OOPSLA1",
pages = "88:1--88:28",
month = apr,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1145/3527332",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Thu May 26 06:32:46 MDT 2022",
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/3527332",
abstract = "We present SHARP, an incremental context-sensitive
pointer analysis algorithm that scales to real-world
large complex Java programs and can also be efficiently
parallelized. To our knowledge, SHARP is the first
algorithm to tackle context-sensitivity in \ldots{}",
acknowledgement = ack-nhfb,
articleno = "88",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mariano:2022:ATI,
author = "Benjamin Mariano and Yanju Chen and Yu Feng and Greg
Durrett and Isil Dillig",
title = "Automated transpilation of imperative to functional
code using neural-guided program synthesis",
journal = j-PACMPL,
volume = "6",
number = "OOPSLA1",
pages = "71:1--71:27",
month = apr,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1145/3527315",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Thu May 26 06:32:46 MDT 2022",
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/3527315",
abstract = "While many mainstream languages such as Java, Python,
and C\# increasingly incorporate functional APIs to
simplify programming and improve
parallelization/performance, there are no effective
techniques that can be used to automatically translate
existing \ldots{}",
acknowledgement = ack-nhfb,
articleno = "71",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Martinez:2022:WDD,
author = "Matias Martinez and Bruno Gois Mateus",
title = "Why Did Developers Migrate {Android} Applications From
{Java} to {Kotlin}?",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "48",
number = "11",
pages = "4521--4534",
month = nov,
year = "2022",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2021.3120367",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Nov 17 09:56:58 2022",
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{Ni:2022:JTD,
author = "Chao Ni and Xin Xia and David Lo and Xiaohu Yang and
Ahmed E. Hassan",
title = "Just-In-Time Defect Prediction on {JavaScript}
Projects: a Replication Study",
journal = j-TOSEM,
volume = "31",
number = "4",
pages = "76:1--76:??",
month = oct,
year = "2022",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3508479",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Wed Nov 16 08:26:42 MST 2022",
bibsource = "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
http://www.math.utah.edu/pub/tex/bib/tosem.bib",
URL = "https://dl.acm.org/doi/10.1145/3508479",
abstract = "Change-level defect prediction is widely referred to
as just-in-time (JIT) defect prediction since it
identifies a defect-inducing change at the check-in
time, and researchers have proposed many approaches
based on the language-independent change-level
\ldots{}",
acknowledgement = ack-nhfb,
articleno = "76",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "https://dl.acm.org/loi/tosem",
}
@Article{Nigro:2022:PPK,
author = "Libero Nigro",
title = "Performance of Parallel {$K$}-Means Algorithms in
{Java}",
journal = j-ALGORITHMS-BASEL,
volume = "15",
number = "4",
month = apr,
year = "2022",
CODEN = "ALGOCH",
DOI = "https://doi.org/10.3390/a15040117",
ISSN = "1999-4893 (electronic)",
ISSN-L = "1999-4893",
bibdate = "Fri Apr 22 10:29:44 MDT 2022",
bibsource = "http://www.math.utah.edu/pub/tex/bib/algorithms.bib;
http://www.math.utah.edu/pub/tex/bib/java2020.bib",
URL = "https://www.mdpi.com/1999-4893/15/4/117",
acknowledgement = ack-nhfb,
articleno = "117",
fjournal = "Algorithms (Basel)",
journal-URL = "https://www.mdpi.com/journal/algorithms",
pagecount = "??",
}
@Article{Wang:2022:WDC,
author = "Ying Wang and Rongxin Wu and Chao Wang and Ming Wen
and Yepang Liu and Shing-Chi Cheung and Hai Yu and
Chang Xu and Zhiliang Zhu",
title = "Will Dependency Conflicts Affect My Program's
Semantics?",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "48",
number = "7",
pages = "2295--2316",
month = jul,
year = "2022",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2021.3057767",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Jul 21 10:20:56 2022",
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",
}